大连理工大学网络安全与密码学 chap4-对称密码

更新时间:2023-05-30 05:31:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

大连理工大学网络安全与密码学课程

第四章现代加密技术(一) 对称密钥密码

大连理工大学网络安全与密码学课程

对称密钥

大连理工大学网络安全与密码学课程

对称密码算法有时又叫传统密码算法,加密密钥能够从解密密钥中 推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是 相同的。 它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法 的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加 密解密。 对称算法的加密和解密表示为: Ek(M)=C Dk(C)=M

大连理工大学网络安全与密码学课程

密码系统的模型密码分析者 明文 密文 明文

消息源

加密密钥 安全信道

解密密钥

目的地

密钥源2013-8-10 大连理工大学

大连理工大学网络安全与密码学课程

单钥体制(cont.)单钥体制中,加密密钥和解密密钥是相同的 (可互推算),系统的保密性取决于密钥的 安全性。有两大课题:

如何产生满足保密要求的密钥? 如何将密钥安全可靠地分配给通信对方? 包括密钥产生、分配、存储、销毁等多方面的问题, 统称密钥管理。2013-8-10 大连理工大学

大连理工大学网络安全与密码学课程

发送方与接收方用同一个随机对称密钥进行加密数据和解密数据 对称密钥在使用过一次后就被抛弃。 优点:速度比较快 缺点: 容易被黑客在中间拦截,并解密数据。 不适用于数字签名 密钥每用一次都被抛弃,需要重复的生成密钥,这样对密钥的 管理压力会很大

所有古典密码都属于对称密码

大连理工大学网络安全与密码学课程

对称算法可分为两类。 1,一次只对明文中的单个位(有时对字节)运算的算法称 为序列算法或序列密码,流密码。如, Vigenere密码也是流密 码。这种情况下,密钥流就是m值的重复,其中m表示关键字的 大小。 2,对明文的一组位进行运算,这些位组称为分组,相应的 算法称为分组算法或分组密码。现代计算机密码算法的典型分 组长度为64位――这个长度大到足以防止分析破译,但又小到足 以方便作用。

Dk(Ek(M))=M

大连理工大学网络安全与密码学课程

流密码模型密钥k

密钥流 产生器密文c流密码体制模型

异或运算

明文m

2013-8-10

大连理工大学

大连理工大学网络安全与密码学课程

4.1 分组密码概述

分组密码是将明文消息编码表示后的数字(简称明 文数字)序列,划分成长度为n的组(可看成长度 为n的矢量),每组分别在密钥的控制下变换成等 长的输出数字(简称密文数字)序列,

大连理工大学网络安全与密码学课程

两个基本设计方法Shannon称之为理想密码系统中,密文的 所有统计特性都与所使用的密钥独立 扩散(Diffusion):明文的统计结构被扩散消失到密文中,,使得明文和密文之间的统计关系尽量复杂

混乱(confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂 .从而使统计分析攻击不能凑效,如代 替(凯撒密码).

大连理工大学网络安全与密码学课程

安全密码的特性

Shannon特性(1949)

所需的保

密程度决定了用于加密和解密过程的 相应的工作量 密钥的组或加密算法应该不受其复杂性的影响 处理的实现应尽可能简单 编码中的错误不应传播及影响后面的消息 加密后正文的尺寸不应大于明文的尺寸

大连理工大学网络安全与密码学课程

分组密码:软件实现的设计原则 使用子块和简单的运算 密码运算在子块上进行,要求子块的长度能自然地适应软件编程,如8、16、32比特等。

应尽量避免按比特置换,在子块上所进行的密码运算尽量采用易于软件实现的运算。

最好是用处理器的基本运算,如加法、乘法、移位等。

大连理工大学网络安全与密码学课程

分组密码:硬件实现的设计原则 加密和解密的相似性,即加密和解密过程的不同应仅仅在密钥使用方式上,以便采用同样的器件来实现加 密和解密,以节省费用和体积。

尽量采用标准的组件结构,以便能适应于在超大规模集成电路中实现。

大连理工大学网络安全与密码学课程

(Data Encryption Standard,DES)

4.2 数据加密标准

大连理工大学网络安全与密码学课程

背景 发明人:美国IBM公司 W. Tuchman 和 C. Meyer 1971-1972年研制成功 基础:1967年美国Horst Feistel提出的理论 产生:美国国家标准局(NBS)1973年5月到1974年8月两次发布通告, 公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳 了IBM的LUCIFER方案 标准化:DES算法1975年3月公开发表,1977年1月15日由美国国家标 准局颁布为数据加密标准(Data Encryption Standard),于 1977年7月15日生效

大连理工大学网络安全与密码学课程

背景 美国国家安全局(NSA, National Security Agency)参与了美国国家标准局制定数据加密标准的过程。NBS接受了NSA 的某些建议,对算法做了修改,并将密钥长度从LUCIFER方 案中的128位压缩到56位

1979年,美国银行协会批准使用DES 1980年,DES成为美国标准化协会(ANSI)标准 1984年2月,ISO成立的数据加密技术委员会(SC20)在DES基础上制定数据加密的国际标准工作

大连理工大学网络安全与密码学课程

4.1 分组密码

4.1.1 Feistel密码结构是密码设计的一个主要原则,而不是一个特殊的 密码。 就是一种分组密码,一般分为64位一组,一组分 左右部分,进行一般为16轮的迭代运算,每次迭 代完后交换左右位置,可以自己进行设计的有: 分 组大小 密钥长度 轮次数 子密钥生成 轮函数

大连理工大学网络安全与密码学课程

Feistel加密过程

输入: 长为2w比特的明文分组 密钥k

输出: 长为2w比特的密文分组

大连理工大学网络安全与密码学课程

Feistel网络的特点

明文分组分为:L0 ,R0,数据的这两部分通过n次循 环处理后,再结合起来生成密文分组 每i次循环都以上一循环产生的Li-1和Ri-1和K产生的子 密钥Ki 作为输入。一般说来,子密钥Ki 与K不同,相 互之间也不同,它是用子密钥生成算法从密钥生成的

大连理工大学网络安全与密码学课程

Feistel结构定义

加密:

Li = Ri-1; Ri = Li-1 F(Ri-1,Ki) 解密: R

i-1 = Li Li-1 = Ri F(Ri-1,Ki) = Ri F(Li,Ki)

大连理工大学网络安全与密码学课程

Feistel 密码设计原则

分组大小 increasing size improves security, but slows cipher 密钥长度 increasing size improves security, makes exhaustive key searching harder, but may slow cipher 轮次数 increasing number improves security, but slows cipher 子密钥生成 greater complexity can make analysis harder, but slows cipher 轮函数 greater complexity can make analysis harder, but slows cipher 快速软件加密/解密 are more recent concerns for practical use and testing

本文来源:https://www.bwwdw.com/article/ev74.html

Top