forked from quic-go/quic-go
simplify key derivation
This commit is contained in:
@@ -43,23 +43,14 @@ func deriveKeys(version protocol.VersionNumber, forwardSecure bool, sharedSecret
|
|||||||
|
|
||||||
r := hkdf.New(sha256.New, sharedSecret, nonces, info.Bytes())
|
r := hkdf.New(sha256.New, sharedSecret, nonces, info.Bytes())
|
||||||
|
|
||||||
otherKey := make([]byte, keyLen)
|
s := make([]byte, 2*keyLen+2*4)
|
||||||
myKey := make([]byte, keyLen)
|
if _, err := io.ReadFull(r, s); err != nil {
|
||||||
otherIV := make([]byte, 4)
|
|
||||||
myIV := make([]byte, 4)
|
|
||||||
|
|
||||||
if _, err := io.ReadFull(r, otherKey); err != nil {
|
|
||||||
return nil, nil, nil, nil, err
|
|
||||||
}
|
|
||||||
if _, err := io.ReadFull(r, myKey); err != nil {
|
|
||||||
return nil, nil, nil, nil, err
|
|
||||||
}
|
|
||||||
if _, err := io.ReadFull(r, otherIV); err != nil {
|
|
||||||
return nil, nil, nil, nil, err
|
|
||||||
}
|
|
||||||
if _, err := io.ReadFull(r, myIV); err != nil {
|
|
||||||
return nil, nil, nil, nil, err
|
return nil, nil, nil, nil, err
|
||||||
}
|
}
|
||||||
|
otherKey := s[:keyLen]
|
||||||
|
myKey := s[keyLen : 2*keyLen]
|
||||||
|
otherIV := s[2*keyLen : 2*keyLen+4]
|
||||||
|
myIV := s[2*keyLen+4:]
|
||||||
|
|
||||||
if !forwardSecure && version >= protocol.Version33 {
|
if !forwardSecure && version >= protocol.Version33 {
|
||||||
if err := diversify(myKey, myIV, divNonce); err != nil {
|
if err := diversify(myKey, myIV, divNonce); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user