mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-11-24 02:02:10 +08:00
upstream commit
ban all-zero curve25519 keys as recommended by latest CFRG curves draft; ok markus
This commit is contained in:
parent
b8afbe2c1a
commit
f9b7885237
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: kexc25519.c,v 1.8 2015/01/19 20:16:15 markus Exp $ */
|
||||
/* $OpenBSD: kexc25519.c,v 1.9 2015/03/26 07:00:04 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2001, 2013 Markus Friedl. All rights reserved.
|
||||
* Copyright (c) 2010 Damien Miller. All rights reserved.
|
||||
@ -66,6 +66,11 @@ kexc25519_shared_key(const u_char key[CURVE25519_SIZE],
|
||||
u_char shared_key[CURVE25519_SIZE];
|
||||
int r;
|
||||
|
||||
/* Check for all-zero public key */
|
||||
explicit_bzero(shared_key, CURVE25519_SIZE);
|
||||
if (timingsafe_bcmp(pub, shared_key, CURVE25519_SIZE) == 0)
|
||||
return SSH_ERR_KEY_INVALID_EC_VALUE;
|
||||
|
||||
crypto_scalarmult_curve25519(shared_key, key, pub);
|
||||
#ifdef DEBUG_KEXECDH
|
||||
dump_digest("shared secret", shared_key, CURVE25519_SIZE);
|
||||
|
Loading…
Reference in New Issue
Block a user