网络与信息安全学习(二) 2021-09-05 网络 暂无评论 2336 次阅读 # 2.1 密码学原理 ##2.1.1 基本概念 信 源:消息的发送者 信 宿:消息的目的地(接收者) 明 文:没有加密的消息(P) 密 文:加密过的消息(C) 密 钥:特殊的规则或字符组合(K) 信 道:用来传送消息的通道 明文空间:可能的明文集合P 密文空间:可能的密文集合C 密钥空间:可能的密钥集合K 加密变换:C=Ek(P),解密变换:P=Dk(C) 五元组(P、C、K、Ek、Dk)——密码体制 注意,对密码体制要求: (1)对所有密钥,加密算法必须实时有效。 (2)体制的安全性不依赖于算法的保密性,仅依赖于密钥的保密。 密码学包括:密码编码学和密码分析学。 如果某种密码体制中的密码,不能在一定的时间内被计算资源所破译,则称该密码体制是安全的! ##2.1.2 替换(代替)密码 凯撒密码(Caesar cipher) 加密方法1:把明文字母表移动k个字母,k成为一个密钥。如:a—>D,如:attack—>DWWDFN。 加密方法2: 让明文中的每个符号(假设有26个字母)都映射到其它某一个字母上。如: 明文:a b c d e f g h i j k l m n o p q r s t u v w x y z 密文:Q W E R T Y U I O P A S D F G H J K L Z X C V B N M 密钥对应26个字母,则明文attackQZZQEA。 密钥可能有26!=4*1026种。 ##2.1.3 换位密码 换位密码是保留明文字母不变,但改变字母的位置,即按照特定的规则重新排列明文。如: 明文:STRIKE WHILE THE IRON IS HOT 密文:TOH SI NORI EHT ELIHW EKIRTS 换位规则是:将明文以相反的顺序重写。 柱形换位密码: 加密原则: 1、加密消息中须包含冗余信息,以防止主动入侵者用假消息欺骗接收者; 2、加密消息中须包含序号、时间戳等信息,以防止主动入侵者用旧消息进行重放攻击。 # 2.2 对称密钥密码体制 对称密钥密码体制也称对称密码体系或单钥密码体系。其特点是,体制中加密密钥和解密密钥是相同的或可相互推导出来,即加解密用的是同一个密钥。故称“单钥”。 对称密码体制分为两大类: 分组密码机制—按分组加密 序列密码机制—按数位加密 在密码体制中,加解密算法往往是不保密的,因此,密钥就必须保密,故发送密钥需用另一个安全的信道。 对称密码体制的优点: 1、加密效率高、速度快。 2、密钥相对较短,易实现。 对称密码体制的缺点: 1、通信双方都要保持密钥的机密性。 2、在大型网络中,每个人需持有很多密钥。 3、为了安全需要经常更换密钥。 具体加密中一般重复使用混乱和扩散两种方法。混乱是改变信息块使输出位和输入位无明显的统计关系。扩散是将明文位和密钥效应传播到密文的其它位。 ## 2.2.1 DES加密算法 1、DES算法简介 DES算法于1977年由ANSI发布,它是基于对称密钥密码体制的一种加密算法,密钥长度为56位。1999年因受到破解攻击,而推出新的AES算法。 对称密钥密码体制的算法有多种,如:美国的DES、AES、RC5、RC2、RC6,欧洲的IDEA,日本的FEAL等。 2、DES算法概要 首先把明文分成若干个64-bit的分组,算法以一个分组作为输入,通过一个初始置换(IP)将明文分组分成左半部分(L0)和右半部分(R0),各为32-bit。 然后,进行16轮完全相同的运算,这些运算称为函数f,在运算过程中数据与密钥相结合。再经过16轮运算后,左、右两部分合在一起,经过一个末转换(初始转换的逆置换IP-1),输出一个64-bit的密文分组。其中,在每一轮中密钥位移位,然后再从密钥的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作与48位密钥结合,通过8个S盒将这48位替代成新的32位数据,再将其置换一次。这四步运算构成了函数f。接着,通过另一个异或运算,函数f的输出与左半部分结合,其结果即成为新的左半部分。将该操作重复16次,实现DES的16轮运算。 初始置换(换位) 密钥置换(压缩置换)密钥由64位变为56位。 扩展置换 S盒代替(非线性运算)提高安全性 P盒置换 末置换 3、DES的解密 DES是一种对称密钥密码算法,其解密密钥和加密密钥相同,且解密过程为加密过程的逆过程。DES解密算法的数学公式表达如下: R16L16←IP(16 位密文) 对于i=16,15,…,1, Ri-1← Li Li-1 ←Ri⊕f(Li,Ki)(64 位明文)! IP-1 (R0L0) DES 算法的解密算法与加密算法也相同,只是各子密钥的顺序相反,即为K16,K15,…,K1。 4、DES算法的安全性 DES算法已推出二十多年,对它最有效的攻击仍然是穷举攻击,所以它仍是较安全的算法。其特点是: 1)其保密性取决于对密钥的保密,算法公开; 2)目前,不知道密钥而要在一定的时间内破译是很难的,至少要建立256或264个表,用现有硬件与软件资源难以攻击。 3)明文或密钥的微小改变都会使密文产生很大变化,即DES 有很强的“雪崩效应”,使攻击者无法分而破之。 综上所述,由DES 算法构建的安全机制是可靠的,采用穷举方式攻击是不现实的。 ##2.2.2 三重DES DES的问题是密钥太短,迭代次数也太少,仍然存在破解的可能,为此,采用三重DES增加DES的强度。因为把算法一次使用多个密钥,等同于使用了更长的密钥。 三重DES算法表示为: C=EK3(DK2(EK1(P))) 通常取K3=K1,则上式变为: C=EK1(DK2(EK1(P))) 如图2-7 即使用两个密钥进行三重DES(密钥长度达到112位),第一阶段使用密钥K1对明文P进行加密,第二阶段使用密钥K2对第一阶段的输出进行变换,第三阶段又使用K1对第二阶段的输出再进行一次加密,最后输出密文。 ##2.2.3 AES算法-高级加密标准 DES算法加密速度快,但其56位密钥太短,且DES主要是针对硬件实现的,而今常需要针对软件来实现的算法。 2001年11月Rijndael算法成为新的AES标准被提出,后被人们称为AES算法。该算法的密钥长度达到128位,安全强度高于DES算法1021倍。 AES算法的优点是:能快速实现,算法设计简单,分组长度可变。但也有一定的局限性,即不能在智能卡上实现。 # 2.3 非对称密钥密码技术 非对称密钥密码体制又称公钥密码体制,也称双钥体制,即用一对密钥(一个私有,一个公开)对信息进行加解密的密码体制。 ##2.3.1 非对称密钥密码体制原理 在非对称密钥密码体制中,加密密钥EK(公钥)是公开的,而解密密钥DK(私钥)则是要保密的。至于加密算法和解密算法也是公开的。 工作原理: A为接受别人向他发送加密的报文,先设计一个加密密钥EK和一个解密密钥DK ,将加密算法和加密密钥EK 放在一个可公开访问的文件中。若B想向A发送一个加密的报文P,B首先查询公开文件找到EK ,然后用EK加密报文P,将密文C=EK(P)发送给A。 A使用解密算法和解密密钥DK解开C获得明文P,P=DK(EK(P))。因EK是公开的,所以谁都可以向A发送加密的报文;但只有A知道DK ,且其他人不能从EK推导出DK ,所以,只有A能解开加密的报文。 基于非对称密钥密码体制的算法要求每个用户有两个密钥,一个是公开密钥(即加密密钥),是他人用来向该用户发送加密信息的,另一个是私有密钥(即解密密钥),是用户用来解密信息的。 由于加密密钥是公开的,而解密密钥只需要用户自已保存,因此,不存在传输密钥的问题。即使在一对陌生的用户之间,也可以建立一条安全的通信通道。 ##2.3.2 RSA算法 基于非对称密钥密码体制的RSA算法,是1977年由美国麻省理工学院开发的。它是目前最有影响力的加密算法之一,能抵抗大量的、已知的密码攻击。 1、RSA简介 RSA算法涉及到三个数据:n、e1和e2。其中,n是两个大素数p、q的乘积,n的二进制位数,就是算法的密钥长度。 e1和e2是一对相关数,e1可任意取,但要求e1与(p-1)*(q-1)互质;再选择e2 ,要求(e2*e1)mod((p-1)*(q-1))=1。 则 (n,e1),(n,e2)就是密钥对。 RSA加密过程: 设P为明文,C为密文,则:P=C^e1 mod n;C=P^e2 mod n;e1和e2可以互换使用。 RSA加密过程如下: 1)取两个大素数p和q(保密); 2)计算公开的模数n=p*q(公开); 3)计算欧拉函数(n) =(p-1) * (q-1)(保密),丢弃p和q,不要让任何人知道; 4)随机选取整数e1,使其与(p-1) * (q-1)互质。(e1为加密密钥,公开); 5)计算e2 ,满足e2 * e1≡1 mod (n),(e2为解密密钥,保密)。 举例: 选择 p=3,q=11,得到 n=33, (p-1) * (q-1)=2*10=20。 由于7和20互质,故选 e1=7。 对于所选的 e1=7,解方程 7 * e2=1 mod 20,得到, e2 =3。 故公钥为(7,33),私钥为(3,33)。 由于所选的p和q太小,当然容易破译。该例只是说明一下原理。 最常选用的e1值有三个3、17,65537。 6)加密:将明文P按模为n自乘e1次幂加密,产生密文C,即:C=P^e1 mod n; 7)解密:将密文C按模为n自乘e2次幂解密,得出明文P,即:P=C^e2 mod n。 RSA安全性: 1、产生密钥有难度,不易做到一次一密。 2、RSA的安全性依赖于大数分解,从n找出两个大的质因子p和q很困难。但并没有从理论上证明,破译RSA的难度与大数分解难度等价。 3、RSA的分组长度大,为保证安全性,n至少要 600bit以上,故RSA算法计算量大,加密速度较慢。 4、多长的密钥是安全的?目前讲,1024位。 5、实际当中,RSA只用于小量数据的加密,如:加密信息摘要。大量数据加密仍采用改进的DES算法。 # 2.4 密码技术的发展 ##2.4.1 量子密码技术 量子密码学是量子力学与现代密码学相结合的产物。 1970年,美国科学家威斯纳(Wiesner)首先将量子力学用于密码学。1984年,IBM在威斯纳思想的基础上研究发现,单量子态虽然不便于保存但可用于传输信息,提出基于量子理论的编码方案及密钥分配协议,该协议称为“BB84协议”。 基本原理 : 量子密码学利用量子的不确定性,使任何在通信信道上能够实现的窃听行为不可能不对通信本身产生影响,从而达到发现窃听者的目的,保证通信的安全。 量子密码学的量子密钥分配原理来源于光子偏振的原理:光子在传播时,不断地振动。如果一大批光子沿着同一方向振动称为偏振光;沿着不同方向振动的光称为非偏振光。日常生活中的日光、照明灯光等都是非偏振光。 如何进一步将量子密码通信在当前的Internet中推广应用,并实现量子密码通信的网络化,以及在光纤和大气环境中如何实现更长距离、更快速度、更低的误码率的量子密钥的分发,使点对点的量子密码通信进入实用阶段,都是值得进一步研究的问题。 ## 2.4.2 DNA密码 人体里各种组织的每一个细胞都有一套基因密码。基因密码储存在细胞核里的DNA分子中。基因密码通过(转录)合成出RNA。 DNA密码是由美国的分子生物学家卡特尔·邦克罗夫发明的,它将密码信息藏在人体的DNA中。 DNA具有超大规模的并行性、超高密度的信息存储能力以及超低的能耗等特性,可用于分子计算、数据储存及密码学领域,这些研究未来有可能产生新型的计算机、如:生物计算机,新型的数据存储器和新型的密码系统。 DNA密码以DNA为信息载体,以现代生物技术为实现工具,挖掘DNA固有的高存储密度和工作并行性等优点,为网络信息安全实现加密、认证及签名等功能。DNA 密码、传统密码和量子密码这三大密码技术,各自以不同的方式, 实现着共同的目标——网络安全。 转自https://blog.csdn.net/zhouzhuo_CSUFT/article/details/82262711 标签: 信息安全 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。