Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Jason Qian via openssl-users
Thanks Rich, On Wed, Nov 13, 2019 at 12:34 PM Salz, Rich wrote: > *>*For using 1.1.0, we only need to call RAND_bytes() ? > > > > Yes. But do check the return value of RAND_bytes. >

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Viktor Dukhovni
On Wed, Nov 13, 2019 at 12:23:37PM -0500, Jason Qian via openssl-users wrote: > Here is the code for creating the key (openssl-0.9.8h) Is this is a new question? It seems to no longer be related to DH key agreement. > int AESCipher::createKey(unsigned char *buf, int keySize) { > char seed[256];

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Salz, Rich via openssl-users
>For using 1.1.0, we only need to call RAND_bytes() ? Yes. But do check the return value of RAND_bytes.

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Jason Qian via openssl-users
Thanks Rich and Tomas, Here is the code for creating the key (openssl-0.9.8h) int AESCipher::createKey(unsigned char *buf, int keySize) { char seed[256]; ::sprintf(seed, "%ldXXX_XXX_H__x__xxx_x_xxx__INCLUDED_", MiscUtils::generateId()); RAND_seed(seed, ::strlen(seed)); RAND_bytes

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Viktor Dukhovni
> On Nov 12, 2019, at 3:14 AM, Tomas Mraz wrote: > > Could it be a padding issue? I.E. use DH_compute_key_padded() instead. Do we have an open issue to document DH_compute_key_padded(3)? It should be documented right next to DH_compute_key(3), with some words to suggest that the caller needs to

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Salz, Rich via openssl-users
>RAND_seed(seed, ::strlen(seed)); >RAND_bytes(buf, keySize / 8); I don’t know where you are getting the seed, but it is typically binary data, not a C string. If you are using 1.1.0 or later, you do not need to seed things.

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Tomas Mraz
On Wed, 2019-11-13 at 11:11 -0500, Jason Qian wrote: > Hi Tomas, > >Using DH_compute_key_padded() seems fixed the problem. > > I have one more question regarding a similar issue but this time is > about AES key generation. > > I think the problem is related to RAND_seed or RAND_bytes

Re: Help on Diffie Hellman key exchange

2019-11-13 Thread Jason Qian via openssl-users
Hi Tomas, Using DH_compute_key_padded() seems fixed the problem. I have one more question regarding a similar issue but this time is about AES key generation. I think the problem is related to RAND_seed or RAND_bytes (someone also mentioned on another thread). RAND_seed(seed, ::strl

Re: Help on Diffie Hellman key exchange

2019-11-12 Thread Jason Qian via openssl-users
Thanks Tomas, I will try that. On Tue, Nov 12, 2019 at 3:14 AM Tomas Mraz wrote: > On Mon, 2019-11-04 at 17:34 -0500, Jason Qian via openssl-users wrote: > > Hi > > > >We have an application that does the Diffie Hellman key exchange > > (OpenSSL/1.1.0f). > >It works fine, but under heav

Re: Help on Diffie Hellman key exchange

2019-11-12 Thread Tomas Mraz
On Mon, 2019-11-04 at 17:34 -0500, Jason Qian via openssl-users wrote: > Hi > >We have an application that does the Diffie Hellman key exchange > (OpenSSL/1.1.0f). >It works fine, but under heavy loaded conditions, sometimes an > invalide secret been generated and other side couldn't dec

Help on Diffie Hellman key exchange

2019-11-04 Thread Jason Qian via openssl-users
Hi We have an application that does the Diffie Hellman key exchange (OpenSSL/1.1.0f). It works fine, but under heavy loaded conditions, sometimes an invalide secret been generated and other side couldn't decrypt the data (the secret seems offset by one). The client side is c++ and the se