对称密码体制

对称密码体制

ID:42467900

大小:200.50 KB

页数:16页

时间:2019-09-15

对称密码体制_第1页
对称密码体制_第2页
对称密码体制_第3页
对称密码体制_第4页
对称密码体制_第5页
资源描述:

《对称密码体制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、云南大学数学与统计学实验教学中心实验报告课程名称:计算机网络实验学期:XAM19学年第二学期成绩:指导教师:陆正福学生姓名:卢富毓学生学号:zeienimi实验名称:对称密码体制实验要求:必做实验学时:4学时实验编号:心口实验日期:2013/3/28完成日期:2013/6/6学院:数学与统计学院专业:信息与计算科学年级:3•■级一、实验目的:通过实验常握AES加密实验的构造算法,以及其重要思想。二、实验内容:查阅资料,实现AES密码体制的编码算法、译码算法、子密钥生成算法三、实验环境四、靈过程(请学生认真填写):实验过程、结果以及相应的

2、解释:1.预备知识密码学中的高级加密标准(AdvancedEncryptionStandard,AES),是一种对称加密的方法。木实验使用Java平台来编写的,虽然在java中已经很好的实现了AES等安全机制,但是为了了解如何实现,还是写了一个AES加密的java程序。2.实验过程A、原理分析:大多数AES计算是在一个特别的有限域完成的。AES加密过程是在一个4X4的字节矩阵上运作,这个矩阵又称为“体(state)",其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)o(Rijndael加密法因支持更大的区块,其矩

3、阵行数可视情况增加)加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:AddRoundKey—矩阵屮的每一个字节都与该次冋合金钥(roundkey)做XOR运算;每个子密钥由密钥生成方案产生。SubBytes-通过二个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。ShiftRows-将矩阵中的每个横列进行循环式移位。MixColumns—为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每列的四个字节。最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。B、具体代码如下:

4、〃如6.2,若是将每一行看做是一个对象的话〃具体实现的整体结构思想如此下图■田AES1>1>1>

5、j

6、Aesjava—[7]AesCipherAndlnvCipherjava[J]generateKeyjava冈KEYSIZE.javai[>jT]testAes.java—・测试程序密钥生成结果如下:*I11II■l/J丄明文1:AES11212121212121明文2:AESlwrwe2432vl343字节式加密,密文:A滝馬亦>敢鏗SO釦删饉胸?A?60坨?O蹇回HY撼Oc?字符串式加密,密文:96000e51378de53fa9b

7、68195446bb61eebb9dee8605e3acd55b7(解密后明文:AES11212121212121解密后明文:AES2wrwe2432v!343************************料则2*****************************明文:uuid=FSFASW24S-0342-FEW3-3F33-F44F2SE523432D字节式加密,密文:腹<粮回篩d?O]>z埠砸?>榻錯?怔橢輝扌帶?K[解密:uuid=FSFASW24S-0342-FEW3-3F33-F44F2SE523432D〃得到结果

8、与真实结果一样。说明正确具体代码如下:由于所写代码过多,所以,本代码附在最后!五、实验总结1.遇到的问题及分析:遇到问题:其实这次编写程序遇到的问题还是蛮多的!例如S盒子的生成、逆$盒子的生成,算法中的每一步轮转,密钥生成,密钥长度等都遇到了问题。由于时间仓促,这里就不一一举出来了。分析并解决:■通过图书馆查询相应资料以及课本查阅得到了一些解决。同时在网上查找到了一使用€41编写的程序代码以及算法理论。得到了解决。2.体会和收获。编程实现了BK,个人感觉4实现起来还是比较困难的(对于我来说)因为他中间的矩阵操作复杂。当然收获就是能有一定

9、能力来编写这样的一个程序了。六、参考文献计算机网络课本。七、教师评语:附录:OR代码**不木那那*那**木*那*不那*木**木不那*那**Aes.java木卒不不不那不**不木**不不那不**不木卒*不不那不**packageAES;publicclassAes{privateintNb;//privateintNk;//privateintNr;//以32位为单位的字长以32位为单位的密钥长度轮数privatebyte[]key;//密钥privatebyte[][]privatebyte[][]privatebyte[][]priv

10、atebyte[][]privatebyte[][]Sbox;//S盒矩阵iSbox;//s盒逆矩阵w;//密钥调度表Rcon;//轮常数表State;//状态矩阵/*/privatevoidSetNbNk

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。