This is the working area for the individual Internet-Draft, "JSON Encoding for Post Quantum Signatures".
A high level overview of our goals with this draft is available
In order to include a family, there must be a completed row in the following table.
If you see an incomplete row, and wish to contribute to check the open issues, and start opening PRs.
family | kty | alg | vectors | spec |
---|---|---|---|---|
Dilithium | MLWE | CRYDI5 | complete | https://pq-crystals.org/dilithium/ |
Dilithium | MLWE | CRYDI3 | in-progress | https://pq-crystals.org/dilithium/ |
Dilithium | MLWE | CRYDI2 | in-progress | https://pq-crystals.org/dilithium/ |
Falcon | NTRU | FALCON1024 | complete | https://falcon-sign.info/ |
Falcon | NTRU | FALCON512 | in-progress | https://falcon-sign.info/ |
SPHINCS+ | HASH | SPHINCS+128s | planned | https://sphincs.org/ |
SPHINCS+ | HASH | SPHINCS+128f | planned | https://sphincs.org/ |
SPHINCS+ | HASH | SPHINCS+192s | planned | https://sphincs.org/ |
SPHINCS+ | HASH | SPHINCS+192f | planned | https://sphincs.org/ |
SPHINCS+ | HASH | SPHINCS+256s | complete | https://sphincs.org/ |
SPHINCS+ | HASH | SPHINCS+256f | planned | https://sphincs.org/ |
See the guidelines for contributions.
Contributions can be made by creating pull requests. The GitHub interface supports creating pull requests using the Edit (✏) button.
If you are unfamiliar with cryptography or, especially with PQC, we rcommend reviewing PQ for Engineers
NB: Now that core drafting is complete these meetings have been discontinued until further meetings are required
Participants to this work item are invited to a weekly meeting to discuss Pull Requests, Issues, and content on the spec, along with progress towards standardization.
Meetings are held weekly on Mondays at 10:00 ET / 15:00 GMT on Google Meet. Video call link: https://meet.google.com/bqb-omio-dtx Or dial: (US) +1 863-703-4902 PIN: 924 526 334#
More phone numbers are available for international callers here
Top level markdown files are the current editor versions. At time of this writing there is one draft for each of
There is a corresponding folder for assets generated from each editor copy such as txt versions in RFC format for submission to data tracker.
Command line usage requires that you have the necessary software installed. Please review the detailed instructions or follow the quick-start instructions below.
The Makefile
in this repository can be used to produce the following formatted .txt
and .html
versions of this draft for local review during development.
NOTE: With the exception of the recommended Docker build instructions, it is assumed that Python3 and pip
are installed on the local system. Instructions for installing Python are out of scope for this guide, but can be found on the main Python website.
The recommended method to produce formatted draft versions of the spec is to use Docker. This method does not require installation of build-specific software (other than Docker itself), and can be used on Mac OSX, Windows, and Linux.
Example: build using docker
docker run -it --rm -v `pwd`:`pwd` -w `pwd` martinthomson/i-d-template make
In order to build the project from the command-line on Ubuntu linux, you will need to ensure that you have all of the necessary supporting software installed.
Example: install supporting software on Ubuntu Bionic
sudo apt-get update -y
sudo apt-get install -y make
sudo python3 -m pip install xml2rfc
You will need to install a more recent version of mmark
than is available in the ubuntu repositories. Visit the github release page for the mmark
project and download/install the latest version.
Example: manually install mmark
v2.2.5
wget https://github.com/mmarkdown/mmark/releases/download/v2.2.25/mmark_2.2.25_linux_amd64.tgz
tar xfz mmark_2.2.25_linux_amd64.tgz
mv mmark /usr/local/bin
Once all of the required software is in place, running make
will produce the formatted output files for review.
Example: produce output files using make
:
make
In order to build the project from the command-line on OSX, you will need to ensure that you have all of the necessary supporting software installed.
Example: install make
and mmark
using Homebrew:
brew install make mmark
The Python package xml2rfc
is also required, and should be installed using pip
.
Example: install xml2rfc
using pip
pip install xml2rfc
Once all of the required software is in place, running make
will produce the formatted output files for review.
Example: produce output files using make
:
make