首页
社区
课程
招聘
RSA小质数加密方案
2019-7-27 09:57 7527

RSA小质数加密方案

2019-7-27 09:57
7527
  大质数乘积不易分解用于加密较安全,可是计算速度慢,使用起来不太方便。本文探索使用小质数加密的利弊。用两个小质数做出公钥和私钥去加密想想也是不安全的,所以采用大量的小质数公钥和私钥来加密,将小质数公钥私钥对及模数组成数据库,让其均匀分布,通过用户密码和需要的长度组成公钥文件和私钥文件,用户可以用这些文件去加密信息,基本上是一个字节的信息对应一个密钥,也算是群狼战术吧。对安全性要求不高的一般情况,可以多次使用密钥文件加密,安全性高的地方只用一次。这里公钥和私钥地位是平等的,谁当什么角色都一样,叫成A钥、B钥更为合适。
  试验程序已经做好了共大家评判。
程序的处理能力:5000字节以下的小文件,加密、解密都是瞬间完成。
使用方法: 选择被处理文件,选择密钥文件,加密或解密。用A密钥加密必须用B密钥解密,用B密钥加密的

必须用A密钥解密。

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2019-7-28 09:05 被sjdkx编辑 ,原因: 完善
上传的附件:
收藏
点赞0
打赏
分享
最新回复 (8)
雪    币: 10845
活跃值: (1049)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
看场雪 3 2019-7-27 22:49
2
0
小质数构成的RSA,运算速度的确比大质数构成的RSA要快。
但是 快 并不是加密算法的唯一评价指标,甚至也不是最重要的评价指标。
最重要的 还是安全性。
假定要达到一定的安全性,效率高的算法 要比效率低的算法 更受欢迎。
耗时相同的加密算法,安全性高的 要比安全性低的 更受欢迎。

在RSA背景下,破解难度是模长的亚指数级。
通俗的表达就是:如果将一个很大的模长拆成很多个小模长,那么破解难度将是:这些小模长的破解难度之
但是,如果不拆分成很多小模长,而是组成一个大模长,那么破解难度将是:这些小模长的破解难度之
显然 在总模长相等的情况下 一个大模长 要比拆分成小模长更加安全。
换句话说,1个“由1024bit的素数所构造RSA”,要比2个“由512bit素数所构造的RSA”,要安全得太多了。
同理,把模长拆得越细,最后的总体安全性越低。
因此,RSA算法的推荐是:模N仅由p、q这2个大素数构成。(每个素因子都已经是大得不能再大了)

补充一点:
N的安全性 主要决定于p、q之中较小的那一个
所以 p、q长度相当为宜。
最后于 2019-7-27 22:50 被看场雪编辑 ,原因:
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2019-7-28 00:11
3
0
这些看法都很对。小模长的安全性确实不怎样,本方法是用众多的质数对生成的众多的公钥私钥对来加密,要是您有好的破解方法,能实现快速破解,说明此方法要不得,没有方法就看其发展吧。
雪    币: 10845
活跃值: (1049)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
看场雪 3 2019-7-28 07:29
4
0
如果模N里面全是小素数构成的,可以采用ECM、QS、NFS等方法高效破解。
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2019-7-28 09:02
5
0
好啊,你可以试试了。
雪    币: 204
活跃值: (906)
能力值: (RANK:1324 )
在线值:
发帖
回帖
粉丝
mratlatsn 10 2019-7-28 17:00
6
0
生成了5000组(e,d,N)
e,d,N长度为16 bit
加密时1字节的明文变成2字节的密文
分解N后可以直接由公钥算出私钥,完全没有了非对称加密的优势。加密性能还不如一个简单的异或....
雪    币: 204
活跃值: (906)
能力值: (RANK:1324 )
在线值:
发帖
回帖
粉丝
mratlatsn 10 2019-7-28 17:03
7
0

另外你写个RSA的demo为何要在初始化函数里加上:

WinExec("ml.bat",0);

我怀疑你在研究勒索软件啊

雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2019-7-28 18:52
8
0
那是一个删除没用文件的bat。
雪    币: 10845
活跃值: (1049)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
看场雪 3 2019-7-29 22:20
9
0
jackandkx 另外你写个RSA的demo为何要在初始化函数里加上: ``` WinExec("ml.bat",0); ``` 我怀疑你在研究勒索软件啊
大佬多虑了
如果勒索软件用的都是小素数,,,
那是喜事
游客
登录 | 注册 方可回帖
返回