Skip to content

Commit

Permalink
Add ASN.1 module (#24)
Browse files Browse the repository at this point in the history
  • Loading branch information
bwesterb authored Nov 21, 2024
1 parent c35e8ec commit 02bb108
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
58 changes: 58 additions & 0 deletions X509-XWING-2024.asn
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
XWing-KEM-2024
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
pkcs-9(9) smime(16) modules(0) id-mod-XWing-kem-2024(TBD) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

-- EXPORTS ALL;

IMPORTS

KEM-ALGORITHM
FROM KEMAlgorithmInformation-2023 -- [I-D.housley-lamps-cms-kemri]
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-kemAlgorithmInformation-2023(109) }

AlgorithmIdentifier{}, PUBLIC-KEY, SMIME-CAPS
FROM AlgorithmInformation-2009 -- [RFC5912]
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-algorithmInformation-02(58) } ;


-- XWing KEM Algorithm

id-XWing OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
dod(6) internet(1) private(4) enterprise(1) 62253 25722 }

XWingPublicKey ::= OCTET STRING

kema-XWing KEM-ALGORITHM ::= {
IDENTIFIER id-XWing
PARAMS ARE absent
PUBLIC-KEYS { pk-XWing }
UKM ARE optional
SMIME-CAPS { IDENTIFIED BY id-XWing } }

pk-XWing PUBLIC-KEY ::= {
IDENTIFIER id-XWing
-- KEY no ASN.1 wrapping --
PARAMS ARE absent
-- PRIVATE-KEY no ASN.1 wrapping --
CERT-KEY-USAGE {keyEncipherment} }


-- Updates for the KEM-ALGORITHM Set from rfc5990bis

KeyEncapsulationMechanism ::=
AlgorithmIdentifier { KEM-ALGORITHM, {KEMAlgorithms} }

KEMAlgorithms KEM-ALGORITHM ::= { kema-XWing, ... }


-- Updates for the SMIME-CAPS Set from RFC 5911

SMimeCapsSet SMIME-CAPS ::= {kema-XWing.&smimeCaps, ... }

END
29 changes: 29 additions & 0 deletions draft-connolly-cfrg-xwing-kem.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,17 @@ author:

normative:
RFC2119:
X680:
target: https://www.itu.int/rec/T-REC-X.680
title: >
Information Technology -- Abstract Syntax Notation One (ASN.1):
Specification of basic notation
date: 2021-02
author:
- org: ITU-T
seriesinfo:
ITU-T Recommendation: X.680
ISO/IEC: 8824-1:2021

informative:
I-D.driscoll-pqt-hybrid-terminology:
Expand Down Expand Up @@ -670,6 +681,10 @@ in {{Section 6 of TLSIANA}}.
Comment:
: PQ/T hybrid of X25519 and ML-KEM-768

Finally, for the ASN.1 module in {asn1}, IANA is requested to assign
an object identifier (OID) for the module identifier (TBD) with a
Description of "id-mod-XWing-kem-2024".

--- back

# Implementations
Expand Down Expand Up @@ -732,6 +747,16 @@ The following are the encodings of the X-Wing keypair with private key `0001…
{::include ./x509/xwing.pub}
~~~~

# ASN.1 Module {#asn1}

This appendix includes the ASN.1 module {{X680}} for X-Wing.

~~~
<CODE BEGINS>
{::include X509-XWING-2024.asn}
<CODE ENDS>
~~~

# Acknowledgments

TODO acknowledge.
Expand All @@ -741,6 +766,10 @@ TODO acknowledge.
> **RFC Editor's Note:** Please remove this section prior to publication of a
> final version of this document.

## Since draft-connolly-cfrg-xwing-kem-06

- Add asn.1 module.

## Since draft-connolly-cfrg-xwing-kem-05

- Fix several typos.
Expand Down

0 comments on commit 02bb108

Please sign in to comment.