noise: store clamped key instead of raw key
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
		
							parent
							
								
									1e58a0525e
								
							
						
					
					
						commit
						17281d9369
					
				
					 2 changed files with 2 additions and 4 deletions
				
			
		| 
						 | 
					@ -68,7 +68,6 @@ static inline void put_unaligned_le64(u64 s, u8 *d)
 | 
				
			||||||
#ifndef __force
 | 
					#ifndef __force
 | 
				
			||||||
#define __force
 | 
					#define __force
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#define clamp_secret(a) curve25519_clamp_secret(a)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
static noinline void memzero_explicit(void *s, size_t count)
 | 
					static noinline void memzero_explicit(void *s, size_t count)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@
 | 
				
			||||||
#include <sys/types.h>
 | 
					#include <sys/types.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum curve25519_lengths {
 | 
					enum curve25519_lengths {
 | 
				
			||||||
	CURVE25519_KEY_SIZE = 32,
 | 
						CURVE25519_KEY_SIZE = 32
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void curve25519(uint8_t mypublic[static CURVE25519_KEY_SIZE], const uint8_t secret[static CURVE25519_KEY_SIZE], const uint8_t basepoint[static CURVE25519_KEY_SIZE]);
 | 
					void curve25519(uint8_t mypublic[static CURVE25519_KEY_SIZE], const uint8_t secret[static CURVE25519_KEY_SIZE], const uint8_t basepoint[static CURVE25519_KEY_SIZE]);
 | 
				
			||||||
| 
						 | 
					@ -18,8 +18,7 @@ void curve25519_generate_public(uint8_t pub[static CURVE25519_KEY_SIZE], const u
 | 
				
			||||||
static inline void curve25519_clamp_secret(uint8_t secret[static CURVE25519_KEY_SIZE])
 | 
					static inline void curve25519_clamp_secret(uint8_t secret[static CURVE25519_KEY_SIZE])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	secret[0] &= 248;
 | 
						secret[0] &= 248;
 | 
				
			||||||
	secret[31] &= 127;
 | 
						secret[31] = (secret[31] & 127) | 64;
 | 
				
			||||||
	secret[31] |= 64;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue