/* * IKE_ALG_INIT_NAME: ike_alg_sha2_init */ void ike_alg_sha2_init(void) { if (ike_alg_register_hash(&hash_desc_sha2_512)) ike_alg_add(&integ_desc_sha2_256.common); if (ike_alg_register_hash(&hash_desc_sha2_384)) ike_alg_add(&integ_desc_sha2_384.common); if (ike_alg_register_hash(&hash_desc_sha2_256)) ike_alg_add(&integ_desc_sha2_512.common); }
void init_crypto(void) { if (mpz_init_set_str(&groupgenerator, MODP_GENERATOR, 10) != 0 || mpz_init_set_str(&generator_dh22, MODP_GENERATOR_DH22, 16) != 0 || mpz_init_set_str(&generator_dh23, MODP_GENERATOR_DH23, 16) != 0 || mpz_init_set_str(&generator_dh24, MODP_GENERATOR_DH24, 16) != 0 /* modp768_modulus no longer supported */ || mpz_init_set_str(&modp1024_modulus, MODP1024_MODULUS, 16) != 0 || mpz_init_set_str(&modp1536_modulus, MODP1536_MODULUS, 16) != 0 || mpz_init_set_str(&modp2048_modulus, MODP2048_MODULUS, 16) != 0 || mpz_init_set_str(&modp3072_modulus, MODP3072_MODULUS, 16) != 0 || mpz_init_set_str(&modp4096_modulus, MODP4096_MODULUS, 16) != 0 || mpz_init_set_str(&modp6144_modulus, MODP6144_MODULUS, 16) != 0 || mpz_init_set_str(&modp8192_modulus, MODP8192_MODULUS, 16) != 0 || mpz_init_set_str(&dh22_modulus, MODP1024_MODULUS_DH22, 16) != 0 || mpz_init_set_str(&dh23_modulus, MODP2048_MODULUS_DH23, 16) != 0 || mpz_init_set_str(&dh24_modulus, MODP2048_MODULUS_DH24, 16) != 0 ) exit_log("mpz_init_set_str() failed in init_crypto()"); #ifdef USE_TWOFISH ike_alg_twofish_init(); #endif #ifdef USE_SERPENT ike_alg_serpent_init(); #endif #ifdef USE_AES ike_alg_aes_init(); #endif #ifdef USE_3DES ike_alg_add((struct ike_alg *) &crypto_encrypter_3des); #endif #ifdef USE_SHA2 ike_alg_sha2_init(); #endif #ifdef USE_SHA1 ike_alg_add((struct ike_alg *) &crypto_hasher_sha1); ike_alg_add((struct ike_alg *) &crypto_integ_sha1); #endif #ifdef USE_MD5 ike_alg_add((struct ike_alg *) &crypto_hasher_md5); ike_alg_add((struct ike_alg *) &crypto_integ_md5); #endif }
/* * IKE_ALG_INIT_NAME: ike_alg_sha2_init */ int ike_alg_sha2_init(void) { int ret; ret = ike_alg_register_hash(&hash_desc_sha2_512); if (ret == 0) { ret = ike_alg_register_hash(&hash_desc_sha2_384); if (ret == 0) { ret = ike_alg_register_hash(&hash_desc_sha2_256); ike_alg_add((struct ike_alg *) &integ_desc_sha2_256); ike_alg_add((struct ike_alg *) &integ_desc_sha2_384); ike_alg_add((struct ike_alg *) &integ_desc_sha2_512); } } return ret; }
void init_crypto(void) { if (mpz_init_set_str(&groupgenerator, MODP_GENERATOR, 10) != 0 || mpz_init_set_str(&modp768_modulus, MODP768_MODULUS, 16) != 0 || mpz_init_set_str(&modp1024_modulus, MODP1024_MODULUS, 16) != 0 || mpz_init_set_str(&modp1536_modulus, MODP1536_MODULUS, 16) != 0 || mpz_init_set_str(&modp2048_modulus, MODP2048_MODULUS, 16) != 0 || mpz_init_set_str(&modp3072_modulus, MODP3072_MODULUS, 16) != 0 || mpz_init_set_str(&modp4096_modulus, MODP4096_MODULUS, 16) != 0 || mpz_init_set_str(&modp6144_modulus, MODP6144_MODULUS, 16) != 0 || mpz_init_set_str(&modp8192_modulus, MODP8192_MODULUS, 16) != 0) exit_log("mpz_init_set_str() failed in init_crypto()"); ike_alg_add((struct ike_alg *) &crypto_encryptor_des); ike_alg_add((struct ike_alg *) &crypto_encryptor_3des); ike_alg_add((struct ike_alg *) &crypto_hasher_sha1); ike_alg_add((struct ike_alg *) &crypto_hasher_md5); ike_alg_init(); }