返回列表 发帖

求现今最好最有效的加密算发

[这个贴子最后由x86在 2005/07/03 11:22pm 第 2 次编辑]

鹦鹉这么快就回来了啊???
一次一密的密钥必须是随机的且与信息同样长度的.然后与明文进行异或,解密的时候,只要进行同样的异或就可以了.跟其他许多对称密钥体制一样,密钥的产生以及传输是这种加密方法最关键的地方.即如何去产生真正的不可预测的随机的比特流序列以及如何传输到对方?即如何产生上面代码中的keyBytes是最重要的!
下面有2种方法可以产生不可预知的比特流:
1:利用单向函数
假设有一个函数f,一个随机的输入s.定义x=f(s+j),然后设b是x的最低有效比特.那么序列j=1,2,3,4,5.....和一些随机数s所生成的b就会组成一个伪随机序列.des和安全散列算法就是利用单向函数来产生随机序列的.
2:Blum-Blum-Shub(BBS)伪随机序列产生器.又名:二次方程式残数生成器.过程是这样的:首先生成2个大的素数p和q.而且他们都是同余于3模4的.设n=pq,并选择一个随机的整数数x,x和n是互素的.初始化bbs生成器,初始输入为S(0)=x的平方(mod n),则通过下列循环产生随机序列:
1:S(j)=S(j-1)的平方(mod n)
2:B(j)是S(j)的最低有效比特,实际上就是奇偶性.
example:
p=3,q=7,n=21,s=6
初始S(0)=S的平方(mod 21)=15
S(1)=S(0)的平方(mod 21)=3
S(2)=9
S(3)=19
S(4)=4
S(5)=16
.
.
.
则得到序列B(1),B(2),B(3),B(4),B(5)为111100

TOP

求现今最好最有效的加密算发

问题是别人已经知道你是用md5加密的了.
所谓对任何一种密码算法的攻击都是知道其算法的前提下(这句话有点问题哦),当然实际情况比这要复杂得多.那才是真正的密码学的灵魂!
可以先用md5加密1次或者n次,但是之中如果使用一个并不为别人所知的加密算法.假设别人只得到你的密文,对加密和解密过程一无所知,肯定会比单纯的使用md5加密带来更多的破解困难!

TOP

返回列表 回复 发帖