DES加密过程及替换算法

1、DES加密过程

①将64位明文进行初始置换;

②将置换后的明文分为32位的L0和R0两部分;

③左边L1=R0;右边R1=L0⊕f(R0,K1),其中f()为轮函数,K1为48bit的子密钥;

④进行16轮迭代;

⑤将最后得到的R16和L16进行拼接后,再进行逆置换,得到密文。

(1)置换

初始置换和逆置换都是按位置换。如初始置换中第一个数字58表示:将原始数据中的第58位换到现在的第1位。

(2)轮函数

1)E扩展置换

32bitR0-->48bitR0 # E扩展置换  

①将原始32bit分为8个,每个4bit;

②每个4bit前后各增加一位,增加的第一位是前一个4bit的最后一位;增加的最后一位是后一个4bit的第一位。

2)S盒压缩处理

将置换后的48bit数据分为8个,每个6bit,根据6进4出S盒压缩成4bit。

3)P盒置换

和初始置换一样,如16表示,将原始数据中的第16位换到现在的第1位。

(3)密钥生成

①64bit密钥,去除8个校验位,剩余56bit;

②将56bit通过PC-1表进行置换;

③将置换后的56bit分为C0和D0两部分;

④将C0和D0按照移位次数表移动左移得到C1和D1;

⑤C1和D1拼接后,通过PC-2表进行置换;最后得到48bit的K1。

2、DES软件和硬件实现

软件实现通常指的是在桌面CPU或智能卡或手机的嵌入式微处理器上运行DES。

硬件实现指的是在专用集成电路(ASIC)和现场可编程门阵列(FPGA)的IC上运行DES。

3、DES替换算法

双重DES指的是加密两次。

3DES,也称TDES,对每个数据块应用三次DES加密算法。

3DES加密过程为:C=Ek3(Dk2(Ek1(P)));

3DES解密过程为:P=Dk1(EK2(Dk3(C)))。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值