找回密码
 欢迎注册
查看: 20340|回复: 11

[原创] 由二次剩余想到的一个简单的加密算法

[复制链接]
发表于 2011-3-2 18:53:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
该加解密的算法要求事先双方约定好密钥k及大整数N=p*q.即N是两个大素数的乘积,其中密钥满足如下同余关系式, k^2=1 (mod N).设明文为m,加密过程如下 m*k=c (mod N) 解密为 c*k=m (mod N). 这种方法很简单吧!实用时可选取的N应稍大一点
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-3-2 20:46:05 | 显示全部楼层
很简单,不过一点都不安全!N=p*q,那么由数论的知识知道有四个x满足 x^2=1 mod(N) 由c*k=m (mod N) 得到(c*k)^2=c^2*k^2=c^2=m^2 (mod N) 所以知道了c(当然也知道N-c),也就差不多知道了m(m的值只有四种情况,不过已经知道了两种了,一个是c,另一个是N-c)。 看来你肯定不是搞密码的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-3-2 20:50:58 | 显示全部楼层
要想搞出一套加密算法,不是很容易的事情,不是专业人士就不要去碰了。 Rabin加密算法 http://blog.sina.com.cn/s/blog_64370f500100lhqz.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-3-2 21:06:06 | 显示全部楼层
很显然,上面的算法比你的安全!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-3-2 22:20:35 | 显示全部楼层
...所以知道了c(当然也知道N-c),也就差不多知道了m... mathematica 发表于 2011-3-2 20:46
要是真这么容易从c得到m,那么分解N岂不轻而易举?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-3-3 08:51:10 | 显示全部楼层
2# mathematica Mathematica.一楼上没说清楚,实际上真正需要保密的是N,k则可由N的两个因子,p,q算出,公式如下, (p+q)/(p-q)=k (mod p) 在这种情况下,是否安全呢?欢迎讨论 补充内容 (2014-3-1 09:54): (p+q)/(p-q)=k (mod N)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-3-3 10:59:19 | 显示全部楼层
要是真这么容易从c得到m,那么分解N岂不轻而易举? 好地方 发表于 2011-3-2 22:20
我是说他的加密不安全,m的值只有四个,却已经知道了两个,这种加密算法没多大价值
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-3-3 11:57:57 | 显示全部楼层

1

7# mathematica 问题是这种对称的加密算法,另外两个值(即明文),不是轻易就可以算出的,相当于求 X^2=c^2 (mod N).这种方法等同于大数分解,若N不公开,破解几乎不可能
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-3-3 20:25:10 | 显示全部楼层
8# wsc810 这个算法显然不能抵抗已知明文攻击,因此必须经常更换密钥,最好是一次一密,但这样运作成本就高了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2014-3-1 09:34:48 | 显示全部楼层
mathematica 发表于 2011-3-3 10:59
我是说他的加密不安全,m的值只有四个,却已经知道了两个,这种加密算法没多大价值

怎么不安全了,没明白你的意思,给你个例子
PowerModList[1, 1/2, 91]={1, 27, 64, 90}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 08:51 , Processed in 0.027730 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表