High level summary
The open fronts that the crypto team is working on are:
- Mithril: Helper functions finished. Continue preparing a RFP for an audit of mithril's core library (decided to add audit of KES). Design proposal for viable registration.
- cardano-base: Praos to PraosBatchCompat ready. KES secure forgetting finished, but holding merge for delivery strategy (breaking changes). Tested real world SNARK verification on plutus.
- KES agent: using snockets and making things testable in IOSim
- MuSig2: started implementation in rust.
Low level summary
Mithril
- Transmute helpers merged PR#722
- We have progressed with the RFP document for the mithril-stm library. Progressing with description of octopus algorithm. Included KES in scope.
- We are working in a modification of KES to require caller to allocate the secret key buffer.
- Proposed a solution for signer registration of Mithril.
cardano-base
- Progressing with BLS12-381. Worked with plutus team to have a plutus script verifying a Groth16 proof.
- Results are promising, with using only 23% of the execution budget to verify a realistic proof.
- Next step is to build a real world use case (and not use a dummy proof). Projects being considered are Sidechains, Hydra or Mithril.
- KES secure forgetting merge is being held off, due to breaking changes. We are considering handling several branches in cardano-base for this.
- Conversion finally merged PR#344.
KES agent
- Figuring out how to use sockets to write directly into the file descriptor. Digging into the sockets implementation
- Figuring out how to go from fake file descriptor to write the raw bytes
MuSig2
- Started implementing MuSig2 in Rust using the Ristretto prime order group. Still experimental.