Expand description
Starting the signature service: keys in, then go.
ubft_new derives its key pair at init with an inline Ed25519 call and
reads every replica’s public key from message_ptr (8 words per
replica). rhdl_ubft hands both to its signature service instead.
Setup plays the service’s host over AXI4-Lite:
- the private key (
sk0..sk3, 32 bytes) as the signer’s seed, - replica
s’s public key into trusted key slots, for everys < node_num, read frommessage_ptrwith one burst per replica, - the key mask (
node_numslots), unlimited sign and verify counts, ap_start.
The service then expands the seed and loads the keys (about 105,000 cycles each for Ed25519) and opens its streams. The protocol can start at once: its first request waits for the stream to open.
The register offsets are a ServiceMap, so one sequencer serves the
Ed25519 service and DSig’s.
Structs§
- Service
Map - Where a signature service keeps its session arguments.
- Setup
- Service setup sequencer (see the module docs).
- SetupIn
- Inputs of
Setup. - Setup
Out - Outputs of
Setup. - Setup
State - The sequencer’s registers.
Constants§
- ED25519_
MAP - The Ed25519 uBFT service’s map (
rhdl_ed25519_scalable_core::ubft).
Functions§
- setup_
kernel - The sequencer’s logic.