INNER CODE UNIT · Rust

derive_fingerprint

AChep/keyguard-app · commonAgent/src/lib.rs:229

fn derive_fingerprint(
    outer_domain: &[u8],
    evidence_domain: &[u8],
    canonical_evidence: &[u8],
) -> [u8; PRINCIPAL_FINGERPRINT_LEN] {
    let mut digest = Sha256::new();
    digest.update(outer_domain);
    digest.update((evidence_domain.len() as u64).to_be_bytes());
    digest.update(evidence_domain);
    digest.update((canonical_evidence.len() as u64).to_be_bytes());
    digest.update(canonical_evidence);
    digest.finalize().into()
}

/// Failures while constructing trusted caller identity primitives.
#[derive(Debug, Error)]
pub enum IdentityError {
    /// The operating system CSPRNG failed.

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…