基于FPGA的DES加密系统设计与实现(3)

2019-04-21 17:44

图2-2加密函数f的运算框图

E运算是一个函数,它将32位输入数据扩充为48位的数据块作为输出。E(R)的前

三位在R中的位置分别是32, 1和2,而E(R)中的最后两位则分别是R中是第32和1位。

表2-3 E变换表

每个单独的选择函数S1 ,S2... ., S8 ,将6位数据块作为输入,并且产生4位数据块作为输出,选择函数S,根据下表进行运算。

表2-4选择函数S1

假设S1是如上表定义的选择函数,B是输入的6位数据块,那么S1(B)定义如下:B的第1和6位构成0~3的一个数,设它为i。B的中间4位代表0~15的一个数,设它为j。在上表中查询第i行,第j列的那个数。比如,输入6位数据为011011,行是01,表示第1行,列由1101定义,表示第13列。第l行第13列的数是5,那么输出就0101

选择函数S1 ,S2... ., S8分别如下所示;

表2-5选择函数S

图2-2中的P运算如下表所示:

表2-6 P运算

2.1.4子密钥生成

图2-3子密钥生成

首先,64位的密钥KEY通过阵列选择变换操作PC-1,成为48位数据。

这48位数据又被分成两个部分,第1部分为C0,第2部分为D0。如果KEY的数据从1到64进行标号,那么C0就分别是KEY的57, 49, 41, ??,44和36位,同样地,D0分别是KEY的63, 55, 47,??,12和4位。

表2-7 PC-1

C0和D0定义后,再接着定义Cn和Dn如何从Cn-1:和Dn-1得到,n=1,2, ??,16。 这是根据表7的每个数据块的左移运算完成的。

表2-8左移表


基于FPGA的DES加密系统设计与实现(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018学年杭州中考科学模拟卷3 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: