Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XMSS: Implement components #175

Open
1 of 4 tasks
marsella opened this issue Nov 11, 2024 · 0 comments
Open
1 of 4 tasks

XMSS: Implement components #175

marsella opened this issue Nov 11, 2024 · 0 comments
Labels
CNSA 2.0 new-spec Addresses an algorithm that doesn't currently exist

Comments

@marsella
Copy link
Contributor

marsella commented Nov 11, 2024

The XMSS scheme has several component algorithms and definitions. We'll define these first, before getting to the actual signature scheme.

  • Define the anonymous interface, including parameters (h, n, and w) and hash functions (H and H_msg) - Section 4.1.1 and 4.1.2.
  • Define randomized tree hashing function RAND_HASH - Section 4.1.4
  • Define L-tree address and implementation - Section 2.5 and Section 4.1.5
  • Define tree hash routine - Section 4.1.6
@marsella marsella added CNSA 2.0 new-spec Addresses an algorithm that doesn't currently exist labels Nov 11, 2024
marsella added a commit that referenced this issue Nov 13, 2024
The practical use case for WOTS+ is as a component of other protocols.
These are typically implemented generically over WOTS+, and then
instantiated with a joint set of parameters for WOTS+ and the parent
scheme.

This means that just instantiating WOTS+ with the approved parameter
sets isn't suitable, since we want to define other protocols based on
the generic specification.

This commit adds an interface that defines the parameters (n, w, F, PRF)
and the public API (genPK, sign, pkFromSig) for WOTS+. This way, we can
define other protocols based on the interface and instantiate them with
the approved WOTS parameter sets.

I duplicated most of the docs.
marsella added a commit that referenced this issue Nov 13, 2024
- Defines a `Parameter` interface with the parameter definitions defined
  in the RFC, plus some additional types needed to compile things.
- Defines a `Specification` that pulls together the parameters defined
  for WOTS+ and XMSS.
- Instantiates one XMSS parameter set and the corresponding XMSS
  instantiation (e.g. in combination with the appropriate WOTS+
  parameter set) to make sure everything builds.
@marsella marsella mentioned this issue Nov 13, 2024
3 tasks
marsella added a commit that referenced this issue Nov 14, 2024
- Defines a `Parameter` interface with the parameter definitions defined
  in the RFC, plus some additional types needed to compile things.
- Defines a `Specification` that pulls together the parameters defined
  for WOTS+ and XMSS.
- Instantiates one XMSS parameter set and the corresponding XMSS
  instantiation (e.g. in combination with the appropriate WOTS+
  parameter set) to make sure everything builds.
marsella added a commit that referenced this issue Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CNSA 2.0 new-spec Addresses an algorithm that doesn't currently exist
Projects
None yet
Development

No branches or pull requests

1 participant