资 源 简 介
首先先輸入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变换得到八位密文。