Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
david415 committed Feb 21, 2024
1 parent ae16ed8 commit 904bb53
Showing 1 changed file with 50 additions and 5 deletions.
55 changes: 50 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

# HPQC

HPQC is known as hpqc.


[![Go Reference](https://pkg.go.dev/badge/github.com/katzenpost/hpqc.svg)](https://pkg.go.dev/github.com/katzenpost/hpqc)
[![Release](https://img.shields.io/github/v/tag/katzenpost/hpqc)](https://github.com/katzenpost/hpqc/tags)
[![Go Report Card](https://goreportcard.com/badge/github.com/katzenpost/hpqc)](https://goreportcard.com/report/github.com/katzenpost/hpqc)
Expand All @@ -11,22 +14,64 @@

## hybrid post quantum cryptography

Hybrid cryptographic constructions rely on a classical public key
primitive and a post quantum public key cryptographic primitive, namely:

* hybrid KEMs
* hybrid NIKEs
* hybrid signature schemes

Are main contributions besides a generic NIKE interface and NIKE
combiner is:

1. an implementation of a secure KEM combiner that can combine an arbtrary
number of KEMs.
2. a "NIKE to KEM adapter" which is really an ad hoc hashed elgamal construction

If you want a well known hybrid KEM that has a paper about it then maybe
Xwing is the KEM you are looking for. Otherwise you can construct your own
using our secure KEM combiner and or NIKE to KEM adapter.


| NIKE: Non-Interactive Key Exchange |
|:---:|
* X25519
* CTIDH511, CTIDH512, CTIDH1024, CTIDH2048
* X25519_CTIDH511, X25519_CTIDH512, X25519_CTIDH1024, X25519_CTIDH2048
* NOBS_CSIDH-512
* X25519_NOBS_CSIDH-512

| KEM: Key Encapsulation Methods |
|:---:|
* X25519 (adapted via ad hoc hashed elgamal construction)
* CTIDH1024 (adapted via ad hoc hashed elgamal construction)
* MLKEM-768
* Xwing
* McEliece
* NTRUPrime
* Kyber
* FrodoKEM

| SIGN: Cryptographic Signature Schemes |
|:---:|
* ed25519
* sphincs+
* ed25519_sphincs+
* ed25519_dilithium2/3


# licensing

hpqc is free libre open source software (FLOSS) under the AGPL-3.0 software license.
This git repository provides a LICENSE file, here: https://github.com/katzenpost/hpqc/blob/main/LICENSE


* HPQC is Free Libre Open Source Software under the AGPL-3.0 software license;
a copy of the license is provided here --> https://github.com/katzenpost/hpqc/blob/main/LICENSE
What is free software? Read up about it here --> https://www.gnu.org/philosophy/free-sw.html
Read about free software philosophy --> https://www.gnu.org/philosophy/free-sw.html


* There are precisely two files which were borrowed from cloudflare's `circl`
cryptography library:
* There are precisely two files which were borrowed
from cloudflare's `circl` cryptography library
which provide the kem and signature interfaces:

1. https://github.com/katzenpost/hpqc/blob/main/kem/interfaces.go
2. https://github.com/katzenpost/hpqc/blob/main/sign/interfaces.go
Expand Down

0 comments on commit 904bb53

Please sign in to comment.