Skip to content

Commit 902b582

Browse files
committed
Add deprecated PQ key agreements and SSL(CTX_)use_second_keyshare
BoringSSL upstream supports X25519Kyber768Draft00 already under codepoint 0x6399, which is the recommended post-quantum key agreement to use This patch adds: 1. Support for X25519Kyber768Draft00 under the old codepoint 0xfe31. 2. Support for X25519Kyber512Draft00 under the codepoint 0xfe30. This key agreement should only be used for testing: to see if the smaller keyshare makes a difference. 3. SSL(_CTX)_use_second_keyshare By default as a a client BoringSSL will send a non post-quantum and a post-quantum keyshare if available. These functions allow one to change the behaviour to only send a single keyshare. Also add -disable-second-keyshare as a flag to `bssl client' The patch also replaces Google's implementation of Kyber, by the portable reference implementation, so as to support Kyber512.
1 parent ecb7e9a commit 902b582

24 files changed

+2609
-5436
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
**WARNING** [Upstream BoringSSL](https://boringssl.googlesource.com/boringssl/)
2+
now supports `X25519Kyber768Draft00` under the new codepoint `0x6399`.
3+
This fork is **deprecated**. It supports the old codepoints `0xfe30`
4+
and `0xfe31` for `X25519Kyber512Draft00` and `X25519Kyber768Draft00`
5+
respectively.
6+
17
# BoringSSL
28

39
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.

crypto/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,8 @@ add_library(
173173
ex_data.c
174174
hpke/hpke.c
175175
hrss/hrss.c
176-
kyber/keccak.c
177-
kyber/kyber.c
176+
kyber/kyber512.c
177+
kyber/kyber768.c
178178
lhash/lhash.c
179179
mem.c
180180
obj/obj.c

crypto/kyber/internal.h

Lines changed: 0 additions & 91 deletions
This file was deleted.

crypto/kyber/keccak.c

Lines changed: 0 additions & 204 deletions
This file was deleted.

0 commit comments

Comments
 (0)