fixes in bignum padding
This commit is contained in:
parent
9cebc24d8b
commit
b9878e5c1a
@ -2993,7 +2993,7 @@ void tgl_do_send_accept_encr_chat (struct tgl_secret_chat *E, unsigned char *ran
|
|||||||
ensure (BN_mod_exp (r, g_a, b, p, tgl_state.BN_ctx));
|
ensure (BN_mod_exp (r, g_a, b, p, tgl_state.BN_ctx));
|
||||||
static unsigned char kk[256];
|
static unsigned char kk[256];
|
||||||
memset (kk, 0, sizeof (kk));
|
memset (kk, 0, sizeof (kk));
|
||||||
BN_bn2bin (r, kk);
|
BN_bn2bin (r, kk + (256 - BN_num_bytes (r)));
|
||||||
for (i = 0; i < 256; i++) {
|
for (i = 0; i < 256; i++) {
|
||||||
kk[i] ^= E->nonce[i];
|
kk[i] ^= E->nonce[i];
|
||||||
}
|
}
|
||||||
@ -3012,7 +3012,7 @@ void tgl_do_send_accept_encr_chat (struct tgl_secret_chat *E, unsigned char *ran
|
|||||||
ensure (BN_mod_exp (r, g_a, b, p, tgl_state.BN_ctx));
|
ensure (BN_mod_exp (r, g_a, b, p, tgl_state.BN_ctx));
|
||||||
static unsigned char buf[256];
|
static unsigned char buf[256];
|
||||||
memset (buf, 0, sizeof (buf));
|
memset (buf, 0, sizeof (buf));
|
||||||
BN_bn2bin (r, buf);
|
BN_bn2bin (r, buf + (256 - BN_num_bytes (r)));
|
||||||
out_cstring ((void *)buf, 256);
|
out_cstring ((void *)buf, 256);
|
||||||
|
|
||||||
out_long (E->key_fingerprint);
|
out_long (E->key_fingerprint);
|
||||||
@ -3041,7 +3041,7 @@ void tgl_do_create_keys_end (struct tgl_secret_chat *U) {
|
|||||||
memcpy (t, U->key, 256);
|
memcpy (t, U->key, 256);
|
||||||
|
|
||||||
memset (U->key, 0, sizeof (U->key));
|
memset (U->key, 0, sizeof (U->key));
|
||||||
BN_bn2bin (r, (void *)U->key);
|
BN_bn2bin (r, (void *)(((char *)(U->key)) + (256 - BN_num_bytes (r))));
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < 64; i++) {
|
for (i = 0; i < 64; i++) {
|
||||||
U->key[i] ^= *(((int *)U->nonce) + i);
|
U->key[i] ^= *(((int *)U->nonce) + i);
|
||||||
@ -3091,7 +3091,7 @@ void tgl_do_send_create_encr_chat (void *x, unsigned char *random, void (*callba
|
|||||||
static char g_a[256];
|
static char g_a[256];
|
||||||
memset (g_a, 0, 256);
|
memset (g_a, 0, 256);
|
||||||
|
|
||||||
BN_bn2bin (r, (void *)g_a);
|
BN_bn2bin (r, (void *)(g_a + (256 - BN_num_bytes (r))));
|
||||||
|
|
||||||
int t = lrand48 ();
|
int t = lrand48 ();
|
||||||
while (tgl_peer_get (TGL_MK_ENCR_CHAT (t))) {
|
while (tgl_peer_get (TGL_MK_ENCR_CHAT (t))) {
|
||||||
|
Loading…
Reference in New Issue
Block a user