Skip to main content

18 posts tagged with "crypto"

View All Tags

· 2 min read
Iñigo Querejeta Azurmendi

High level summary

The four open fronts that the crypto team is working on are:

  • MuSig2: We are almost ready to reach a point where the MuSig2 library is ready for usage by the Hydra team.
  • Mithril: We started to think how Mithril-core can be designed such that it can be leverage by contexts where the verifiers run full nodes
  • cardano-base: The VRF and BLS branchs are still open and in progress
  • KES agent: We keep progressing with KES secure forgetting implementation as well as the KES agent.

Low level summary

MuSig2

  • We redesigned the library so that MuSig2 lib users don't need to be aware of the underlying secp256k1 library PR#31
  • We are introducing a more granular error handling mechanism PR#33
  • We rethought the API and made it more consistent with the underlying secp256k1 library PR#35

Mithril

  • The mithril crates in general will be published in crates.io, and we adapted the core library's README PR#616
  • We are modifying the individual signature to not contain the VK and stake. This was not necessary, as the current design requires the aggregator of Mithril certificates to know this information PR#620

cardano-base

  • We've been still working in updating to the latest version of the VRF. In particular we modified the cbits to use the latest version of libsodium stable (1.0.18) PR#341
  • SKs, VKs and VRF outputs will be compatible across the different versions. We are implementing conversion functions for simple transitions PR#344
  • Benchmarks on pairing built-ins have already started, so we were finalising some CI concerns and final remarks on the BLS PR, so that it can be merged as soon as we have green light from plutus PR#266

KES agent

  • We keep progressing in the secure forgetting PR and resolving some bugs on memory handling PR#255
  • Increasing the test framework to make sure concurrency is properly treated by the KES Agent, for which we are including refcounted references. General progress in the implementation.

· 2 min read
Iñigo Querejeta Azurmendi

High level overview

The SECP primitives AC has been met, and the test-vectors PR has been merged. Another of the main short-term goals is to implement KES secure forgetting. In the past week the mempool PR has been merged, and we've adapted the KES secure PR to the new mempool design. On top of this, we are working in updating the VRF batch compat version to use the audited version of the libsodium fork (PR#). Finally, we've 'cleaned' our libsodium fork, and we directly fork upstream, rather than forking Algorand's fork.

Low level overview

  • With the AC met, there was no more blockers from crypto to release the node tag with the SECP primitives. We are now working closely with dQuadrant to to implement some E2E tests with an actual bridge implementation.
  • We previously had a C implementation of a memory pool for usage in KES secure forgetting. After a discussion with Alexey, we decided to use his implementation of a mempool in Haskell. We are working in adapting KES Secure forgetting to use this Haskell mempool.
  • In parallel, we keep progressing on the KES agent
  • VRFBatchCompat was deactivated due to a lack of an external audit. This audit was finished a few weeks back, and we are updating cardano base to use this new librar. In particular, this library implements the latest changing version of the VRF draft (13, which seems to remain stable), and links to the libsodium fork which implements batch verification.
  • Our libsodium fork now links directly to upstream libsodium.

· 2 min read
Iñigo Querejeta Azurmendi

High level overview

The crypto team is primarily focusing in enabling SECP primitives, and preparing the KES agent. We are close to meeting the acceptance criteria in cardano-base, which lacks some editorial comments on the style of dQuandrant's PR, the inclusion of one additional test, and we are good to mark it as done. For the KES agent, we are still iterating over the best design of the solution, but also progressing on the implementation.

Low level overview

SECP built-ins

  • (missed last two weeks update) Audit was succesfully completed by bCryptic, and some minor changes where addressed in PR 313
  • CIP-0049 was addressed in the editors meeting, and PR 250 was merged
  • The unit-tests PR 320 is opened. Some editorial concerns still need to be addressed, and an additional (negative) test has been requested for addition.

KES agent

  • We were working in investigating how to send OpCerts to KES agents, but turns out to be not necessary. OpCerts can be stored on-disk, so the agent does not need to be aware of them.
  • We are redesigning the architecture. Instead of connecting the control server to the agent, and then the latter to the node, we are directly connecting the control server to the node, and the latter to the agent(s).