三种加密算法,加密最强的加密算法是什么,三种加密算法,加密最强的加密算法属于
DES算法称为数据加密标准,即数据加密标准,是一种使用密钥加密的分组算法。
des算法的入口参数DES算法有三个入口参数:Key、Data和Mode。其中Key为7字节56位,是DES算法的工作密钥;数据为8字节64位,是要加密或解密的数据;DES模式以两种方式工作:加密或解密。
算法步骤:DES算法将一个64位明文输入块变为64位密文输出块,其密钥也是56位。其算法主要分为两步:
1.初始置换
它的作用是将输入的64位数据块逐位重新组合,将输出分成L0和R0两部分,每部分长度为32位。它的替换规则是把输入的第58位换成第一位,第50位换成第二位……以此类推,最后一位就是原来的第7位。
L0和R0是转置输出后的两部分,L0是输出的左32位,R0是右32位。例如,如果转置前的输入值为d1d2d 3…D64,则初始转置后的结果为:L0=d58d 50…D8;R0=D57D49……D7 .
替换规则见下表:58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,66。53,45,37,29,21,13,5,63,55,47,39,31,23,15,7, 1.逆置换
经过16次迭代,得到L16和r 16,作为逆置换的输入,逆置换正好是初始置换的逆运算,从而得到密文输出。
该算法是对称加密算法系统的代表,广泛应用于计算机网络系统中。
idea算法原理:IDEA也是一种块加密算法,加密64位数据块。密钥长度为128位。它基于‘不同代数群上混合运算’的设计思想。
产生密钥:
1.该算法使用52个子密钥(8轮中每轮6个子密钥,另外4个子密钥用于and输出转换)。2.将128位密钥分成八个16位子密钥。这些是算法的前八个子密钥(第一轮六个,第二轮前两个)。然后,将密钥向左移位25位,然后分成8个子密钥。前四个用于第二轮,后四个用于第三轮。密钥再次左移25位,生成另外8个子密钥,依此类推,直到算法完成。具体来说,IDEA总共进行8轮迭代运算,每轮需要6个子密钥,另外4个子密钥,所以总共需要52个子密钥,都是从128位密钥扩展而来。
加密过程:
1.输入的64位数据分组被分成四个16位分组:x1、X2、x3和x4。2.这4个子包成为算法第一轮的输入,共8轮。在每一轮中,这四个子包互为异或,相加相乘,与六个16位子密钥互为异或,相加相乘。
在每一轮中,执行的顺序如下:
(1)X1乘以第一个子密钥。(2)添加x2和第二子密钥。(3)添加了X3和第三个子密钥。(4)x4乘以第四个子密钥。(5)步骤(1)和步骤(3)的结果不同或。(6)区别步骤(2)和步骤(4)的结果,或。(7)将步骤(5)的结果乘以第五个子密钥。(8)将步骤(6)和步骤(7)的结果相加。(9)将步骤(8)的结果乘以第六个子密钥。(10)将步骤(7)和步骤(9)的结果相加。(11)区别步骤(1)和步骤(9)的结果,或。(12)区别步骤(3)和步骤(9)的结果,或。(13)区别步骤(2)和步骤(10)的结果,或。(14)区别步骤(4)和步骤(10)的结果,或。每一轮的输出是由步骤(11)、(12)、(13)和(14)的结果形成的4个子组。中间两个包交换后(上一轮除外),就是下一轮的输入。经过8轮运算,有一个最终的输出变换:(1) X1乘以第一个子密钥。(2)添加x2和第二子密钥。(3)添加了x3和第三个子密钥。(4) x4乘以第四个子密钥。IDEA算法的密钥长度为128位。设计者尽力使算法不受差分密码分析的影响。
MD5加密算法MD5加密是一种不可逆的加密算法。
Md5加密算法原理MD5加密算法将输入的信息处理成512位的数据包,每个数据包又分成16个32位的数据包。经过一系列的处理后,算法的输出由四个32位的包组成,将这四个32位的包串联起来将生成一个128位的哈希值。在MD5加密算法中,需要先填充信息,这样其字节长度的余数为512的结果就等于448。因此,信息的比特长度将扩展到N512 448,即N64 56字节,N是正整数。填充的方法如下:在信息后面填充一个1和无数个0,不满足以上条件不要停止用0填充信息。然后,将填充前的64位二进制信息长度附加到结果中。经过这两步,当前信息字节长度=N * 512 448 64=(N-1)* 512,即长度刚好是512的整数倍。这样做的原因是为了满足以下处理中对信息长度的要求。在MD 5中有四个32位整数参数,称为链接变量。它们是:
a=0x 01234567 b=0x 89 abcdefc=0x fedcba 98d=0x 76543210当这四个链接变量被设置时,算法将开始四轮循环运算,循环次数为信息中512位信息包的个数。把上面四个链接变量复制到另外四个变量:A到A,B到B,C到C,D到D,主循环有四轮(MD4只有三轮),每一轮都很像。第一轮做16次手术。每个运算对A、B、C、D中的三个进行非线性函数运算,然后将第四个变量(文中的一个子群和一个常数)加到得到的结果上。然后将结果右移一个不定数,加上A、B、C或D中的一个,最后用这个结果替换A、B、C或D中的一个。以下是每个操作中使用的四个非线性函数(每轮一个)。
F(X,Y,Z)=(XY)(( X)Z) G(X,Y,Z)=(XZ)(Y( Z)) H(X,Y,Z)=X?y?Z I(X,Y,Z)=Y?(X( Z))其中,是XOR,是AND,是OR,是负号。如果x,y,z的对应位是独立且一致的,那么结果的每一位也应该是独立且一致的。f是位运算的函数。即如果x,则y,否则z. H是逐位奇偶运算符。这些都做好之后,再分别把A,B,C,D加到A,B,C,D上。然后用下一个包数据继续运行算法,最终输出是A、B、C、D的级联,最后的A、B、C、D为输出结果,A为低位,D为高位,DCBA构成128位输出结果。
md5加密算法的应用Md5加密算法因其良好的安全性而被广泛使用,在商业上可以免费使用。MD5加密算法主要用于数字签名、文件完整性验证和密码加密。
推荐阅读:
神器标记图!
省下几千块的会员费,这五个网站就够了!
清华最强本科毕业生Top10出炉
其他计算机必读书籍:我推荐几本最经典的计算机专业必读书籍,帮助你快速系统地学习计算机专业,包括:《深入理解计算机系统》、《C++ Primer》、《Java编程思想》、《Fluent Python》、《数据结构(C++语言版)》、《算法图解》和《算法导论》。如何获得?长按二维码关注【Java编程社区】?长按上方二维码2秒,回复“196”即可获得网址戳“阅读原文”,查看上期精彩文章。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。