mirror of
https://github.com/KusakabeShi/EtherGuard-VPN.git
synced 2025-08-23 23:41:23 +02:00
noise: store clamped key instead of raw key
This commit is contained in:
@@ -78,12 +78,14 @@ func setZero(arr []byte) {
|
||||
}
|
||||
}
|
||||
|
||||
func newPrivateKey() (sk NoisePrivateKey, err error) {
|
||||
// clamping: https://cr.yp.to/ecdh.html
|
||||
_, err = rand.Read(sk[:])
|
||||
func (sk *NoisePrivateKey) clamp() {
|
||||
sk[0] &= 248
|
||||
sk[31] &= 127
|
||||
sk[31] |= 64
|
||||
sk[31] = (sk[31] & 127) | 64
|
||||
}
|
||||
|
||||
func newPrivateKey() (sk NoisePrivateKey, err error) {
|
||||
_, err = rand.Read(sk[:])
|
||||
sk.clamp()
|
||||
return
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user