对称密码-分组加密(Des)

分组加密也称快加密,即每次加密一块明文。可以把块加密理解一种特殊的替代密码,但是其每次替代的是一大块。分组密码每次使用相同的密钥加密整个明文位分组。这意味着对给定分组内任何明文位的加密都依赖于与它同在一个分组内的其他所有的明文位。实际中,大多数分组密码的分组长度要么是128位(16字节),比如高级加密标准(AES),要么是64位(8字节),比如数据加密标准(DES)或三重DES(3DES)算法。

DES算法

强加解密算法基于两种操作,混淆和扩散。

混淆:使密钥和密文之间的关系尽可能模糊,常用元素位替换。

扩散:为了隐藏明文的统计属性而将一个明文符号的影响扩散导多个密文符号的加密操作,常用元素就是位置换。

DES算法概述

DES是一种选代算法。DES对明文中每个分组的加密过程都包含16轮,且每轮的操作完全相同,每轮都会使用不同的子密钥,并目所有子密钥k都从主密钥k中推导而来的。如下图迭代结构。

DES的Feistel网络

加密过程:

L_{i+1}=R_{i}

R_{i+1}=L_{i}F(R_{i},K_{i})

对应的密文为(R_{n+1},L_{n+1}

DES内部结构

(1)初始置换与逆初始置换

(2)f函数

先将32位进行E盒扩充为48位后与轮密钥K_{i}异或,分为6位一组,在进行s盒转换为32位,接着p置换。

E盒扩充:

s盒:

6位一组中第一个数和第二个数组成一个二进制数转换为十进制x作为行,第二到第五组成二进制数转换为十进制y作为列,s盒中第x行第y列的数字转换二进制作为四位输出

p置换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值