当前位置:文档之家› 计算机安全数据加密标准简介

计算机安全数据加密标准简介


图 3.11 运算 S 的框图 若输入为 b1b2b3b4b5b6,其中 b1b6 两位二进制数表示 0~3 之间的某个数 b2b3b4b5 四位二进制数表示 0~15 之间的某个数。 在表 3.1 中 S1 盒的 b1b6 行 b2b3b4b5 列对应一个数 m, 0≤m≤15, 若 m 用二进制表示为 m1m2m3m4, 则 m1m2m3m4 便是它的 4bit 输出。 例如,输入为 101100,b1b6 =10=2, b2b3b4b5=0110=6,即在 S1 盒中的第 2 行第 6 列求得数 2,所以它的 4bit 输出为 0010。如图 3-12 所示。
图 3.5 DES 算法框图 二、DES 加密、解密原理 DES 工作的基本原理是,其入口参数有三个:key、data、mode。 key 为加密解密使用的密钥,data 为 加密解密的数据,mode 为其工作模式。当模式为加密模式时,明文按照 64 位进行分组,形成明文组,key 用于对数据加密,当模式为解密模式时,key 用于对数据解密。DES 的过程是:加密前,先将明文分成 64 位 的分组,然后将 64 位二进制码输入到密码器中。密码器对输入的 64 位码首先进行初始置换,然后在 64 位 主密钥产生的 16 个子密钥控制下进行 16 轮乘积变换,接着再进行末置换,即可得到 64 位已加密的密文。 DES 算法的主要步骤如图 3-5 所示。 假定信息空间都是{0,1}组成的字符串,信息被分成 64 位的块,密钥是 56 位。经过 DES 加密的密文 也是 64 位的块。设 m 是一个 64 位的信息块,k 为 56 位的密钥,即: m=m1,m2,…,m64k=k1,k2,…,k64
图 3.10 密钥加密运算 6、选择压缩运算 S 将前面送来的 48 位数据自左至右分成 8 组,每组 6 位。然后并行送入 8 个 S-盒,每个 S-盒为一非 线性代换网络,有 4 个输出。盒 S1 至 S8 的选择函数关系如表 3.1 所示。运算 S 的框图在图 3-11 中给出。
表 3.1DES 的选择压缩函数表 8 个 S 盒用于将将 6 位的输入映射为 4 位的输出。下面以 S1 盒为例说明具体变换过程:
图 3.6 初始置换 IP 2、逆初始置换 IP
-1

将 16 轮迭代后给出的 64 位组进行置换,得到输出的密文组,如图 3.7 所示。输出结果为阵中元素按 行读的结果。注意到 IP 中的第 58 位正好是 1,也就是说在 IP 的置换下第 58 位换为第一位,同样,在 IP 的置换下,应将第 1 位换回第 58 位,依此类推。由此可见,输入组 m 和 IP (IP(m))是一样的。IP 和 IP 在密码上的意义不大,它的作用在于打乱原来输入 m 的 ASCII 码字划分关系。
-1
图 3.7 逆初始置换 IP 3、乘积变换 T
-1
它是 DES 算法的核心部分,如图 3.8。将经过 IP 置换后的的数据分成 32bit 左右两组,在迭代过程中 彼此左右交换位置。每次迭代只对右边的 32bit 进行一系列的加密变换,在次轮迭代即将结束时,把左边 的 32bit 与右边的 32bit 诸位模 2 相加,作为下一轮迭代时右边的段,并将原来右边的未经变换的段直接 送到左边的寄存器中作为下一轮迭代时左边的段。 在每一轮迭代时, 右边段要经过选择扩展运算 E, 密钥加 密运算,选择压缩运算 S,置换运算 P 和左右混合运算。
一、数据加密标准简介 数据加密标准(DES,Data Encryption Standard)为密码体制中的对称密码体制,是 1972 年美国 IBM 公司研制的对称密码体制加密算法。 1976 年被美国联邦政府的国家标准局确定为联邦资料处理标准 (FIPS) , 随后在国际上广泛流传开来。 DES 现在已经不是一种安全的加密方法,主要因为它使用的 56 位密钥过短。为了提供实用所需的安全 性,可以使用 DES 的衍生算法 3DES 来进行加密,虽然 3DES 也存在理论上的攻击方法。在 2001 年,DES 作 为一个标准已经被高级加密标准(AES)所取代。 DES 是一种对称密码体制,它所使用的加密和解密密钥是相同的,是一种典型的按分组方式工作的密 码。其基本思想是将二进制序列的明文分成每 64 位一组,用长为 64 位的密钥对其进行 16 轮代换和换位加 密,最后形成密文。DES 的巧妙之处在于,除了密钥输入顺序之外,其加密和解密的步骤完全相同,这就使 得在制作 DES 芯片时,易于做到标准化和通用化,这一点尤其适合现代通信的需要。在 DES 出现以后,经 过许多专家学者的分析论证,发现它是一种性能良好的数据加密算法,不仅随机特性好,线性复杂度高, 而且易于实现,加上能够标准化和通用化。因此,DES 在国际上得到了广泛的应用。
其中 k8,k16,k24 ,k32 ,k40 ,k48 ,k56 ,k64 是奇偶校验位。真正起作用的密钥仅 56 位。下面分别介 绍 DES 各个部分的细节。 1、初始置换 IP 将 64 个明文比特的位置进行置换,得到一个乱序的 64 位明文组,然后分成左右两段,每段为 32 位, 以 L0 和 R0 表示,如图 3.6 所示。 如图可知 IP 中各列元素位置号数相差为 8,相当于将原明文各字节按列写出,各列比特经过偶采样和 奇采样置换后,再对各行进行逆序,然后将阵中元素按行读出。 例如:输入 m=m1,m2,…,m64 输出 IP(m)= m58,m50,m42 …,m15,m7
图 3.8 乘积变换
4、选择扩展运算 E 这个运算将数据的右半部分 Ri 从 32 位扩展到了 48 位。由于这个运算改变了位的次序,重复了某些 位, 故被称为扩展置换。 其变换表在图 3-9 中给出。 令 s 表示 E 输入的下标, 则 E 的输出将是对原下标 s≡0 或 1(mod 4)的各比特重复一次得到的。即对原第 32,1,4,5,8,9,12,13,16,17,20,21,24, 25,28,29 各位重复一次得到的数据扩展。将表中数据按行读出即得到 48 位输出。 这个操作有两个目的: 产生了与密钥同长度的数据以进行异或运算;提供了更长的结果,使得在替代运算时能进行压缩。 5、密钥加密运算 将子密钥产生器输出的 48 位子密钥 与选择扩展运算 E 输出的 48 位数据按位模 2 相加。如图 3-10 所 示。
相关主题