热身题,直接给了私钥,但是有一些迷惑性的信息
2两个1024bit,5个512bit,用俩大数模小数,得到的值是0的即为p,q
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
from pmq import * x1=int('''00 E5 27 56 BF EB DA 06 F1 E7 C5 7C 4C 27 87 60 8F E7 1E C1 1F DE 1B BF 7A 4A 0C A7 82 46 36 5D 03 AE 68 EB 87 97 8A 33 61 DD 0F D9 F3 07 BF 35 52 CB 4D A7 83 B8 3F 06 BF CE ED 62 7E 35 4C C7 41 AD A1 C8 F6 4C 44 3F DD 01 44 F8 F2 C2 F4 C3 85 1F 1F 96 B8 89 7D 04 B7 2A 1C 39 FC 34 2E B2 87 E9 D4 84 1D 30 99 F6 45 96 DF 4A DF B1 84 B5 11 87 8B 3F 0C 4C 94 2C A9 92 0F FB 7F 99 47 1E 05'''.replace(' ','').replace('\n',''),16) x3=int('''00 F7 27 15 97 1B 35 84 F9 40 0D 95 61 B9 62 D2 39 09 D9 8F 74 F5 38 4C AF C1 96 79 38 20 8D B6 6A C8 04 9F 27 93 09 D3 7A 31 56 74 27 A8 46 4D B4 CD D1 60 14 B6 08 0D 5F 72 F7 75 60 F7 F7 97 47'''.replace(' ','').replace('\n',''),16) x4=int('''00 ED 5B 4F 9E C8 14 02 51 58 42 0D 73 34 07 89 B2 1E 85 C0 09 AA BD 04 EE 4F 37 E1 EC 6C B7 8B 37 AF D7 30 42 4C 53 BA 8C 16 75 14 EC 0E C9 7D FD 77 C6 CD 09 6E 56 49 55 4E 7B 68 5F E6 63 5E 53'''.replace(' ','').replace('\n',''),16)
p=x3 q=x4 e=65537 c=int(open(r'C:\Users\Administrator\Desktop\EasyRSA\flag.en','rb').read().encode('hex'),16)
print hex(M(e,p,q,c))
print '666c61677b57653163306d6543746633725f656c61627d0a'.decode('hex')
|