一,RSA算法简单描述 1,任意选取两个不同的大素数p和q计算乘积
2,任意选取一个大整数e,满足
,整数e用做加密钥(注意:e的选取是很容易的,例如,所有大于p和q的素数都可用)
3,确定的解密钥d,满足3)确定的解密钥d,满足
,即
是一个任意的整数;所以,若知道e和
,则很容易计算出d
4,将明文m(m<n是一个整数)加密成密文c,加密算法为
5,将密文c解密为明文m,解密算法为
二,练习
1,buuctf---rsa
用rsa--tool输入p,q,e即可得到d
2,用rsa--tool输入p,q,e得到d,n.然后用脚本得到m
e = 65537
p=9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q=11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n = p*q
#密文
C=83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
d=56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977
#求明文
M = pow(C,d,n) #快速求幂取模运算
print(M)
标签:rsa,16,RSA,明文,2023.2,密钥,------,选取 From: https://www.cnblogs.com/wlwl1234/p/17131405.html