首页 > 其他分享 >RSA学习之旅------2023.2.16

RSA学习之旅------2023.2.16

时间:2023-02-17 20:11:23浏览次数:33  
标签:rsa 16 RSA 明文 2023.2 密钥 ------ 选取

一,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

相关文章