返回列表 发帖

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

如题
先在这里谢了!

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

没有最好的算法,,,
既要好,又要有效率,
这一直是一个矛盾,
而且,随着各种学科的发展(主要是数学,分布式计算)许多旧的算法已经陆续被找到攻击的方法.
迄今几乎所有公开的算法都曾经被人攻破过
1977年RSA算法首次公布时,作者曾经提出一个挑战:令RSA模数为n=114381625757888867669235779976146612010218296721242362562561842935706935245733897830597123563958705058959075147599290026879543541
密文省略.
唯一的方法是因数分解n.可是在那个年代,当时的因数分解法要4*10的16次方年才能完成.然而在1994年,就被4个人成功破戒了.600人,使用1600台计算机在业余时间工作,很快就 计算出解密指数,并生成明文信息!
所以,呵呵....
如果你的信息不长但是很重要的话,可以使用RSA,或者使用自己的没有公开的算法,不过这个算法可不要太简单了.如果信息很长,还是使用DES吧,可以用RSA加密密钥.
你对信息隐藏的程度越高,敌人就越有兴趣想看看真实的信息!

TOP

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

[这个贴子最后由x86在 2005/07/03 10:29pm 第 1 次编辑]

世界上最安全的加密算法叫一次一密乱码本(one-time pad)。one-time pad的算法有以下要求:
1、密钥必须随机产生
2、密钥不能重复使用
3、密钥和密文的长度是一样的。
one-time pad是最安全的加密算法,双方一旦安全交换了密钥,之后交换信息的过程就是绝对安全的啦。这种算法一直在一些要求高度机密的场合使用,美国和前苏联之间的热线电话、前苏联的间谍都是使用One-time pad的方式加密的。不管超级计算机工作多久,也不管多少人,用什么方法和技术,具有多大的计算能力,都不可能破解。一次一密的一种实现方式,如下:
public class OneTimePadUtil
{    public static byte[] xor(byte[] bytes, byte[] keyBytes)
  {      if (keyBytes.length != bytes.length)
    {            throw new IllegalArgumentException();      
    }      
byte[] resultBytes = new byte[bytes.length];        
for (int i = 0; i < resultBytes.length; ++i)
{  resultBytes = (byte) (keyBytes ^ bytes);  }        
return resultBytes;   
  }
}

使用例子:
String plainText = "温少";
String keyText = "密码";
byte[] plainBytes = plainText.getBytes();
byte[] keyBytes = keyText.getBytes();
assert plainBytes.length == keyBytes.length;
//加密
byte[] cipherBytes = OneTimePadUtil.xor(plainBytes, keyBytes);
//解密
byte[] cipherPlainBytes = OneTimePadUtil.xor(cipherBytes, keyBytes);
这是最简单的加密算法,但也是最安全的机密算法。

TOP

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

还还有没有其他的哦
先谢谢鹦鹉

TOP

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

[这个贴子最后由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进行5次,10次,或者2次加密
如果你不告诉别人几次,有人会知道吗?
安全吗

TOP

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

下面引用由lopo19832005/07/03 08:31pm 发表的内容:
还还有没有其他的哦
先谢谢鹦鹉
加我,我给你一些资料

TOP

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

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

TOP

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

我现在在创建一种加密方法
等成熟了
我发上来让大家给点意见哈

TOP

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

期待中``

TOP

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

下面引用由lopo19832005/07/09 09:23pm 发表的内容:
我现在在创建一种加密方法
等成熟了
我发上来让大家给点意见哈
到时候偶给你奖励

TOP

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

对称加密由可信任第三方生成私钥
然后再按照一定的算法分把私钥分发给双方
收发信息的时候互相交换彼此所拥有的一半私钥
来完成解密

TOP

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

目前还不知道有好的办法.

TOP

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

听博导说吹过的,其实一般来说,保密性和效率有点反比的关系的!很多的都不可能很好得综合一起的!

TOP

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

现在的加密技术用得最多的还是HASH函数加加密算发如SHA1 SHA2等

TOP

返回列表 回复 发帖