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 kexSIDHp503 struct{ defaultServerKEX } // Used by SIDH/P503
type kexSIKEp503 struct{} // Used by SIKE/P503
type kexHRSS struct{} // Used by HRSS
type kexHybridSIDHp503X25519 struct {
defaultServerKEX
classicKEX kexX25519
@@ -132,6 +133,11 @@ type kexHybridSIKEp503X25519 struct {
pqKEX kexSIKEp503
} // 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
var kexStrat = map[CurveID]kex{
CurveP256: &kexNIST{},
@@ -140,6 +146,7 @@ var kexStrat = map[CurveID]kex{
X25519: &kexX25519{},
HybridSIDHp503Curve25519: &kexHybridSIDHp503X25519{},
HybridSIKEp503Curve25519: &kexHybridSIKEp503X25519{},
HybridHRSSCurve25519: &kexHybridHRSSCurve25519{},
}

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


+ 1
- 0
common.go Voir le fichier

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

// TLS 1.3 Key Share


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


Chargement…
Annuler
Enregistrer