关于rsa的总结1

这篇博客介绍了RSA公开密钥加密算法的基础知识,包括其工作原理、密钥的使用和相关名词。博主分享了在CTF(Capture The Flag)挑战中遇到的RSA问题,提到了如何使用openssl命令解析公钥文件,并探讨了Python的gmpy2模块在解密过程中的作用。此外,还提及了安装gmpy2的困难以及对进一步学习数学和openssl命令的计划。博客末尾提供了关于RSA共模攻击的学习资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  ctf中的crypto项,关于rsa的考察是一类,来记录一下吧

  首先介绍一下什么是公开密钥加密:公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,另一个则用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个;因此其中一个可以公开,称为公钥,任意向外发布;不公开的密钥为私钥,必须由用户自行严格秘密保管,绝不通过任何途径向任何人提供,也不会透露给要通信的另一方,即使他被信任。

  记一下相关的名词,知识点(cipher就是密文,c就是密文,n是两个大质数p、q的积,Modulus即为n,n的二进制表示时所占用的位数,就是所谓的密钥长度,公钥 (n,e),私钥 (d,e),欧拉函数,n=pq。只有将n因数分解,才能算出p和q。加密要用公钥 (n,e)。解密要用私钥(n,d)。【pubkey.pem】是公钥文件,通过公钥文件可以得到e和n。【flag.enc】从文件名含有flag可以判断是加密后的密文。kali  》通过openssl对公钥文件【pubkey.pem】进行分解,使用命令【openssl rsa -pubin -text -modulus -in warmup -in pubkey.pem】,得到e= (0x),Modulus即为n=。m为明文message。python的gmpy2模块。gmpy2.invert(e, (p-1)*(q-1))可求d。pow(c ,d ,n)  求m 明文。openssl。)

  关于python的gmpy2模块,确实不好安装,不能像安装其他模块一样,pip install 模块名,的方式安装,linux和windows的gmpy2的安装还不一样,windows比linux好装些~,我的本机是win10的,反正我从kali虚拟机里第一遍没装成功,就放弃了,有空在搞吧,最后在本机win10的成功装上了。

  数学知识,不会,想学,但是,,,还是太懒惰了,寒假买的数学书,还没看多少,,哎~~

  kali中的openssl命令,这也是一个点,有空在百度谷歌,学习学习,目前做题就积累了一个命令就是openssl rsa -pubin -text -modulus -in warmup -in pubkey.pem

~~~RSA攻击之共模攻击

  链接:http://www.bystudent.com/?p=236                        

          https://www.ichunqiu.com/writeup/detail/603

          http://iromise.com/2016/11/29/RSA%E5%85%B1%E6%A8%A1%E6%94%BB%E5%87%BB/

以上三位大佬讲的非常详细了

  共模即n相同,使用两个不同的e加密同一个明文m,

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值