mirror of https://github.com/waku-org/noise.git
Purge _E handshake patterns
This commit is contained in:
parent
77186df246
commit
3512ab15d1
|
@ -133,41 +133,6 @@ func (NoiseSuite) TestIK(c *C) {
|
|||
c.Assert(msg, DeepEquals, expected)
|
||||
}
|
||||
|
||||
func (NoiseSuite) TestXE(c *C) {
|
||||
cs := NewCipherSuite(DH25519, CipherChaChaPoly, HashBLAKE2b)
|
||||
rngI := new(RandomInc)
|
||||
rngR := new(RandomInc)
|
||||
*rngR = 1
|
||||
|
||||
staticI := cs.GenerateKeypair(rngI)
|
||||
staticR := cs.GenerateKeypair(rngR)
|
||||
ephR := cs.GenerateKeypair(rngR)
|
||||
|
||||
hsI := NewHandshakeState(Config{CipherSuite: cs, Random: rngI, Pattern: HandshakeXE, Initiator: true, StaticKeypair: staticI, PeerStatic: staticR.Public, PeerEphemeral: ephR.Public})
|
||||
hsR := NewHandshakeState(Config{CipherSuite: cs, Random: rngR, Pattern: HandshakeXE, StaticKeypair: staticR, EphemeralKeypair: ephR})
|
||||
|
||||
msg, _, _ := hsI.WriteMessage(nil, []byte("abc"))
|
||||
c.Assert(msg, HasLen, 51)
|
||||
res, _, _, err := hsR.ReadMessage(nil, msg)
|
||||
c.Assert(err, IsNil)
|
||||
c.Assert(string(res), Equals, "abc")
|
||||
|
||||
msg, _, _ = hsR.WriteMessage(nil, []byte("defg"))
|
||||
c.Assert(msg, HasLen, 52)
|
||||
res, _, _, err = hsI.ReadMessage(nil, msg)
|
||||
c.Assert(err, IsNil)
|
||||
c.Assert(string(res), Equals, "defg")
|
||||
|
||||
msg, _, _ = hsI.WriteMessage(nil, nil)
|
||||
c.Assert(msg, HasLen, 64)
|
||||
res, _, _, err = hsR.ReadMessage(nil, msg)
|
||||
c.Assert(err, IsNil)
|
||||
c.Assert(res, HasLen, 0)
|
||||
|
||||
expected, _ := hex.DecodeString("08439f380b6f128a1465840d558f06abb1141cf5708a9dcf573d6e4fae01f90fd68dec89b26b249f2c4c61add5a1dbcf0a652ef015d7dbe0e80e9ea9af0aa7a2")
|
||||
c.Assert(msg, DeepEquals, expected)
|
||||
}
|
||||
|
||||
func (NoiseSuite) TestXXRoundtrip(c *C) {
|
||||
cs := NewCipherSuite(DH25519, CipherAESGCM, HashSHA256)
|
||||
rngI := new(RandomInc)
|
||||
|
|
38
patterns.go
38
patterns.go
|
@ -36,25 +36,6 @@ var HandshakeKK = HandshakePattern{
|
|||
},
|
||||
}
|
||||
|
||||
var HandshakeNE = HandshakePattern{
|
||||
Name: "NE",
|
||||
ResponderPreMessages: []MessagePattern{MessagePatternS, MessagePatternE},
|
||||
Messages: [][]MessagePattern{
|
||||
{MessagePatternE, MessagePatternDHEE, MessagePatternDHES},
|
||||
{MessagePatternE, MessagePatternDHEE},
|
||||
},
|
||||
}
|
||||
|
||||
var HandshakeKE = HandshakePattern{
|
||||
Name: "KE",
|
||||
InitiatorPreMessages: []MessagePattern{MessagePatternS},
|
||||
ResponderPreMessages: []MessagePattern{MessagePatternS, MessagePatternE},
|
||||
Messages: [][]MessagePattern{
|
||||
{MessagePatternE, MessagePatternDHEE, MessagePatternDHES, MessagePatternDHSE},
|
||||
{MessagePatternE, MessagePatternDHEE, MessagePatternDHES},
|
||||
},
|
||||
}
|
||||
|
||||
var HandshakeNX = HandshakePattern{
|
||||
Name: "NX",
|
||||
Messages: [][]MessagePattern{
|
||||
|
@ -108,25 +89,6 @@ var HandshakeIK = HandshakePattern{
|
|||
},
|
||||
}
|
||||
|
||||
var HandshakeXE = HandshakePattern{
|
||||
Name: "XE",
|
||||
ResponderPreMessages: []MessagePattern{MessagePatternS, MessagePatternE},
|
||||
Messages: [][]MessagePattern{
|
||||
{MessagePatternE, MessagePatternDHEE, MessagePatternDHES},
|
||||
{MessagePatternE, MessagePatternDHEE},
|
||||
{MessagePatternS, MessagePatternDHSE},
|
||||
},
|
||||
}
|
||||
|
||||
var HandshakeIE = HandshakePattern{
|
||||
Name: "IE",
|
||||
ResponderPreMessages: []MessagePattern{MessagePatternS, MessagePatternE},
|
||||
Messages: [][]MessagePattern{
|
||||
{MessagePatternE, MessagePatternDHEE, MessagePatternDHES, MessagePatternS, MessagePatternDHSE},
|
||||
{MessagePatternE, MessagePatternDHEE, MessagePatternDHES},
|
||||
},
|
||||
}
|
||||
|
||||
var HandshakeXX = HandshakePattern{
|
||||
Name: "XX",
|
||||
Messages: [][]MessagePattern{
|
||||
|
|
|
@ -44,7 +44,7 @@ type patternKeyInfo struct {
|
|||
}
|
||||
|
||||
func init() {
|
||||
for _, h := range []HandshakePattern{HandshakeNN, HandshakeKN, HandshakeNK, HandshakeKK, HandshakeNE, HandshakeKE, HandshakeNX, HandshakeKX, HandshakeXN, HandshakeIN, HandshakeXK, HandshakeIK, HandshakeXE, HandshakeIE, HandshakeXX, HandshakeIX, HandshakeN, HandshakeK, HandshakeX} {
|
||||
for _, h := range []HandshakePattern{HandshakeNN, HandshakeKN, HandshakeNK, HandshakeKK, HandshakeNX, HandshakeKX, HandshakeXN, HandshakeIN, HandshakeXK, HandshakeIK, HandshakeXX, HandshakeIX, HandshakeN, HandshakeK, HandshakeX} {
|
||||
patterns[h.Name] = h
|
||||
var k patternKeyInfo
|
||||
if len(h.Name) == 1 {
|
||||
|
@ -74,10 +74,6 @@ func init() {
|
|||
case 'K':
|
||||
k.rs = true
|
||||
k.rsi = true
|
||||
case 'E':
|
||||
k.rs = true
|
||||
k.rsi = true
|
||||
k.e = true
|
||||
case 'X':
|
||||
k.rs = true
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
func main() {
|
||||
for ci, cipher := range []CipherFunc{CipherAESGCM, CipherChaChaPoly} {
|
||||
for _, hash := range []HashFunc{HashSHA256, HashSHA512, HashBLAKE2b, HashBLAKE2s} {
|
||||
for hi, handshake := range []HandshakePattern{HandshakeNN, HandshakeKN, HandshakeNK, HandshakeKK, HandshakeNE, HandshakeKE, HandshakeNX, HandshakeKX, HandshakeXN, HandshakeIN, HandshakeXK, HandshakeIK, HandshakeXE, HandshakeIE, HandshakeXX, HandshakeIX, HandshakeN, HandshakeK, HandshakeX} {
|
||||
for hi, handshake := range []HandshakePattern{HandshakeNN, HandshakeKN, HandshakeNK, HandshakeKK, HandshakeNX, HandshakeKX, HandshakeXN, HandshakeIN, HandshakeXK, HandshakeIK, HandshakeXX, HandshakeIX, HandshakeN, HandshakeK, HandshakeX} {
|
||||
for _, psk := range []bool{false, true} {
|
||||
payloads := (psk && hi%2 == 0) || (!psk && hi%2 != 0)
|
||||
prologue := ci == 0
|
||||
|
|
1090
vectors.txt
1090
vectors.txt
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue