From 6fe0eadcb8f9ff02ba8bf836279c3c53835d1e17 Mon Sep 17 00:00:00 2001
From: loading2772 <1499584000@qq.com>
Date: Thu, 18 Jan 2018 20:48:18 +0800
Subject: [PATCH] Create 20180118-01.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
补充落下的任务
---
Homework/1Team/loading2772/20180118-01.md | 70 +++++++++++++++++++++++
1 file changed, 70 insertions(+)
create mode 100644 Homework/1Team/loading2772/20180118-01.md
diff --git a/Homework/1Team/loading2772/20180118-01.md b/Homework/1Team/loading2772/20180118-01.md
new file mode 100644
index 0000000..cfae2e8
--- /dev/null
+++ b/Homework/1Team/loading2772/20180118-01.md
@@ -0,0 +1,70 @@
+# 对称密码
+## 一次性密码本
+>一次性密码本是密码学中的一种加密算法。是以随机的密钥(key)组成明文,且只使用一次。原理就是:将明文和一串随机的比特序列(KEY)进行XOR运算得到密文。解密就是加密的反向运算,也就是说,用密文和密钥进行XOR运算,就可以得到明文。
+##DES
+DES是将64比特明文加密成64比特密文的对称密码算法,它的密钥长度为56比特,在密钥中每隔7比特就会插入一个用于错误检查的比特,所以一共64比特。
+DES是以64比特明文为一个单位来进行加密的,这64比特的一个单位成为一个分组,所以DES也是分组密码的一种。DES每次只能加密64比特的数据,如果加密的明文比较长就需要对DES加密过程进行迭代,迭代的加密方式称为模式,详见分组密码。
+>其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7。
+
其置换规则见下表: +57,49,41,33,25,17, 9,1, +58,50,42,34,26,18,10,2, +59,51,43,35,27,19,11,3, +60,52,44,36,28,20,12,4, +61,53,45,37,29,21,13,5, +62,54,46,38,30,22,14,6, +63,55,47,39,31,23,15,7, +64,56,48,40,32,24,16,8,+## DES解密 +DES的解密可以使用和加密完全相同的结构,只需要按照相反的顺序来使用子密钥就可以了。 +## 三重DES +三重DES(3DES)就是将DES重复三次得到的一种密码算法。明文经三次DES处理才会变成密文,由于DES的密钥是56比特,所以3DES的密钥长度是168比特。三重DES的加密过程是“加密->解密->加密”。 +三重DES的解密过程,刚好和加密过程相反,是执行“解密->加密->解密”的操作。 +# 分组密码 +分组密码算法实际上就是密钥控制下,通过某个置换来实现对明文分组的加密变换。为了保证密码算法的安全强度,对密码算法的要求如下。