欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > 加密与解密算法实验心得体会

加密与解密算法实验心得体会

时间:2020-04-18 13:35

DES加密算法的简单实现实验报告

苏州科技学院电子与信息工程学院实验报告实验一(实验)课程名称信息安全技术实验名称DES加密算法的简单实现实验报告一、实验室名称:电子学院213机房二、实验项目名称:DES加密算法的简单实现三、实验学时:2学时四、实验原理:DES的描述  DES是一种分组加密算法,他以64位为分组对数据加密。

64位一组的明文从算法的一端输入,64位的密文从另一端输出。

DES是一个对称算法:加密和解密用的是同一个算法(除密钥编排不同以外)。

  密钥的长度为56位(密钥通常表示为64位的数,但每个第8位都用作奇偶检验,可以忽略)。

密钥可以是任意的56位数,且可以在任意的时候改变。

  DES算法的入口参数有3个:Key,Data,Mode。

其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或解密的数据:Mode为DES的工作方式,有两种:加密或解密。

  DES算法的工作过程:若Mode为加密,则用Key对数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;若Mode为解密,则用Key对密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。

DES算法详述  DES算64位的明文输入块变为64位的密文输出块,他所使用的密钥也是64位,DES对64位的明文分组进行操作。

通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。

然后进行16轮相同的

DES加密算法的简单实现实验报告

苏州科技学院电子与信息工程学院实验报告实验一(实验)课程名称信息安全技术实验名称DES加密算法的简单实现实验报告一、实验室名称:电子学院213机房二、实验项目名称:DES加密算法的简单实现三、实验学时:2学时四、实验原理:DES的描述  DES是一种分组加密算法,他以64位为分组对数据加密。

64位一组的明文从算法的一端输入,64位的密文从另一端输出。

DES是一个对称算法:加密和解密用的是同一个算法(除密钥编排不同以外)。

  密钥的长度为56位(密钥通常表示为64位的数,但每个第8位都用作奇偶检验,可以忽略)。

密钥可以是任意的56位数,且可以在任意的时候改变。

  DES算法的入口参数有3个:Key,Data,Mode。

其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或解密的数据:Mode为DES的工作方式,有两种:加密或解密。

  DES算法的工作过程:若Mode为加密,则用Key对数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;若Mode为解密,则用Key对密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。

DES算法详述  DES算64位的明文输入块变为64位的密文输出块,他所使用的密钥也是64位,DES对64位的明文分组进行操作。

通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。

然后进行16轮相同的

目前的数字认证和加密算法的主要技术及其应用

没有加注释。

好好看看吧。

能实现功能

public class Test { public static void main(String[] args) { String encodeItem = \\\\\\\\_b2_U2ab__; String decodeItem = encode(encodeItem); System.out.println(encodeItem); System.out.println(decodeItem); System.out.println(decode(decodeItem)); } public static String encode(String encodeItem) { if (encodeItem == null || encodeItem.length() == 0) { return null; } StringBuilder result = new StringBuilder(); for (int i = 0; i < encodeItem.length(); i++) { char code = encodeItem.charAt(i); if (Character.isDigit(code)) { int codeValue = Character.digit(code, 10); if (codeValue <= 0) { result.append(code); } else { if ((i + 1) < encodeItem.length()) { for (int j = 0; j < (codeValue + 1); j++) { result.append(encodeItem.charAt(i + 1)); } } else { result.append(code); } } } else if (code == '_') { result.append(\\\\\\\\UL); } else { result.append(code); } if ((i + 1) != encodeItem.length()) { result.append('_'); } } return result.toString(); } public static String decode(String decodeItem) { if (decodeItem == null || decodeItem.length() == 0) { return null; } StringBuilder sbItem = new StringBuilder(decodeItem); for (int i = 0; i < sbItem.length(); i++) { if (sbItem.charAt(i) == '_' && (i + 2) < sbItem.length()) { while (sbItem.charAt(i + 1) == '_' && sbItem.charAt(i + 2) == '_') { sbItem.setCharAt(i + 1, ' '); i++; } } } StringBuilder result = new StringBuilder(); String[] code = sbItem.toString().split(_); for (int i = 0; i < code.length; i++) { String codeItem = code[i]; if (codeItem.length() == 1) { result.append(codeItem); } else if (\\\\\\\\UL.equals(codeItem)) { result.append(_); } else { result.append(codeItem.length() - 1); } } return result.toString(); }}

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片