LibsignalSession.lean
Session Image Extern Hooks (LibsignalSession)
Trusted in part. Computational/ unfolds blackBoxHook (installed in cliHookTablePlaced); sessionExterns and logFilterAddr belong to the non-ELF session-image harness. See Computational/.
Extern hook table for the loaded session image:
-
blackBoxHookmodelssubtle::black_box::<u8>as the identity on the low byte ofx0. -
sessionExternsmapssha2::sha256::compress256toLibsignalHmac.F,compress256Hook memcpy/memmove/memsettoProofLib's libc hooks,__rust_tono_ alloc_ shim_ is_ unstable_v2 hookNoop,subtle::black_box::<u8>toblackBoxHook,<alloc::vec::Vec<_, _>>::remove::assert_failedtoRust., and the three Rust allocator entry points topanicked alloc. -
logFilterAddris the extern-data address oflog::MAX_LOG_LEVEL_FILTER(pinned byLibsignalSessionGuards.lean); holding0disableslog::Log::log.
@[expose] public sectionnamespace CryptoVerification.LibsignalSessionopen Arm64 ProofLib CryptoGames CryptoGames.HMAC CryptoGames.LibsignalSessionopen CryptoVerification.RustHeap CryptoVerification.LibsignalSessionReprdef blackBoxHook
subtle::black_box::<u8>(input = w0) -> u8: x0 := the low byte of x0; pc := lr.
2 declarations not shown (lines 45–61): theorems, which Lean checks, or definitions that no headline statement uses
CryptoVerification., CryptoVerification.
end CryptoVerification.LibsignalSession