首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 簡易版des

簡易版des

  • 资源大小:123.97 kB
  • 上传时间:2021-06-30
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: c語言 c++ des

资 源 简 介

首先先輸入10bit的金鑰,接著輸入8bit的明文,然後得出加密的ecryption 和 decryption。 流程部分: 1. 需要产生两个密钥,输入的10位密钥,然后进行key[10]置换(类似于DES中的IP置换),将结果分为两组,设为templ[0~4}和tempr[0]; 2. 两组分别进行循环左移1位操作,得到L1和R1; 3. 将L1和R1合并,并将合并的数据经过P8置换,得到8位的密钥k1; 4. L1和R1再次进行循环左移2位操作,得到L2和R2; 5. 将L2和R2进行合并,并将合并的数据通过P8置换,得到8位的密钥k2;  明文加密: 1. 对8位明文text进行IP_a置换,得到temp; 2. 将temp分为两部分templ和tempr,然后将templ和tempr代入到fk中进行变换 3. 在fk中,首先对tempr通过E/P扩展变换将四位M1R扩展位八位,然后这八位同密钥k1进行模2加运算,将得到的结果分为两部分并且分别通过S_a和S_b进行和变换,变换后每一部分只剩2位。这两位进行合并,通过P4变换得四位的M1RP,然后将M1RP和M1L进行模2加运算得到四位的L,然后将L同M1R进行合并得到M2。 4. 然后将M2通过SW变换,即将其高四位和低四位进行交换。 5. 再通过fk函数(过程同3) 6. 再通过IP_b变换得到八位密文。

文 件 列 表

testdes.cpp
testdes.exe
VIP VIP
0.177891s