ELF>O@@AWAVAUL-ATUSHH$H1ɾLHHD$11E1HD$E1E1H$LD$H|$H|$LLLLHﺄH<$LD$H[]A\A]A^A_f.H$HHD$(1ɾLH#11LHHD$0IHHLHH$Iu,1E1E1E1HD$HD$f.LL1ɾLHHtMHD$HHD$@HD$H\$ HD$H$H,THLHIaHLHI8LL1ɾLH LLHA=HLH1L1ɾLHHLHHD$HHLHHHH1ɾ LH^HH1ɾ LH+L1ɾLHLLljD$lHLHHLd$ 1HMLD$lL1ɾLHaDD$lL1MHLd$ L%LLAAHIH\$ DD$l1HHL LAAHDD$lHt$(1MHL%LAAHD$l1MHHD@L*LAAHCT$l1Ht$pHl$pH4LHHD$H=H$H$HH$H$PHA=LDd$PPHAH1DA9܉D$819\$8>LH\$XۺALHIHALHIL$XD$PH$HHL$PH)LD$8H$H)I4AG EAG ׈T$_1AI@0;HLLHIt$X1LHNLHHD$8HD$Pt$X1LHHD$PHOLHHD$@iHT$@Ht$8L1ɾQLH4HD$xLHl$xHHD$8Ht$ 1HAMD$l1ɾYLHD$_01Lt$XH^LHHt$XH|$P1H_LHHD$HHT$HHL1ɾaLHmHt$8LHl$xHt$ 1HAMD$l1ɾjLH oLHLH|$H|$LyLLHD$HD$H9D$0z@LfDHD$1E1E1HD$fHD$IE11f.HD$1E1E1IE11tH|$8LIHH|$@1PLIHBLHIHH|$H1 LE1IHAUATIUH HD$=~H 1]A\A]@L-WHHLHD$tHcHH|$H41ɾYLHtBH|$A^LD@H DIHAu7H|$D$ D$ H ]A\A]HPH ]A\A]@H|$L1ɾ_LHfDAWIAVIAUL-ATAUSHxD$abcD$HD$ HD$(HD$0HD$8HsLHHu[1E1E1LHH|$ H|$(HH|$0H|$8HxD[]A\A]A^A_ÐHH1ɾwLHrHt$H1ɾxLH=HD$PHT$HHH$1ɾyLHD1H|LH1DHLHHD$LT$AL1ɾLHLT$AuLHL$8HT$011ɾLHLT$A,HL$8HT$0MоH<$HLHHLT$AHLHHD$ LT$AHLHHD$(LT$AH|$ L1ɾLHLT$AMH|$(L1ɾLHLT$AHT$HHt$@HLL$ LLD$@H HLT$ALL$(LD$HLH HLT$AH<$LHھE1ALAH HLT$ANATUH-HH(HHHu[E1H=1H6H1HHDDH]DA\HH=o)oH) oP HH)1ɾ/HH>HH51ɾHHHH51ɾHHHH5K1ɾHHHH51ɾHHE1AOHH5H=H5H=HRAND_bytes(digest, 20)test/ecdsatest.cRAND_bytes(wrong_digest, 20)eckey = EC_KEY_new()testing %sEC_KEY_generate_key(eckey)wrong_eckey = EC_KEY_new()EC_KEY_check_key(eckey)1r_len > bn_lens_len > bn_lentmp = BN_new()numBN_num_bytes(tmp)BN_bn2bin(tmp, buf)md_ctx = EVP_MD_CTX_new()EC_KEY_generate_key(key)r = BN_new()s = BN_new()BN_dec2bn(&r, r_in)BN_dec2bn(&s, s_in)rsig_rssig_srestore_rand()x9_62_teststest_builtincurves = OPENSSL_malloc(sizeof(*curves) * crv_len)EC_get_builtin_curves(curves, crv_len)group = EC_GROUP_new_by_curve_name(nid)EC_KEY_set_group(eckey, group)EC_KEY_set_group(wrong_eckey, group)EC_KEY_generate_key(wrong_eckey)signature = OPENSSL_malloc(sig_len)ECDSA_sign(0, digest, 20, signature, &sig_len, eckey)ECDSA_verify(0, digest, 20, signature, sig_len, eckey)ECDSA_verify(0, digest, 20, signature, sig_len, wrong_eckey)ECDSA_verify(0, wrong_digest, 20, signature, sig_len, eckey)ECDSA_verify(0, digest, 20, signature, sig_len - 1, eckey)ecdsa_sig = d2i_ECDSA_SIG(NULL, &sig_ptr, sig_len)raw_buf = OPENSSL_zalloc(buf_len)modified_sig = ECDSA_SIG_new()modified_r = BN_bin2bn(raw_buf, bn_len, NULL)modified_s = BN_bin2bn(raw_buf + bn_len, bn_len, NULL)ECDSA_SIG_set0(modified_sig, modified_r, modified_s)unmodified_r = BN_bin2bn(raw_buf, bn_len, NULL)unmodified_s = BN_bin2bn(raw_buf + bn_len, bn_len, NULL)ECDSA_SIG_set0(modified_sig, unmodified_r, unmodified_s)BN_dec2bn(&tmp, numbers[fbytes_counter])EVP_DigestInit(md_ctx, EVP_sha1())EVP_DigestUpdate(md_ctx, (const void *)message, 3)EVP_DigestFinal(md_ctx, digest, &dgst_len)key = EC_KEY_new_by_curve_name(nid)ECDSA_sign_setup(key, NULL, &kinv, &rp)signature = ECDSA_do_sign_ex(digest, 20, kinv, rp, key)ECDSA_do_verify(digest, 20, signature, key)old_rand = RAND_get_rand_method()RAND_set_rand_method(&fake_rand)57358223288881552546838949978975719515685536428920299823423342403536405981729393488334694600415596881826869351677613x9_62_test_internal(NID_X9_62_prime192v1, "3342403536405981729393488334694600415596881826869351677613", "5735822328888155254683894997897571951568553642892029982342")323813553209797357708078776831250505931891051755007842781978505179448783308636143175167811492622547300668018854959378758531778147462058306432176x9_62_test_internal(NID_X9_62_prime239v1, "3086361431751678114926225473006680188549593787585317781474" "62058306432176", "3238135532097973577080787768312505059318910517550078427819" "78505179448783")30899269196580494736154166454908589529215377702577206359887194383164871543355722284926904419997237591535066528048x9_62_test_internal(NID_X9_62_c2tnb191v1, "87194383164871543355722284926904419997237591535066528048", "308992691965804947361541664549085895292153777025772063598")19703037400073168673833499765499722705284980407219881910264941346573717421596333210419611985018340039034612628818151486841789642455876922391552x9_62_test_internal(NID_X9_62_c2tnb239v1, "2159633321041961198501834003903461262881815148684178964245" "5876922391552", "1970303740007316867383349976549972270528498040721988191026" "49413465737174")RAND_set_rand_method(old_rand)651056770906015076056810763456358567190100156695615665659614050706706500106306506556566740556000616155656566565665487630010150710756750106613076167107835701067106778177671667167617872671770000001756905664665550578175715710757050157577570577957555565715675665512755521911132123000120304391871461646461466464667494947991542725565216523985789236956265265265235675811949404040041145642755521911534651321230007534120304391871461646461466464667494947990171278725565216523967285789236956265265265235675811949404040041670216363GCC: (Debian 11.2.0-16) 11.2.0zRx Hh BGB I(A0A8G 8A0A(B BBBK PhZBBD F@n  CBBE   ABBD N  ABBE H/BEE I(D0A8D 8D0A(B BBBB (BAK { AEA 44Do h p Z!*9@AJ /^j 0ty~(8E`Ze XP 8p$*0 6<BH NPTxZ`f&lr0x?~LYmh (h`x  8 %/;JVlz(3>KWcq ,:CRcs4ecdsatest.ctest_builtinfbytesuse_fakefbytes_counternumbersold_randx9_62_test_internalx9_62_testsfake_rand.LC1.LC0.LC2.LC3.LC4.LC5.LC6.LC7.LC8.LC9.LC10.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC18.LC19.LC20.LC21.LC22.LC23.LC24.LC25.LC26.LC27.LC28.LC29.LC30.LC31.LC32.LC33.LC34.LC35.LC36.LC37.LC38.LC39.LC40.LC41.LC42.LC43.LC44.LC45.LC46.LC47.LC48.LC49.LC50.LC51.LC52.LC53.LC54.LC68.LC69.LC55.LC56.LC57.LC58.LC59.LC60.LC61.LC62.LC63.LC64.LC65.LC66.LC67.LC70.LC71RAND_bytestest_trueEC_KEY_freeECDSA_SIG_freeCRYPTO_freeEC_get_builtin_curvesCRYPTO_malloctest_ptrEC_KEY_newEC_GROUP_new_by_curve_nameEC_KEY_set_groupEC_GROUP_freeEC_KEY_get0_groupEC_GROUP_get_degreeOBJ_nid2sntest_infoEC_KEY_generate_keyEC_KEY_check_keyECDSA_sizeECDSA_signECDSA_verifytest_int_eqtest_int_ned2i_ECDSA_SIGECDSA_SIG_get0BN_num_bitstest_falseCRYPTO_zallocBN_bn2binECDSA_SIG_newBN_bin2bnECDSA_SIG_set0i2d_ECDSA_SIGERR_clear_errorBN_freeBN_newBN_dec2bnEVP_MD_CTX_newEVP_MD_CTX_freeBN_clear_freeEVP_sha1EVP_DigestInitEVP_DigestUpdateEVP_DigestFinalEC_KEY_new_by_curve_nameECDSA_sign_setupECDSA_do_sign_extest_BN_eqECDSA_do_verifyRAND_get_rand_methodRAND_set_rand_methodsetup_testsadd_test)W<DXYYZZ[[[W!X2\N]Ul^\X_+^:`AT^gazXbcdefgX_^.`5H^[anvXbgXhXi]^8jKSX|k lk!m k'",mQkl#qmn$^opp%1qQ&Vqyr'^sst (^3u:)O^ruy*^v+Xwk q;uB,U^mut-^v.Xwk   X x, [4 Y> YH ZP Z` [ Y y yB yL y    z  / ^   { 0 X& , pE 1P 2Y lk y  s 3 X # |* 4= ^Q YY Zc ym yu } ~ ~   5 X  6 X 0 78 XJ eQ c fk r 8 ^  g 9 X  : X8?;R^gzn<^z=^{>X {?$XFoZ@aAkBCDlE(-^;@SF[XnGvX,$<HXIJK&X5L<MYNaXpOwPQXRSTXUV `   @ ( 0 8 lp  8.symtab.strtab.shstrtab.rela.text.data.bss.rodata.str1.1.rodata.str1.8.rela.data.rel.ro.local.comment.note.GNU-stack.rela.eh_frame @$@p5 &d,P 12@2@Y T!@ O@@M g0! p""H@Nx H# W h0xN