CTF-CRYPTO-RSA-SupplementRabin
有时间就多更新一两题
SupplementRabin
题目分析
- supplement rabin
- lcm最小公倍数
开始
1.题目
task.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gmpy2
from libnum import n2s,s2n
from Crypto.Util.number import getPrime
p = getPrime(1024)
q = getPrime(1024)
n = p * q
e = 62674
gift = gmpy2.lcm(p - 1 , q - 1)
flag = 'flag{******}'
m = s2n(flag)
c = pow(m, e, n)
print('n: ', n)
print('gift: ', gift)
print('c: ', c)
# n = 10955952193867109007049171223448361703270316163381595475808977909570592186241572786000524779399251175639632506214659739654167891613877009909733465445850342326411605633577886819119591988666107494251525119526649254044083570299541059529064752255209948208082218652104303247582539992747196312466088319880461301389139117606269407703870835019991154758699118376408730038824561166793173838184174470555371713764515850687815448410533112337309598350391951304786480700678337420633644297059882623208007530826126677786131600580363410319193803307063974046834458230446741602905632962163026760269893441525950972199909583357468982874081
# gift = 456498008077796208627048800977015070969596506807566478158707412898774674426732199416688532474968798984984687758944155818923662150578208746238894393577097596933816901399078617463316332861087812260480213313610385585170148762480877480377698010633747842003425777171012635315939166364466513019420346661685887557872065839736629132505802075822875396741377694500918089173843789526174839060321832022100268187243257213917173221983445662947146747809251663111881830886870180454979426716332773356700423545040000189379843309371468459260828296151157054634095231514373653361915789381498348538500889098973984825991010648504425961736
# c = 2390287440151859074977431224934228871908658589114219437055778330078017256080407294950854031769415044849530500106107973064442224774416776613372272028520897887714853438411971741352120204280926215575627696198467787476776488046304855144648477611586181055760370743447167004437637149018261023077103394738526455699389273400155393224849043765105308958801039850369697369041520212713853838096565717144295998444842703204720418647454216996934227195023472168304089615094827736108547722389920595345321889908810804579094914929760431468622186030462158492820207844856615479267999739548998939564881663449866169651403298987670586488132
2.分析
(1)关系
g i f t = l c m ( ( p − 1 ) , ( q − 1 ) ) g m p y 2. l c m 求 最 小 公 倍 数 n = p ∗ q c = m e m o d n gift=lcm((p−1),(q−1)) \quad gmpy2.lcm求最小公倍数\\ n=p∗q\\ c=m^e mod n gift=lcm((p−1),(q−1))gmpy2.lcm求最小公倍数n=p∗qc=