static void ull2BN (TGLC_bn *b, unsigned long long val) { if (sizeof (unsigned long) == 8 || val < (1ll << 32)) { TGLC_bn_set_word (b, val); } else if (sizeof (unsigned long long) == 8) { htobe64(val); TGLC_bn_bin2bn ((unsigned char *) &val, 8, b); } else { assert (0); } }
void bl_do_set_dh_params (struct tgl_state *TLS, int root, unsigned char prime[], int version) /* {{{ */ { if (TLS->encr_prime) { tfree (TLS->encr_prime, 256); TGLC_bn_free (TLS->encr_prime_bn); } TLS->encr_root = root; TLS->encr_prime = talloc (256); memcpy (TLS->encr_prime, prime, 256); TLS->encr_prime_bn = TGLC_bn_new (); TGLC_bn_bin2bn ((void *)TLS->encr_prime, 256, TLS->encr_prime_bn); TLS->encr_param_version = version; assert (tglmp_check_DH_params (TLS, TLS->encr_prime_bn, TLS->encr_root) >= 0); }