j***a语言des算法,j***a实现des算法

kodinid 6 0

大家好,今天小编关注到一个比较意思的话题,就是关于java语言des算法问题,于是小编就整理了4个相关介绍j***a语言des算法的解答,让我们一起看看吧。

  1. 什么是DES算法?和什么是RSA算法?其特点是什么?
  2. DES加密算法基本模块及功能?
  3. des算法和ras算法的基本思想?
  4. des算法用来加密的密钥有多少位?

什么是DES算法?和什么是RSA算法?其特点是什么?

RSA 是高强度非对称加密系统密钥长度少则512位,多则2048位,非常难破解,至今尚未有人能破解超过***位以上的RSA,非常安全,但由于是***用非对称加密,加解密耗费时间很长,是DES加密时间的1000倍以上。

DES 是比较高对称加密系统,有效密钥长度只有56位,曾被老外几天之内联网破解过,加密速度快是它的特色,安全程度在现代计算机看来已经不够高了。

java语言des算法,java实现des算法-第1张图片-安济编程网
图片来源网络,侵删)

DES加密算法基本模块功能

DES加密算法使用相同的密钥进行加密和解密,其核心是替换、置换和异或等基本模块。

DES算法基本模块及功能包括IP(Initial Permutation)置换、Feistel结构和S盒代替。

IP置换将明文按照一定的顺序重新排列,得到一个置换后的明文;

java语言des算法,java实现des算法-第2张图片-安济编程网
(图片来源网络,侵删)

Feistel结构是DES算法的核心部分,通过多次迭代将明文加密成密文;

S盒代替是Feistel结构中用于替换的重要模块,将每6位数字转化为4位二进制数字。这些基本模块的组合运算过程实现了对明文进行高强度的保护,防止被非法窃取和篡改。

des算法和ras算法的基本思想?

desc算法和ras算法的基本思想是把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,其算法主要分为两步,第一步是初始置换第二步是逆置换,经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。

java语言des算法,java实现des算法-第3张图片-安济编程网
(图片来源网络,侵删)

des算法用来加密的密钥有多少位?

??DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,但***的是当时大多数黑客没有足够的设备制造出这种硬件设备。在1***7年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法

??但是,当今的计算机速度越来越快了,制造一台这样特殊的机器的花费已经降到了十万美元左右,所以用它来保护十亿美元的银行间线缆时,就会仔细考虑了。另一个方面,如果只用它来保护一台服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。由于现在已经能用二十万美圆制造一台破译DES的特殊的计算机,所以现在再对要求“强壮”加密的场合已经不再适用了。

??三重DES

??因为确定一种新的加密法是否真的安全是极为困难的,而且DES的唯一密码学缺点,就是密钥长度相对比较短,所以人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即***用三重DES。这种方法用两个密钥对明文进行三次加密,***设两个密钥是K1和K2,其算法的步骤如图5.9所示:

??1. 用密钥K1进行DEA加密。

??2. 用K2对步骤1的结果进行DES解密。

??3. 用步骤2的结果使用密钥K1进行DES加密。

??这种方法的缺点,是要花费原来三倍时间,从另一方面来看,三重DES的112位密钥长度是很“强壮”的加密方式了

到此,以上就是小编对于j***a语言des算法的问题就介绍到这了,希望介绍关于j***a语言des算法的4点解答对大家有用。

标签: 算法 密钥 加密