Skip to content

Commit f3c1b0d

Browse files
bwesterbarmfazh
authored andcommitted
kem: add Kyber768X25519
1 parent afcbf3a commit f3c1b0d

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

kem/hybrid/hybrid.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ var ErrUninitialized = errors.New("public or private key not initialized")
4646
// Returns the hybrid KEM of Kyber512 and X25519.
4747
func Kyber512X25519() kem.Scheme { return kyber512X }
4848

49+
// Returns the hybrid KEM of Kyber768 and X25519.
50+
func Kyber768X25519() kem.Scheme { return kyber768X }
51+
4952
// Returns the hybrid KEM of Kyber768 and X448.
50-
func Kyber768X448() kem.Scheme { return kyber768X }
53+
func Kyber768X448() kem.Scheme { return kyber768X4 }
5154

5255
// Returns the hybrid KEM of Kyber1024 and X448.
5356
func Kyber1024X448() kem.Scheme { return kyber1024X }
@@ -59,6 +62,12 @@ var kyber512X kem.Scheme = &scheme{
5962
}
6063

6164
var kyber768X kem.Scheme = &scheme{
65+
"Kyber768-X25519",
66+
kyber768.Scheme(),
67+
hpke.KEM_X25519_HKDF_SHA256.Scheme(),
68+
}
69+
70+
var kyber768X4 kem.Scheme = &scheme{
6271
"Kyber768-X448",
6372
kyber768.Scheme(),
6473
hpke.KEM_X448_HKDF_SHA512.Scheme(),

kem/schemes/schemes.go

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ var allSchemes = [...]kem.Scheme{
4141
sikep503.Scheme(),
4242
sikep751.Scheme(),
4343
hybrid.Kyber512X25519(),
44+
hybrid.Kyber768X25519(),
4445
hybrid.Kyber768X448(),
4546
hybrid.Kyber1024X448(),
4647
}

kem/schemes/schemes_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ func Example_schemes() {
159159
// SIKEp503
160160
// SIKEp751
161161
// Kyber512-X25519
162+
// Kyber768-X25519
162163
// Kyber768-X448
163164
// Kyber1024-X448
164165
}

0 commit comments

Comments
 (0)