Skip to main content

Module ubft

Module ubft 

Source
Expand description

Ed25519 as uBFT’s service (crate::ubft::UbftEd25519, feature ubft): the signer and the verifier of UbftEd25519<1, NV> as two uBFT modules ([Component::ubft]), planned only in Mode::UbftEd25519, beside the replica ([rhdl_fpga_planner::ubft::UbftReplica]).

Each is a fixed build, not sized to its share: a slot needs one signature and at most 2f = 6 verifications, so a larger build would shorten nothing but the verify queue. The signer is the measured small signer (1,1,1,0, own SHA ring). The verifier is the known-key 1,1,1,1 core (routed on fix14, job 007zzr) with NV machines, plus the key tables the 16 slots add ([KEY_SLOTS_16_BRAM36]). The service’s own logic (tag tables, two FIFOs, the AXI-Lite map) is not synthesized yet: [UBFT_WRAPPER_LUT] is an estimate.

Structs§

Ed25519UbftSign
The signing half of the Ed25519 uBFT service.
Ed25519UbftVerify
The verifying half of the Ed25519 uBFT service: machines known-key verify machines (1 to 4, default 1).

Constants§

KEY_SLOTS_16_BRAM36
Extra BRAM36 per verify machine for 16 key slots instead of 8 (the machine’s key tables double; key-slots-16). A model.
UBFT_WRAPPER_LUT
Estimated LUTs of the service around the cores (control, tag tables, the signature and verdict FIFOs, the AXI-Lite map), split evenly between the two modules. A model until the service is synthesized.

Functions§

slots
The uBFT chip’s slots: the replica, then the service’s two halves.