Skip to content

Commit cbf9c4f

Browse files
authored
Merge pull request #140 from ietf-wg-jose/cbor-serialization
Adding CBOR Headers and Serialization
2 parents bc46331 + f22dbdb commit cbf9c4f

File tree

2 files changed

+415
-111
lines changed

2 files changed

+415
-111
lines changed

draft-ietf-jose-json-proof-algorithms.md

Lines changed: 130 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -436,98 +436,201 @@ defining the revised implementation requirements level.
436436

437437
### Registration Template {#AlgsTemplate}
438438

439-
* Algorithm Name: The name requested (e.g., "SU-ES256"). This name is a case-sensitive ASCII string. Names may not match other registered names in a case-insensitive manner unless the Designated Experts state that there is a compelling reason to allow an exception.
440-
* Algorithm Description: Brief description of the algorithm (e.g., "Single-Use JWP using ES256").
441-
* Algorithm Usage Location(s): The algorithm usage locations, which should be one or more of the values `Issued` or `Presented`. Other values may be used with the approval of a Designated Expert.
442-
* JWP Implementation Requirements: The algorithm implementation requirements for JWP, which must be one the words Required, Recommended, Optional, Deprecated, or Prohibited. Optionally, the word can be followed by a "+" or "-". The use of "+" indicates that the requirement strength is likely to be increased in a future version of the specification. The use of "-" indicates that the requirement strength is likely to be decreased in a future version of the specification. Any identifiers registered for non-authenticated encryption algorithms or other algorithms that are otherwise unsuitable for direct use as JWP algorithms must be registered as "Prohibited".
443-
* Change Controller: For Standards Track RFCs, list the "IETF". For others, give the name of the responsible party. Other details (e.g., postal address, email address, home page URI) may also be included.
444-
* Specification Document(s): Reference to the document or documents that specify the parameter, preferably including URIs that can be used to retrieve copies of the documents. An indication of the relevant sections may also be included but is not required.
445-
* Algorithm Analysis Documents(s): References to a publication or publications in well-known cryptographic conferences, by national standards bodies, or by other authoritative sources analyzing the cryptographic soundness of the algorithm to be registered. The Designated Experts may require convincing evidence of the cryptographic soundness of a new algorithm to be provided with the registration request unless the algorithm is being registered as Deprecated or Prohibited. Having gone through working group and IETF review, the initial registrations made by this document are exempt from the need to provide this information.
439+
Algorithm Name:
440+
: Brief descriptive name of the algorithm
441+
(e.g., `Single-Use JWP using ES256`.)
442+
Descriptive names may not match other registered names unless the
443+
Designated Experts state that there is a compelling reason to
444+
allow an exception.
445+
446+
Algorithm JSON Label:
447+
: The string label requested (e.g., `SU-ES256`). This label is a
448+
case-sensitive ASCII string. JSON Labels may not match other
449+
registered labels in a case-insensitive manner unless the
450+
Designated Experts state that there is a compelling reason to
451+
allow an exception.
452+
453+
Algorithm CBOR Label:
454+
: The integer label requested (e.g. `1`). CBOR Labels may not match
455+
other registered labels unless the Designated Experts state that
456+
there is a compelling reason to allow an exception.
457+
458+
Algorithm Description:
459+
: Optional additional information clarifying the algorithm. This may
460+
be used for example to document additional chosen parameters.
461+
462+
Algorithm Usage Location(s):
463+
: The algorithm usage locations, which should be one or more of the
464+
values `Issued` or `Presented`. Other values may be used with the
465+
approval of a Designated Expert.
466+
467+
JWP Implementation Requirements:
468+
: The algorithm implementation requirements for JWP, which must be
469+
one the words `Required`, `Recommended`, `Optional`, `Deprecated`,
470+
or `Prohibited`.
471+
Optionally, the word can be followed by a `+` or `-`. The use of
472+
`+` indicates that the requirement strength is likely to be
473+
increased in a future version of the specification. The use of
474+
`-` indicates that the requirement strength is likely to be
475+
decreased in a future version of the specification.
476+
Any identifiers registered for algorithms that are otherwise
477+
unsuitable for direct use as JWP algorithms must be registered as
478+
`Prohibited`.
479+
480+
Change Controller:
481+
: For Standards Track RFCs, list the "IETF". For others, give the
482+
name of the responsible party. Other details (e.g., postal address,
483+
email address, home page URI) may also be included.
484+
485+
Specification Document(s):
486+
: Reference to the document or documents that specify the parameter,
487+
preferably including URIs that can be used to retrieve copies of
488+
the documents. An indication of the relevant sections may also be
489+
included but is not required.
490+
491+
Algorithm Analysis Documents(s):
492+
: References to a publication or publications in well-known
493+
cryptographic conferences, by national standards bodies, or by
494+
other authoritative sources analyzing the cryptographic soundness
495+
of the algorithm to be registered. The Designated Experts may
496+
require convincing evidence of the cryptographic soundness of a
497+
new algorithm to be provided with the registration request unless
498+
the algorithm is being registered as Deprecated or Prohibited.
499+
Having gone through working group and IETF review, the initial
500+
registrations made by this document are exempt from the need to
501+
provide this information.
446502

447503
### Initial Registry Contents {#AlgsContents}
448504

449-
* Algorithm Name: `SU-ES256`
450-
* Algorithm Description: Single-Use JWP using ES256
505+
#### Single-Use JWP using ES256 Algorithm
506+
507+
* Algorithm Name: Single-Use JWP using ES256
508+
* Algorithm JSON Label: `SU-ES256`
509+
* Algorithm CBOR Label: 1
451510
* Algorithm Usage Location(s): Issued, Presented
452511
* JWP Implementation Requirements: Recommended
453512
* Change Controller: IETF
454513
* Specification Document(s): (#SU-registration) of this specification
455514
* Algorithm Analysis Documents(s): n/a
456515

457-
* Algorithm Name: `SU-ES384`
458-
* Algorithm Description: Single-Use JWP using ES384
516+
#### Single-Use JWP using ES384 Algorithm
517+
518+
* Algorithm Name: Single-Use JWP using ES384
519+
* Algorithm JSON Label: `SU-ES384`
520+
* Algorithm CBOR Label: 2
459521
* Algorithm Usage Location(s): Issued, Presented
460522
* JWP Implementation Requirements: Optional
461523
* Change Controller: IETF
462524
* Specification Document(s): (#SU-registration) of this specification
463525
* Algorithm Analysis Documents(s): n/a
464526

465-
* Algorithm Name: `SU-ES512`
466-
* Algorithm Description: Single-Use JWP using ES512
527+
#### Single-Use JWP using ES512 Algorithm
528+
529+
* Algorithm Name: Single-Use JWP using ES512
530+
* Algorithm JSON Label: `SU-ES512`
531+
* Algorithm CBOR Label: 3
467532
* Algorithm Usage Location(s): Issued, Presented
468533
* JWP Implementation Requirements: Optional
469534
* Change Controller: IETF
470535
* Specification Document(s): (#SU-registration) of this specification
471536
* Algorithm Analysis Documents(s): n/a
472537

473-
* Algorithm Name: `BBS`
538+
#### BBS using SHA-256 Algorithm
539+
540+
* Algorithm Name: BBS using SHA-256
541+
* Algorithm JSON Label: `BBS`
542+
* Algorithm CBOR Label: 4
474543
* Algorithm Description: Corresponds to a ciphersuite identifier of `BBS_BLS12381G1_XMD:SHA-256_SSWU_RO_H2G_HM2S_`
475544
* Algorithm Usage Location(s): Issued
476545
* JWP Implementation Requirements: Required
477546
* Change Controller: IETF
478547
* Specification Document(s): (#BBS-registration) of this specification
479548
* Algorithm Analysis Documents(s): n/a
480549

481-
* Algorithm Name: `BBS-PROOF`
550+
#### BBS Proof using SHA-256 Algorithm
551+
552+
* Algorithm Name: BBS Proof with SHA-256
553+
* Algorithm JSON Label: `BBS-PROOF`
554+
* Algorithm CBOR Label: 5
482555
* Algorithm Description: Corresponds to a ciphersuite identifier of `BBS_BLS12381G1_XMD:SHA-256_SSWU_RO_H2G_HM2S_`
483556
* Algorithm Usage Location(s): Presented
484557
* JWP Implementation Requirements: Required
485558
* Change Controller: IETF
486559
* Specification Document(s): (#BBS-registration) of this specification
487560
* Algorithm Analysis Documents(s): n/a
488561

489-
* Algorithm Name: `MAC-H256`
490-
* Algorithm Description: `MAC-H256` uses `HMAC SHA-256` as the MAC and `ECDSA using P-256 and SHA-256` for the signatures
562+
#### MAC-H256 Algorithm
563+
564+
* Algorithm Name: MAC-H256
565+
* Algorithm JSON Label: `MAC-H256`
566+
* Algorithm CBOR Label: 6
567+
* Algorithm Description: `MAC-H256` uses `HMAC SHA-256` as the MAC,
568+
and `ECDSA using P-256 and SHA-256` for the signatures
491569
* Algorithm Usage Location(s): Issued, Presented
492570
* JWP Implementation Requirements: Optional
493571
* Change Controller: IETF
494572
* Specification Document(s): (#MAC-registration) of this specification
495573
* Algorithm Analysis Documents(s): n/a
496574

497-
* Algorithm Name: `MAC-H384`
498-
* Algorithm Description: `MAC-H384` uses `HMAC SHA-384` as the MAC and `ECDSA using P-384 and SHA-384` for the signatures
575+
#### MAC-H384 Algorithm
576+
577+
* Algorithm Name: MAC-H384
578+
* Algorithm JSON Label: `MAC-H384`
579+
* Algorithm CBOR Label: 7
580+
* Algorithm Description: `MAC-H384` uses `HMAC SHA-384` as the MAC,
581+
and `ECDSA using P-384 and SHA-384` for the signatures
499582
* Algorithm Usage Location(s): Issued, Presented
500583
* JWP Implementation Requirements: Optional
501584
* Change Controller: IETF
502585
* Specification Document(s): (#MAC-registration) of this specification
503586
* Algorithm Analysis Documents(s): n/a
504587

505-
* Algorithm Name: `MAC-H512`
506-
* Algorithm Description: `MAC-H512` uses `HMAC SHA-512` as the MAC and `ECDSA using P-521 and SHA-512` for the signatures
588+
#### MAC-H512 Algorithm
589+
590+
* Algorithm Name: MAC-H512
591+
* Algorithm JSON Label: `MAC-H512`
592+
* Algorithm CBOR Label: 8
593+
* Algorithm Description: `MAC-H512` uses `HMAC SHA-512` as the MAC,
594+
and `ECDSA using P-521 and SHA-512` for the signatures
507595
* Algorithm Usage Location(s): Issued, Presented
508596
* JWP Implementation Requirements: Optional
509597
* Change Controller: IETF
510598
* Specification Document(s): (#MAC-registration) of this specification
511599
* Algorithm Analysis Documents(s): n/a
512600

513-
* Algorithm Name: `MAC-K25519`
514-
* Algorithm Description: `MAC-K25519` uses `KMAC SHAKE128` as the MAC and `EdDSA using Curve25519` for the signatures
601+
#### MAC-K25519 Algorithm
602+
603+
* Algorithm Name: MAC-K25519
604+
* Algorithm JSON Label: `MAC-K25519`
605+
* Algorithm CBOR Label: 9
606+
* Algorithm Description: `MAC-K25519` uses `KMAC SHAKE128` as the
607+
MAC, and `EdDSA using Curve25519` for the signatures
515608
* Algorithm Usage Location(s): Issued, Presented
516609
* JWP Implementation Requirements: Optional
517610
* Change Controller: IETF
518611
* Specification Document(s): (#MAC-registration) of this specification
519612
* Algorithm Analysis Documents(s): n/a
520613

521-
* Algorithm Name: `MAC-K448`
522-
* Algorithm Description: `MAC-K448` uses `KMAC SHAKE256` as the MAC and `EdDSA using Curve448` for the signatures
614+
#### MAC-K448 Algorithm
615+
616+
* Algorithm Name: MAC-K448
617+
* Algorithm JSON Label: `MAC-K448`
618+
* Algorithm CBOR Label: 10
619+
* Algorithm Description: `MAC-K448` uses `KMAC SHAKE256` as the MAC,
620+
and `EdDSA using Curve448` for the signatures
523621
* Algorithm Usage Location(s): Issued, Presented
524622
* JWP Implementation Requirements: Optional
525623
* Change Controller: IETF
526624
* Specification Document(s): (#MAC-registration) of this specification
527625
* Algorithm Analysis Documents(s): n/a
528626

529-
* Algorithm Name: `MAC-H256K`
530-
* Algorithm Description: `MAC-H256K` uses `HMAC SHA-256` as the MAC and `ECDSA using secp256k1 and SHA-256` for the signatures
627+
#### MAC-H256K Algorithm
628+
629+
* Algorithm Name: MAC-H256K
630+
* Algorithm JSON Label: `MAC-H256K`
631+
* Algorithm CBOR Label: 11
632+
* Algorithm Description: `MAC-H256K` uses `HMAC SHA-256` as the MAC,
633+
and `ECDSA using secp256k1 and SHA-256` for the signatures
531634
* Algorithm Usage Location(s): Issued, Presented
532635
* JWP Implementation Requirements: Optional
533636
* Change Controller: IETF

0 commit comments

Comments
 (0)