pub struct MaskProfile {Show 17 fields
pub mask_id: String,
pub version: u16,
pub created_at: u64,
pub expires_at: u64,
pub spoof_protocol: SpoofProtocol,
pub header_template: Vec<u8>,
pub eph_pub_offset: u16,
pub eph_pub_length: u16,
pub size_distribution: SizeDistribution,
pub iat_distribution: IATDistribution,
pub padding_strategy: PaddingStrategy,
pub fsm_states: Vec<FSMState>,
pub fsm_initial_state: u16,
pub signature_vector: Vec<f32>,
pub reverse_profile: Option<Box<MaskProfile>>,
pub signature: [u8; 64],
pub header_spec: Option<HeaderSpec>,
}Expand description
Mask profile for traffic mimicry
Fields§
§mask_id: StringUnique identifier
version: u16Profile version
created_at: u64Creation timestamp
expires_at: u64Expiration timestamp
spoof_protocol: SpoofProtocolProtocol to spoof
header_template: Vec<u8>Header template bytes (static, for legacy compatibility)
eph_pub_offset: u16Offset for ephemeral public key in header
eph_pub_length: u16Length of ephemeral public key (always 32)
size_distribution: SizeDistributionPacket size distribution
iat_distribution: IATDistributionInter-arrival time distribution
padding_strategy: PaddingStrategyPadding strategy
fsm_states: Vec<FSMState>FSM states for behavioral mimicry
fsm_initial_state: u16Initial FSM state
signature_vector: Vec<f32>Neural resonance signature (64 floats)
reverse_profile: Option<Box<MaskProfile>>Reverse profile for server->client traffic
signature: [u8; 64]Ed25519 signature (64 bytes)
header_spec: Option<HeaderSpec>Dynamic header specification (Issue #30 fix) If present, clients should use this for per-packet header generation instead of the static header_template. Added in version 2, legacy clients ignore this field.
Implementations§
Source§impl MaskProfile
impl MaskProfile
Sourcepub fn verify_signature(&self, public_key: &[u8; 32]) -> Result<bool>
pub fn verify_signature(&self, public_key: &[u8; 32]) -> Result<bool>
Verify Ed25519 signature over all profile fields except the signature itself
Sourcepub fn initial_state(&self) -> u16
pub fn initial_state(&self) -> u16
Get initial FSM state
Sourcepub fn process_transition(
&self,
current_state: u16,
packets_in_state: u32,
duration_in_state_ms: u64,
) -> (u16, Option<SizeDistribution>, Option<IATDistribution>, Option<PaddingStrategy>)
pub fn process_transition( &self, current_state: u16, packets_in_state: u32, duration_in_state_ms: u64, ) -> (u16, Option<SizeDistribution>, Option<IATDistribution>, Option<PaddingStrategy>)
Process FSM transition
Trait Implementations§
Source§impl Clone for MaskProfile
impl Clone for MaskProfile
Source§fn clone(&self) -> MaskProfile
fn clone(&self) -> MaskProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more