辽宁城乡建设部网站,网页设计的网站,企业所得税税率是多少2024年,网站如何做链接1、RSA的来源
RSA通常指基于RSA算法的密码系统#xff0c;令我没想到的是#xff0c;其名字的来源竟然不是某个含有特别意义的单词缩写而成#xff08;比如PHP#xff1a;Hypertext Preprocessor(超文本预处理器)#xff09;#xff0c;而是由1977年提出该算法的三个歪果…1、RSA的来源
RSA通常指基于RSA算法的密码系统令我没想到的是其名字的来源竟然不是某个含有特别意义的单词缩写而成比如PHPHypertext Preprocessor(超文本预处理器)而是由1977年提出该算法的三个歪果仁的姓氏首字母这么很随意的拼接起来的Ron Rivest、Adi Shamir和Leonard Adleman可它却是首个既能用于加密又能用于数字签名这个还不懂什么是签名书上是这么说的反正不是真的 签名的非对称加密算法
2、RSA算法的原理
RSA算法基于大数分解的数学难题大概原理如下
1密钥生成
·生成大质数p和q
选择两个大素数我做题遇到的通常是1024位的p和q
·计算公共模数n
另有一个数通常叫做模数n2048位计算npxq
·计算欧拉函数
欧拉函数f(n)字符fai打不出来或phi值钱啊做题遇到过f(n)(p-1)(q-1)
·计算公钥e
存在一个整数e通常叫公钥满足1ef(n) 通过伪随机数生成器生成且gcd(e,f(n))1即两个数的最大公约数为1gcd为欧几里得算法这里e的选取是很容易的因为所有大于p和q的素数都可用
·计算私钥d
计算d私钥使得dxe1(且是恒等于) mod f(n) 移项后dxe mod f(n)1也一样的。
解密的私钥d满足dxekf(n)1其中k是大于等于1的整数所以只要知道e和f(n),则很容易计算出d
2加密
使用公钥en加密消息mcm**em的e次方mod n 其中c为密文
3解密
成功生成密钥后只有接收者本人拥有私钥dn然后即可通过公式进行RSA解密。
使用私钥dn解密密文cmc**dc的d次方 mod nm表示解密后的明文c表示待解密的密文
3、RSA的运用
RSA算法大致广泛应用于以下领域
1数据加密
用于加密敏感信息如电子邮件、文件等等
2数字签名
用于验证消息的真实性和完整性
3SSL/TLS协议
用于保护网络通信如HTTPS
4身份认证
用于验证用户或设备的身份如智能卡、VPN等
4、RSA的安全性
其实RSA完全依赖于大数分解的难度做题通常以分解n为突破口。随着现在计算能力的提升密钥长度需不断增加才能一定程度的保持安全性像做题很容易找到工具分解n即使密钥是1024位我就发现不是很复杂的RSA把附件往AI那一扔也能跑出来当然不建议这么做因为啥也学不到目前网上公认2048位或更长的密钥被认为是安全的
5、RSA的优点与缺点
1优点
安全性高基于数学难题
支持加密和数字签名
2缺点
计算量太大速度较慢
密钥长度较长存储和传输开销大
总之RSA算法是现代密码学呢基础广泛应用于数据加密、数字签名等领域。尽管存在计算量大等缺点但其高安全性使它在信息安全中占据重要地位ctf中crypto方向也很常见
这里我在做一题RSA时运用了pythoncharm运行代码顺便学到了pycharm的安装与更新还有其中crypto dome库的安装
6、pycharm的运用
关于我的python和idle总是运行不了这个事在很多地方找了解决办法但貌似并没用最后直接把我的python系统直接卸载“从头来过”并在网上得到了关于python软件包的组装一步一步安装了近三个小时才达到正常使用的地步包括库的install和换源换背景等统统学了个遍
关于pycharm的下载及安装我就不写了安装的时候也忘了截图因为网上有很多教程都大同小异我主要想记下的是我自己出现的感觉比较棘手和浪费时间的问题
1国内源的无法查找与换源
这里我卸载了重新装以后按教程新建了后缀名为.ini的国内源网站址但在install crypto dome库时报错国内网douban查找不到相关的库这就很难办了 我一直以为可能是安装语句不正确的原因在网上和AI那里找了各种各样的语句执行install命令但最后发现报错还是一样这里忘了截图其实也没必要于是我突然想到了我建的那个.ini文件夹里的网址随即立即打开教程里给的国内网豆瓣复制到firefox里发现果然打不开
所以说问题就出在了这个网址上我的理解是可能pycharm将这个网址作为后端数据库需要执行什么样的命令就从这个网站调取既然这个网站访问不了了那install命令自然执行不了也就找不到crypto dome库了这么理解也不知道对不对
既然这样那我想了想能不能换个源站可以用的那种...
于是上AI一查的确有阿里的华为的然后发现内个用不了的douban也在好像就有点理解怎么个事了应该pycharm这款应用对应的国内网就是这几个 然后果断换了华为的继续install这次总算不像之前报错了但还是在报错 这我英语也不好手机翻译了一下 所以意思就是我的pycharm也过期了然后又找升级的口令 最后找到命令在终端里面升级 终于几经辗转这次install 终于成功了 最后自然是成功的获得了这题RSA算法的flag 诶我这时候有个微妙的感觉成功的喜悦似乎不仅仅在获得flag上还有很大一部分是经过我这么久的探索然后解决了让我困惑和棘手的问题 尽管是小问题 因为之前更多的是看别人怎么做自己就怎么做的被牵着鼻子解决比如之前用的app都是下载安装好就什么工具都可以用但这个组装crypto如果一上来就有人教而不去想虽然花费的时间要少很多但是下次同样的问题定然还要再到网上找一遍虽然现在的条件不难但很麻烦
别的不说光对命令理解了的话印象都会更深刻
比如这里终端升级python的命令
pip install --upgrade python
pip是python的包管理工具install安装upgrade升级前面加两个--最后接上python
还有安装crypto dome库就更好记了
pip install pycryptodome
前两个单词一样的后面拆开就是py crypto dome 这样很好记就算忘了下次再查一下包能记住的