diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-01-28 14:44:51 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-01-28 14:45:53 +0100 |
commit | d4725bc45685187088c84234a6d2be396a1373e5 (patch) | |
tree | 8f9004104f4cde6589380d17793e9412b6b67742 /device | |
parent | 1b092ce584cbee0f86f3e25b5498870c8ca96652 (diff) |
device: the psk is not a chapoly key
It's a separate type of key that gets hashed into the chain.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'device')
-rw-r--r-- | device/noise-protocol.go | 2 | ||||
-rw-r--r-- | device/noise-types.go | 13 |
2 files changed, 7 insertions, 8 deletions
diff --git a/device/noise-protocol.go b/device/noise-protocol.go index 5669381..1068701 100644 --- a/device/noise-protocol.go +++ b/device/noise-protocol.go @@ -121,7 +121,7 @@ type Handshake struct { mutex sync.RWMutex hash [blake2s.Size]byte // hash value chainKey [blake2s.Size]byte // chain key - presharedKey NoiseSymmetricKey // psk + presharedKey NoisePresharedKey // psk localEphemeral NoisePrivateKey // ephemeral secret key localIndex uint32 // used to clear hash-table remoteIndex uint32 // index for sending diff --git a/device/noise-types.go b/device/noise-types.go index f793ef5..90108d4 100644 --- a/device/noise-types.go +++ b/device/noise-types.go @@ -9,19 +9,18 @@ import ( "crypto/subtle" "encoding/hex" "errors" - - "golang.org/x/crypto/chacha20poly1305" ) const ( - NoisePublicKeySize = 32 - NoisePrivateKeySize = 32 + NoisePublicKeySize = 32 + NoisePrivateKeySize = 32 + NoisePresharedKeySize = 32 ) type ( NoisePublicKey [NoisePublicKeySize]byte NoisePrivateKey [NoisePrivateKeySize]byte - NoiseSymmetricKey [chacha20poly1305.KeySize]byte + NoisePresharedKey [NoisePresharedKeySize]byte NoiseNonce uint64 // padded to 12-bytes ) @@ -82,10 +81,10 @@ func (key NoisePublicKey) Equals(tar NoisePublicKey) bool { return subtle.ConstantTimeCompare(key[:], tar[:]) == 1 } -func (key *NoiseSymmetricKey) FromHex(src string) error { +func (key *NoisePresharedKey) FromHex(src string) error { return loadExactHex(key[:], src) } -func (key NoiseSymmetricKey) ToHex() string { +func (key NoisePresharedKey) ToHex() string { return hex.EncodeToString(key[:]) } |