Parcourir la source

HRSS: Init

HRSS
Kris Kwiatkowski il y a 5 ans
Parent
révision
460efd3b1e
3 fichiers modifiés avec 1220 ajouts et 0 suppressions
  1. +7
    -0
      13.go
  2. +1
    -0
      common.go
  3. +1212
    -0
      hrss.go

+ 7
- 0
13.go Voir le fichier

@@ -121,6 +121,7 @@ type kexNIST struct{ defaultServerKEX } // Used by NIST curves; P-256, P-384
type kexX25519 struct{ defaultServerKEX } // Used by X25519 type kexX25519 struct{ defaultServerKEX } // Used by X25519
type kexSIDHp503 struct{ defaultServerKEX } // Used by SIDH/P503 type kexSIDHp503 struct{ defaultServerKEX } // Used by SIDH/P503
type kexSIKEp503 struct{} // Used by SIKE/P503 type kexSIKEp503 struct{} // Used by SIKE/P503
type kexHRSS struct{} // Used by HRSS
type kexHybridSIDHp503X25519 struct { type kexHybridSIDHp503X25519 struct {
defaultServerKEX defaultServerKEX
classicKEX kexX25519 classicKEX kexX25519
@@ -132,6 +133,11 @@ type kexHybridSIKEp503X25519 struct {
pqKEX kexSIKEp503 pqKEX kexSIKEp503
} // Used by SIKE-ECDHE hybrid scheme } // Used by SIKE-ECDHE hybrid scheme


type kexHybridHRSSCurve25519 struct {
classicKEX kexX25519
pqKEX kexHRSS
} // Used by HRSS-ECDHE hybrid scheme

// Routing map for key exchange strategies // Routing map for key exchange strategies
var kexStrat = map[CurveID]kex{ var kexStrat = map[CurveID]kex{
CurveP256: &kexNIST{}, CurveP256: &kexNIST{},
@@ -140,6 +146,7 @@ var kexStrat = map[CurveID]kex{
X25519: &kexX25519{}, X25519: &kexX25519{},
HybridSIDHp503Curve25519: &kexHybridSIDHp503X25519{}, HybridSIDHp503Curve25519: &kexHybridSIDHp503X25519{},
HybridSIKEp503Curve25519: &kexHybridSIKEp503X25519{}, HybridSIKEp503Curve25519: &kexHybridSIKEp503X25519{},
HybridHRSSCurve25519: &kexHybridHRSSCurve25519{},
} }


func newKeySchedule13(suite *cipherSuite, config *Config, clientRandom []byte) *keySchedule13 { func newKeySchedule13(suite *cipherSuite, config *Config, clientRandom []byte) *keySchedule13 {


+ 1
- 0
common.go Voir le fichier

@@ -125,6 +125,7 @@ const (
// Experimental KEX // Experimental KEX
HybridSIDHp503Curve25519 CurveID = 0xFE30 HybridSIDHp503Curve25519 CurveID = 0xFE30
HybridSIKEp503Curve25519 CurveID = 0xFE32 HybridSIKEp503Curve25519 CurveID = 0xFE32
HybridHRSSCurve25519 CurveID = 0x4138
) )


// TLS 1.3 Key Share // TLS 1.3 Key Share


+ 1212
- 0
hrss.go
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


Chargement…
Annuler
Enregistrer