;2k5      !"#$%&'()*+,-./01234 None0 5678956756789Safe:;<=>?@ABCDEFGHIJKLMNOPQRS:;<=>?@ABCDEFGHIJKLMNOPQRS:;<=>?@ABCDEFGHIJKLMNOPQRSSafe6TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneNoneopenssl ASN1 unique identifier BSD-style experimentalUnixNone An elliptic curve key An elliptic curve pointAn ellitic curve group>try to get a curve group from an ASN1 description string (OID)e.g."1.3.132.0.35" == SEC_P521_R1$"1.2.840.10045.3.1.7" == SEC_P256_R1:Create a new GFp group with explicit (p,a,b,(x,y),order,h)qGenerally, this interface should not be used, and user should really not stray away from already defined curves.Use at your own risks.;Create a new GF2m group with explicit (p,a,b,(x,y),order,h)same warning as &get the group degree (number of bytes)8get the order of the subgroup generated by the generatorGet the group generatorget curve's (prime,a,b)get curve's (polynomial,a,b)"add 2 points together, r = p1 + p2Add many points together,compute the doubling of the point p, r = p^2 compute q * mcompute sum ((q,m) -> q * m) l-Compute the sum of the point to the nth power Ef [p1,p2,..,pi] n = p1 * (n ^ 0) + p2 * (n ^ 1) + .. + pi * (n ^ i-1)compute generator * n + q * mcompute generator * n ;compute the inverse on the curve on the point p, r = p^(-1)"get if the point is at infinity# get if the point is on the curve$ACreate a binary represention of a point using the specific format%/Try to parse a binary representation to a point(;Convert a (x,y) to a point representation on a prime curve.)?Convert a point of a prime curve to affine representation (x,y),"return if a point eq another point-&generate a new key in a specific group.Hcreate a key from a group and a private integer and public point keypair/4return the private integer and public point of a key0 pab generatorordercofactorpab generatorordercofactorqmnqm !"#$%&'()*+,-./(  !"#$%&'()*+,-./(   !"#, $%&'()*+-./*   !"#$%&'()*+,-./ Safe BSD-style experimentalUnixNone2SGet whether the OpenSSL version linked supports GCM mode (at least 1.0.x and above)3>One shot function to GCM data without any incremental handling4FOne shot function to decrypt GCM data without any incremental handling 23KeyIV=Header (Authenticated input, will be not be copied to output)Plaintext to encryptEEncrypted input including the authentication tag (but not the header)4KeyIVHeader (Authenticated input)Encrypted data+Decrypted data if authentication successful234234 234 BSD-style experimentalUnixNone       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         -cryptonite-openssl-0.4-3JkYbDBgO6eLQBVSYdLn71Crypto.OpenSSL.AESCrypto.OpenSSLCrypto.OpenSSL.BNCrypto.OpenSSL.ECCCrypto.OpenSSL.MiscCrypto.OpenSSL.BN.ForeignCrypto.OpenSSL.ECC.ForeignCrypto.OpenSSL.ASN1Crypto.OpenSSL.AES.ForeignOpenSSLGcmError OpenSSLErrorwithIntegerAsBNbnToInt withBnCtxNew withBnNewPointConversionFormPointConversion_CompressedPointConversion_UncompressedPointConversion_HybridEcKeyEcPointEcGroupecGroupFromCurveOID ecGroupGFp ecGroupGF2mecGroupGetDegreeecGroupGetOrderecGroupGetCoFactorecGroupGetGeneratorecGroupGetCurveGFpecGroupGetCurveGF2m ecPointAdd ecPointsSum ecPointDbl ecPointMulecPointsMulAndSumecPointsMulOfPowerAndSumecPointMulWithGeneratorecPointGeneratorMul ecPointInvertecPointInfinityecPointIsAtInfinityecPointIsOnCurve ecPointToOctecPointFromOctecPointFromJProjectiveGFpecPointToJProjectiveGFpecPointFromAffineGFpecPointToAffineGFpecPointFromAffineGF2mecPointToAffineGF2m ecPointEqecKeyGenerateNew ecKeyFromPair ecKeyToPair$fShowPointConversionForm$fEqPointConversionFormisSupportedGCM encryptGCM decryptGCMcheckcheckCtxdoIO$fExceptionOpenSSLGcmError$fExceptionOpenSSLErrorBIGNUMBN_CTX ssl_bn_gcdssl_bn_mod_exp ssl_bn_expssl_bn_mod_sqrssl_bn_mod_mulssl_bn_mod_subssl_bn_mod_add ssl_bn_nnmod ssl_bn_div ssl_bn_sqr ssl_bn_mul ssl_bn_sub ssl_bn_addssl_bn_set_word ssl_bn_bin2 ssl_bn_2binssl_bn_num_bits ssl_bn_free ssl_bn_newssl_bn_ctx_newssl_bn_ctx_free ssl_bn_zero ssl_bn_onessl_bn_num_bytesPointConversionFormTEC_KEYEC_POINTEC_GROUPssl_key_set_public_keyssl_key_set_private_keyssl_key_get0_public_keyssl_key_get0_private_keyssl_key_generate_keyssl_key_set_groupssl_key_get0_group ssl_key_free ssl_key_new)ssl_point_set_compressed_coordinates_GF2m%ssl_point_get_affine_coordinates_GF2m%ssl_point_set_affine_coordinates_GF2m(ssl_point_set_compressed_coordinates_GFp$ssl_point_get_affine_coordinates_GFp$ssl_point_set_affine_coordinates_GFp)ssl_point_get_Jprojective_coordinates_GFp)ssl_point_set_Jprojective_coordinates_GFpssl_point_set_to_infinityssl_point_hex2ssl_point_2hex ssl_point_bn2 ssl_point_2bnssl_point_oct2ssl_point_2oct ssl_point_cmpssl_point_is_on_curvessl_point_is_at_infinityssl_point_invert ssl_point_dbl ssl_point_mul ssl_point_addssl_point_copy ssl_point_dup ssl_point_newssl_point_clear_freessl_point_freessl_point_free_funptrssl_group_set_generatorssl_group_get_curve_namessl_group_get0_generatorssl_group_get_curve_gf2mssl_group_get_curve_gfpssl_group_get_degreessl_group_get_cofactorssl_group_get_orderssl_group_new_curve_GFpssl_group_new_curve_GF2mssl_group_new_by_curve_namessl_group_freessl_obj_txt2nidNid _obj_txt2nidasn1DescriptionecPointConversionToC withPointNewwithPointNewWithReturn withPointDup withPointTemp InputLength OutputOffsetDataBufIvBufKeyBufEVP_CIPHER_CTX EVP_CIPHERENGINEssl_c_aes_256_gcmssl_c_decryptfinal_exssl_c_encryptfinal_exssl_c_decryptupdatessl_c_encryptupdatessl_c_decryptinit_exssl_c_encryptinit_exssl_c_cipher_ctx_set_key_lengthssl_c_cipher_ctx_set_paddingssl_c_cipher_ctx_ctrlssl_c_cipher_ctx_cleanupssl_c_cipher_ctx_freessl_c_cipher_ctx_init gcmTagLength sizeofEVPctrl_GCM_SET_IVLENctrl_GCM_GET_TAGctrl_GCM_SET_TAG DirectionDirectionEncryptDirectionDecryptGCMCtxwithGCMcheckRet contextNew nullEngine