《密码学基础复习提要》
第2章-密码学基础要点
版权所有,盗版必纠
3.1.2 密码学的发展
• 密码学的发展划分为3个阶段: • 1. 第一阶段为古代到1949年。 • 这一时期可以看作是科学密码学的前夜时期,这阶段的 密码技术可以说是一种艺术,而不是一种科学,密码学 专家常常是凭知觉和信念来进行密码设计和分析,而不 是推理和证明。 • 这个时期发明的密码算法在现代计算机技术条件下都是 不安全的。但是,其中的一些算法思想,比如代换、置 换,是分组密码算法的基本运算模式。
版权所有,盗版必纠
3.1.2 密码学的发展
• 2. 第二阶段为1949年到1975年。 • 1949年香农发表的<<保密系统的信息理论>>为私钥 密码系统建立了理论基础,从此密码学成为一门科学, 但密码学直到今天仍具有艺术性,是具有艺术性的一门 科学。这段时期密码学理论的研究工作进展不大,公开 的密码学文献很少。
版权所有,盗版必纠
3.1.2 密码学的发展
• 3. 第3阶段为1976年至今。 • 1976年Diffie 和 Hellman 发表的文章“密码学的新 动向”一文导致了密码学上的一场革命。他们首先证明 了在发送端和接收端无密钥传输的保密通信是可能的, 从而开创了公钥密码学的新纪元。从此,密码开始充分 发挥它的商用价值和社会价值,普通人才能够接触到前 沿的密码学。
版权所有,盗版必纠
3.1.1 密码学的历史 • 密码学有悠久且多姿多彩的历史。最早的 秘密书写只需纸笔,现在称为经典密码学 (Classical Cryptography)。其两大类别 分别为: • (1). 置换加密法,将字母的顺序重新排列。 • (2). 替换加密法,将一组字母换成其他字 母或符号。
版权所有,盗版必纠
3.1.5 对密码攻击的分类
密码学基础
密码学基础
一、密码学的发展
(1)1949年之前---密码学是一门艺术
密码广播的原理是什么呢?说出来其实很简单。
接收到密码广播的情报员(如特务余则成)将收到的广播代号记录下来,然后根据收发双方约定的密码本查出来这一串串数字代表什么字,这些字连在一起就构成了他所需要的信息。
(2)1949---1976
1)加密算法应建立在算法的公开不影响明文和密钥的安全
哈希算法特点:
常用的hash算法
1)MD5算法
1992年, Ron Rivest提出MD5(RFC 1321)在最近数年之前,MD5是最主要的hash算法
现行美国标准SHA-1以MD5的前身MD4为基础输入:任意长度消息
输出:128bit消息摘要
处理:以512bit输入数据块为单位
(王小云)
2)SHA算法
SHA-1安全散列算法
输入:消息长度<264
输出:160bit消息摘要。
密码学基础Class2
2.1 概述
公用/私有密钥,与单独的密钥不同,它使用相 互关联的一对密钥,一个是公用密钥,任何人都可以 知道,另一个是私有密钥,只有拥有该对密钥的人知 道。如果有人发信给这个人,他就用收信人的公用密 钥对信件进行过加密,当收件人收到信后,他就可以 用他的私有密钥进行解密,而且只有他持有的私有密 钥可以解密。这种加密方式的好处显而易见。密钥只 有一个人持有,也就更加容易进行保密,因为不需在 网络上传送私人密钥,也就不用担心别人在认证会话 初期截获密钥。 ①公用密钥和私有密钥有两个相互关联的密钥; ②公用密钥加密的文件只有私有密钥能解开; ③私有密钥加密的文件只有公用密钥能解开 。
• 中断(Interruption)(干扰) • 截取(Interception) (侦听) • 修改(Modification) • 伪造(Fabrication)
数据的性质
Interruption Interception
-- Availability -- Confidentiality Integrity
• • • • •
非对称密钥算法(asymmetric cipher)
加密密钥和解密密钥不相同,从一个很难推出另一个 又称公开密钥算法(public-key cipher) 公开密钥算法用一个密钥进行加密, 而用另一个进行解密
其中的加密密钥可以公开,又称公开密钥(public key),简称公钥。解 密密钥必须保密,又称私人密钥(private key)私钥,简称私钥
常规加密系统的模型
密码体系形式化描述
密码体系是一个五元组(P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间)
(2)C是可能密文的有限集;(密文空间)
(完整word)密码学原理与应用复习大纲
密码学原理与应用复习大纲第一部分古典密码1.1 密码学的五元组(明文,密文,密钥,加密算法,解密算法)及各部分的含义1.2 密码体制什么是密码体制?完成加密和解密的算法.通常,数据的加密和解密过程是通过密码体制(cipher system) +密钥(keyword)来控制的。
密码体制必须易于使用,特别是应当可以在微型计算机使用。
密码体制的安全性依赖于密钥的安全性,现代密码学不追求加密算法的保密性,而是追求加密算法的完备,即:使攻击者在不知道密钥的情况下,没有办法从算法找到突破口。
1。
3 代替密码体制:(单表代替密码多表代替密码)就是明文中的每一个字符被替换成密文中的另一个字符.接收者对密文做反响替换就可以恢复出明文.(在这里具体的代替方案称为密钥)单表代替密码明文的相同字符用相应的一个密文字符代替.(移位密码,乘数密码,仿射密码,多项式密码,密钥短语密码)单表代替密码的特点:▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。
▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。
密钥π不便记忆。
▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。
单表代替密码的弱点:▲密钥量很小,不能抵抗穷尽搜索攻击▲没有将明文字母出现的概率掩藏起来,很容易受到频率分析的攻击▲不具备雪崩效应▲加解密数学表达式简单多表代替密码是以一系列(两个以上)代换表依次对明文消息的字母进行代换的方法。
(维吉尼亚Vigenere密码,Hill密码,Playfair密码)多表代替密码的特点:使用了两个或两个以上的替代表。
Vegenere密码算法(分析类)15分,参考第一讲课件第二部分对称密码体制2.1 对称密码体制(分组密码,序列密码)的概念对称密钥密码体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体制。
现代密码学考试重点总结
古典密码1.密码的基本概念○1作为数学的一个分支,是密码编码学和密码分析学的统称○2密码编码学:使消息的技术和科学研究容:1、序列密码算法的编码技术2、分组密码算法的编码技术3、公钥密码体制的编码技术○3密码分析学:破译密文的科学和技术研究容:1、密码算法的安全性分析和破译的理论、方法、技术和实践2、密码协议的安全性分析的理论与方法3、安全系统的安全性分析和攻击的理论、方法、技术和实践2.密码体制的5构成要素:○1M:明文消息空间,表示所有可能的明文组成的有限集。
○2C:密文消息空间,表示所有可能的密文组成的有限集。
○3K:密钥空间,表示所有可能的密钥组成的有限集。
○4E:加密算法集合。
○5D:解密算法集合3.密码体制的分类:○1对称密匙密码系统加密密钥=解密密钥钥匙是的依赖密钥选择○2非对称密匙密码系统加密密钥≠解密密钥加密密钥为公钥(Public Key)解密密钥为私钥(Private Key)4.古典密码体制的算法○1棋盘密码希腊作家Polybius提出密钥空间:25○2移位密码○3代换密码○4维吉尼亚密码○5仿射密码:仿射密码是移位密码的一个推广,其加密过程中不仅包含移位操作,而且使用了乘法运算例题:1-1mod26=13-1mod26=95-1mod26=21 7-1mod26=1511-1mod26=19 17-1mod26=23 25-1mod26=25○6置换密码○7 Hill密码例题:5.密码分析的Kerckhoffs原则:攻击者知道所用的加密算法的部机理,不知道的仅仅是加密算法所采用的加密密钥6.常用的密码分析攻击分为以下四类:惟密文攻击已知明文攻击选择明文攻击选择密文攻击7.衡量密码体制安全性的基本准则:计算安全的可证明安全的无条件安全的分组密码8.分组密码的设计准则○1概念:又称块密码。
是指对固定长度的一组明文进行加密的一种加密算法,这一固定长度称之为分组长度○2在分组加密中,要求填充是可逆的○3严格的雪崩准则SAC 位独立准则BIG 保证的雪崩准则GAC 非线性性和随机性9.Feistel分组密码的基本结构:Shannon 能够破坏对密码系统进行各种统计分析攻击的两个基本操作:扩散和混淆10.Feistel安全性取决于:○1明文消息和密文消息分组的大小○2子密钥的大小○3循环次数○4子密钥产生算法○5轮函数(核心——非线性)11.数据加密标准——DES(Data Encryption Standard)○1包含16个阶段的“替换--置换”的分组加密算法经过16轮加密得到64位密文序列○2密钥的长度56位12.DES共8个s盒——6位输入4位输出13.高级加密标准AES(Advanced Encryption Standard)128位分组/密钥—10轮 192位分组/密钥—12轮 256位分组/密钥—14轮14.IDEA(International Data Encryption Algorithm:国际数据加密标准)64位分组 128位密钥 8轮15.分组密码的4种常用工作模式为:“工作模式”是指以某个分组密码算法为基础,解决对任意长度的明文的加密问题的方法电码本模式(Electronic-Codebook Mode,ECB模式)密码反馈模式(Cipher- Feedback Mode,CFB模式)密码分组模式(Cipher-Block-Chaining,CBC模式)输出反馈模式(Output-Feedback Mode,OFB模式)模式(计数器Counter Mode,CTR模式)16.分组密码的分析技术主要有以下几种:穷尽搜索攻击;差分密码分析攻击;线性密码分析攻击;17.18.序列密码的主要原理:通过随机数发生器产生性能优良的伪随机序列(密钥流),使用该序列加密信息流(逐比特加密),得到密文序列。
密码学基础复习资料
1、 Kerchkoffs 原则密码系统的安全性不应取决于不易改变的事物(算法),而应取决于改变的密钥。
2、 SP 网络SP 网络就是由多重S 变换和P 变换组合成的变换网络,即迭代密码,它是乘积密码的一种,其基本操作是S 变换(代替)和P 变换(换位),前者称为S 盒,后者被称为P 盒,S 盒的作用是起到混乱作用,P 盒的作用是起到扩散的作用。
4安全机制指用来保护系统免受侦听、阻止安全攻击及恢复系统的机制。
5加密算法将明文变换为密文的变换函数,相应的变换过程称为加密,即编码的过程,通常用E 表示,即c=E k (p)。
6、数字签名的基本原理什么?答:一个数字签名方案由两部分组成:带有陷门的公开签名算法和验证算法。
公开签名算法是一个由密钥控制的函数。
对任意一个消息x ,一个密钥k ,签名算法产生一个签名)(x sig y k=签名很难伪造。
验证算法),(y x ver 也是公开的,它通过true y x ver =),(或false 来验证签名。
7、密码学的五元组是什么?它们分别有什么含义? 答:密码学的五元组是指:{明文、密文、密钥、加密算法、解密算法}。
明文:是作为加密输入的原始信息,即消息的原始形式,通常用m 或表示。
密文:是明文经加密变换后的结果,即消息被加密处理后的形式,通常用c 表示。
密钥:是参与密码变换的参数,通常用k 表示。
加密算法:是将明文变换为密文的变换函数,相应的变换过程称为加密,即编码的过程,通常用表示,即()kc E p =。
解密算法:是将密文恢复为明文的变换函数,相应的变换过程称为解密,即解码的过程,通常用D 表示,即()kp D c =。
8、为什么在密钥管理中要引入层次式结构?答:层次化的密钥结构意味着以少量上层密钥来保护大量下层密钥或明文数据,这样,可保证除了主密钥可以以明文的形式基于严格的管理受到严密保护外(不排除受到某种变换的保护),其他密钥则以加密后的密文形式存储,改善了密钥的安全性。
密码学基础
相对使用频度(%)
14
12.702
12
10
8.167
8
6
4.253
4
2.782
2
1.492
0
6.996 6.094
7.507 6.749
9.056 5.9867.327
2.2228.015
4.025
2.406
0.772 0.153
1.929 0.095
凯撒Caesar密码
• 凯撒密码体系的数学表示:
– M=C={有序字母表},q = 26,k = 3。
• 其中q 为有序字母表的元素个数,本例采用英文字 母表,q = 26。
– 使用凯撒密码对明文字符串逐位加密结果如下 :
• 明文信息M = meet me after the toga party • 密文信息C = phhw ph diwho wkh wrjd sduwb
• 分组密码(block cipher)、序列密码(stream cipher)
– 密码分析也称为密码攻击,密码分析攻击主要 包括:
• 唯密文攻击、已知明文攻击、选择明文攻击、自适 应选择明文攻击、选择密文攻击、选择密钥攻击
2.2 古典替换密码
2.2.1 简单代替密码
– 简单代替密码
• 指将明文字母表M中的每个字母用密文字母表C中的 相应字母来代替
– 密码学(Cryptography)包括密码编码学和密码分析学 两部分。
• 将密码变化的客观规律应用于编制密码用来保守通信秘 密的,称为密码编码学;
• 研究密码变化客观规律中的固有缺陷,并应用于破译密 码以获取通信情报的,称为密码分析学。
密码学基础
密码学基础1. 密码学概述(1)密码学的发展历程密码学是一门古老而深奥的学科,是结合数学、计算机科学、电子与通信等诸多学科于一体的交叉学科,是研究信息系统安全保密的一门科学。
密码学主要包括密码编码学和密码分析学两个分支,其中密码编码学的主要目的是寻求保证信息保密性或仁整形的方法,密码分析学的主要目的是研究加密消息的破译或消息的伪造。
密码学经历了从古代密码学到现代密码学的演变。
最早将现代密码学概念运用于实际的是Caesar大帝,他是古罗马帝国末期著名的统帅和政治家。
Caesar发明了一种简单的加密算法把他的信息加密用于军队传递,后来被称为Caesar密码。
它是将字母按字母表的顺序排列,并且最后一个字母与第一个字母相连。
加密方法是将明文中的每个字母用其后边的第三个字母代替,就变成了密文。
替代密码的基本思想,是将明文中的每个字母用此字符在字母表中后面第 k个字母替代,加密过程可以表示为函数E(m)=(m+k) mod n。
其中:m 为明文字母在字母表中的位置数,n 为字母表中的字母个数,k 为密钥,E(m)为密文字母在字母表中对应的位置数。
其解密过程可以表示为函数E(m)=(m-k) mod n。
置换密码的基本思想,不改变明文字符,只是将字符在明文中的排列顺序改变,从而实现明文信息的加密,又称为换位密码。
矩阵换位法是实现置换密码的一种常用方法,它将明文中的字母按照给的顺序安排在一个矩阵中,然后根据密钥提供的顺序重新组合矩阵中字母,从而形成密文。
第一阶段:古代―1949年这阶段的密码技术可以说是一种艺术,而不是一种科学,密码学专家常常是凭知觉和信念来进行密码设计和分析,而不是推理和证明,没有形成密码学的系统理论。
这一阶段设计的密码称为经典密码或古典密码,并且密码算法在现代计算机技术条件下都是不安全的。
第二阶段:1949―1975年1949年C.E.Shannon(香农)发表在《贝尔实验室技术杂志》上的《保密系统的信息理论(Communication Theory of Secrecy System)》为私钥密码体系(对称加密)建立了理论基础,从此密码学成为一门科学。
密码学重要知识点
密码学重要知识点0x01 密码学定义密码学(Cryptograghy)是研究编制密码和破译密码的技术科学,是研究如何隐密地传递信息的学科。
研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。
著名的密码学者 Ron Rivest 解释道:“密码学是关于如何在敌人存在的环境中通讯”,自工程学的角度,这相当于密码学与纯数学的异同。
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。
依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。
密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。
现代密码学所涉及的学科包括:信息论、概率论、数论、计算复杂性理论、近世代数、离散数学、代数几何学和数字逻辑等。
0x02 密码发展史根据国家密码管理局给出的全面文件指出古典密码在古代很多国都有所使用。
古代中国:从古到今,军队历来是使用密码最频繁的地方,因为保护己方秘密并洞悉敌方秘密是克敌制胜的重要条件。
中国古代有着丰富的军事实践和发达的军事理论,其中不乏巧妙、规范和系统的保密通信和身份认证方法。
中国古代兵书《六韬》中的阴符和阴书:《六韬》又称《太公六韬》或《太公兵法》,据说是由西周的开国功臣太公望(又名吕尚或姜子牙,约公元前1128—公元前1015)所著。
书中以周文王和周武王与太公问答的形式阐述军事理论,其中《龙韬•阴符》篇和《龙韬•阴书》篇,讲述了君主如何在战争中与在外的将领进行保密通信。
以下是关于“阴符”使用方法对话的译文。
武王问太公说:领兵深入敌国境内,军队突然遇到紧急情况,战事或有利,或失利。
我要与各军远近相通,内外相应,保持密切的联系,以便及时应对战场上军队的需求,应该怎么办呢?太公回答说:国君与主将之间用阴符秘密联络。
密码学知识点整理
密码学(cryptology)是研究密码编制、密码破译和密钥管理的一门综合性应用科学。
一个密码体制由五部分组成:明文空间(M);密文空间(C);密钥空间(K);加密变换:E; 脱密变换D。
密码学的三个分支:密码编码学,密码分析学,密钥管理学对密码体制的基本要求:(1) 即使达不到理论上是不可破的,也应当是实际上不可破的。
(2)保密性不依赖于对加密体制或算法的保密,而依赖于密钥。
(Kerckhoff 假设)(3)加密算法和脱密算法适用于密钥空间中的所有元素。
弱密钥除外!(4)易于实现和使用。
按敌手可利用的知识的类别的多少,攻击方法可分为:(1)唯密文攻击(2)已知明文攻击(3)选择明文攻击(4)选择密文攻击分析方法有:穷举攻击、统计攻击、解析攻击、代数攻击等移位密码的特点优点:明文字符的位置发生变化。
移位密码打乱了明文字符之间的跟随关系,使得明文自身具有的结构规律得到了破坏。
缺点:明文字符的形态不变;一个密文子符的出现次数也是该子符在明文中的出现次数。
单表代替的特点:优点:隐蔽了明文字符的原形!缺点:明文字符相同,则密文字符相同。
即一个密文字符的频次就是它对应的明文字符的频次,明文字符之间的跟随关系直接反映在密文之中。
多表代替密码的特点优点:特殊的多表代替密码可以做到完全保密。
缺点:大量通信时不实用;分配密钥和存储密钥时安全隐患大;密钥序列可能重复使用。
熵表示集X中事件出现的平均不确定性,或为确定集X中出现一个事件平均所需的信息量,或集X中出现一个事件平均给出的信息量。
条件熵定义为:表示观察到事件集Y后,集X还保留的不确定度。
集X和集Y的互信息表示由于一个事件集的发生,造成的另一个事件集的信息量的减少程度,或者说从一个事件集提取的关于另一个事件集的信息量。
分析密码方案实际保密性的两个重要因素(1)计算能力--通常假定密码分析者拥有最好的设备。
(2)密码分析算法--安全的密码算法必须能够对抗所有可能的攻击方法。
第2章 密码学基础(信息安全)
2011-5-4
第2Байду номын сангаас 密码学基础
5
2.4.1 概述
量子密码利用信息载体的物理属性实现。 量子密码利用信息载体的物理属性实现。 利用信息载体的物理属性实现 用于承载信息的载体包括光子 、 用于承载信息的载体包括 光子、 压缩态光信号 光子 相干态光信号等 、相干态光信号等。 当前量子密码实验中, 当前量子密码实验中,大多采用光子作为信息的 载体。 载体。利用光子的偏振进行编码
2011-5-4
第2章 密码学基础
23
2. BB84协议具体工作过程 协议具体工作过程
第一阶段: 量子信道上的通信, 第一阶段 : 量子信道上的通信 , Alice在量子信道 在量子信道 上发送信息给Bob,量子信道一般是光纤 , 也可 上发送信息给 , 量子信道一般是光纤, 以是自由空间,比如利用空气传输, 以是自由空间,比如利用空气传输,具体操作步 骤如下: 骤如下: ⑴ 在发送端放置偏振方向分别为水平方向、 与水 发送端放置偏振方向分别为水平方向 放置偏振方向分别为水平方向、 平成45°度夹角、与水平成90 夹角、 90° 平成 °度夹角、与水平成90°夹角、与水平成 135°夹角的四个偏振仪 四个偏振仪。 135°夹角的四个偏振仪。
2011-5-4
第2章 密码学基础
16
2.4.4 量子密钥分配协议BB84 量子密钥分配协议
1. 物理学原理 2. BB84协议具体工作过程 协议具体工作过程 3. BB84协议举例 BB84协议举例
2011-5-4
第2章 密码学基础
17
1. 物理学原理
根据物理学现象,光子有四个不同的偏振方向, 根据物理学现象, 光子有四个不同的偏振方向, 分别是: 分别是: 水平方向 垂直方向 与水平成45° 与水平成 °夹角 < 与水平成135°夹角 与水平成135°夹角 135 , >构成一组基,称为线偏振 构成一组基, 构成一组基 称为线偏振
密码学复习资料
密码学复习资料密码学是研究加密算法和解密算法的学科,是保护信息安全的重要技术。
在现代社会中,随着信息技术的迅猛发展,密码学的应用范围也越来越广泛。
从个人的隐私保护到企业的商业机密,密码学都扮演着重要的角色。
因此,掌握密码学的基本原理和常用算法是非常有必要的。
本文将对密码学的历史、基本概念、经典算法等内容进行复习和总结。
首先,回顾密码学的历史。
密码学的起源可以追溯到几千年前的古代,人们通过替换和重排字母的方式对信息进行加密。
古代的密码学可以说是密码学的鼻祖,为现代密码学的发展奠定了基础。
其次,介绍密码学的基本概念。
密码学主要涉及两个核心概念:加密和解密。
加密是将原始的明文信息转化为密文的过程,而解密则是将密文还原为原始的明文。
在密码学中,还有一个重要的概念是密钥,密钥是用于加密和解密的关键,不同的密钥可以产生不同的加密结果。
接下来,重点讲解几种常见的密码学算法。
其中,对称加密算法是最基础也是最常用的一类算法。
对称加密算法采用同一个密钥进行加密和解密,其安全性依赖于密钥的保密性。
常见的对称加密算法有DES、AES等。
另一类算法是非对称加密算法,非对称加密算法使用公钥和私钥进行加密和解密,公钥可以公开,而私钥必须保密。
非对称加密算法的典型代表是RSA算法。
此外,还有哈希函数和消息认证码等算法,它们在密码学中也发挥着重要的作用。
在使用密码学算法时,我们需要考虑算法的安全性。
安全性是一个相对而言的概念,取决于攻击者破解所需的时间和资源。
密码学的安全性分为计算安全性和信息理论安全性两个层面。
计算安全性强调的是算法在计算机上的安全性,而信息理论安全性则强调的是算法在理论上的安全性。
此外,还有一些密码学的应用场景值得关注。
例如,数字签名可以用于验证消息的真实性和完整性;安全协议可以用于保护网络通信的安全;数字证书可以用于实现身份认证等。
在复习密码学时,我们还应注意一些常见的攻击方式,例如密码破解、中间人攻击和重放攻击等。
网络攻防原理与技术第2章 密码学基础知识
密钥的安全性。
有人认为S盒可能含有某种“陷门”,美国国家安
全机关可以解密。
如何将密钥安全、可靠地分配给通信双方,在网络通 信条件下就更为复杂,包括密钥产生、分配、存储、 销毁等多方面的问题,统称为密钥管理。
典型密码系统组成
非法侵入者 主动攻击 被动攻击 密码分析员 (窃听者)
m’=h(c)
c m
加密器 c=E (m, k1 ) 解密器 m=D (c, k2 )
发送者
m
c
接收者
k1
密钥信道 密钥产生器 密钥信道
k
2
概念:密码学
密码学(cryptology):是一门关于发现、认识、 掌握和利用密码内在规律的科学,由密码编码学 (cryptography)和密码分析学(cryptanalysis) 组成。
缺点:密钥需要同步
分组密码(1/2)
主要原理:
在密钥的控制下一次变换一个明文分组; 将明文序列以固定长度进行分组,每一组明文 用相同的密钥和加密函数进行运算。
密钥K=(k0, k1, …, kL-1) 密钥K=(k0, k1, …, kL-1)
加密算法 明文X=(x0, : 明文:ATTACK AT DAWN 密文:XCCXQJ XC MXBF
单表代换密码(2/2)
如何破解单表置换密码算法? 利用穷举法?
非常困难,要尝试的次数:26! = 4 x 1026
利用统计法
英文中字母出现的频率是已知的
可以通过分析字母在文档出现频率来推断明文到密文的转换。
结果,以上两电均被设在珍珠港的美国海军破译,从 而掌握了日军进攻中途岛的日期和兵力,致使日军在 战役中遭到惨败。
第2章 密码学基础要点
2018/10/4
计算机系统安全原理与技术(第3版)
5
2.1 概述
发展
第二阶段是计算机密码学阶段,包括: ①传统方法的计算机密码学阶段。解密是加密的简 单逆过程,两者所用的密钥是可以简单地互相推导 的,因此无论加密密钥还是解密密钥都必须严格保 密。这种方案用于集中式系统是行之有效的。 ②包括两个方向:一个方向是公钥密码(RSA), 另一个方向是传统方法的计算机密码体制——数据 加密标准(DES、AES)。
计算机系统安全原理与技术(第3版)
25
2018/10/4
2.3 对称密码体制
2.3.1 常见的对称密码算法
1 数据加密标准DES
由于DES设计时间较早,且采用的56位密钥较短, 因此目前已经发掘出一系列用于破解DES加密的软 件和硬件系统。DES不应再被视为一种安全的加密 措施。现代的计算机系统可以在少于1天的时间内 通过暴力破解56位的DES密钥。如果采用其他密码 分析手段可能时间会进一步缩短。而且,由于美国 国家安全局在设计算法时有行政介入的问题发生, 很多人怀疑DES算法中存在后门。
计算机系统安全原理与技术(第3版)
22
2018/10/4
2.3 对称密码体制
Байду номын сангаас
根据密码算法对明文信息的加密方式,对称密 码体制常分为两类: 另一类为序列密码(Stream cipher,也叫流密 码)
序列密码一次加密一个字符或一个位。 序列密码将M划分为一系列的字符或位m1, m2, …, mn,并且对于这每一个mi用密钥序列Ke=(Ke1, Ke2, …, Ken)的第i个分量Kei来加密,即C=(C1, C2, …, Cn),其中Ci=E(mi,Kei),i=1,2,…, n。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分内容提要1 引论OSI:开发系统互联中的安全结构,提供了定义安全攻击、安全机制和安全服务的框架;安全攻击:主动和被动攻击。
被动攻击包括非授权阅读消息、文件以及流量分析;主动攻击包括对消息或文件的修改以及拒绝服务。
安全机制:一种处理过程,用来检测、阻止攻击或从被攻击的状态中恢复的机制。
包括:加密算法、签名算法和认证协议。
安全服务:包括认证、访问控制、数据保密性、数据完整性、不可否认新以及可用性。
分析一个信息系统的安全问题:注脚:对任何一个信息系统,系统安全方面的分析思路是:设定系统的安全需求,分析可能的攻击,配置相应的安全服务以满足需求,根据安全机制开发设计或者集成构建安全服务。
2 传统密码对称密码是一种加密和解密使用相同密钥的体制,也称为传统密码。
对称密码利用密钥和加密算法将明文变为密文。
运用相同的密钥将密文恢复成明文。
对密码的两种攻击方法:对密钥的穷举攻击(要求明文有结构和意义);对加密算法的密码分析,发现其缺陷降低i密钥攻击和难度。
传统对称密码:采用代换和置换技术。
代换将明文元素映射为密文元素。
置换将明文元素的位置进行系统的置换。
转轮机是计算机出现前使用代换技术的复杂密码设备。
注脚:置换和代换是两种最基本的数据变换方法,保证其可逆就可以设计相应的密码算法。
加密其实很简单:改掉原来的值,改掉原来值放的位置,但是记住你还要能改回来才行。
3 分组密码和DES分组密码是一种将输入的明文以分组的方式处理的加密技术。
Feistel结构是一种常用的分组密码结构,它由许多轮构成,每轮中将分组的一半进行代换,然后和另外一半交换位置进行置换。
DES是最广泛应用的加密算法,它采用了Feistel 结构,简单高效,而且能进一步扩展到2DES和3DES。
注脚:Feistel是一种美妙的置换和代换网络,其美妙之处是他是那么简单而且遵从对称的原则,可以让加密和解密共用同一段代码。
4 数学基础——有限域域是定义了加和乘算术运算的元素的集合。
模算术是一种整数算术,它将所有的整数约减为固定的集合,以保证计算的封闭性。
有限域在密码的若干领域有重要的应用。
一个有限域就是有有限个元素构成的域。
可以证明有限域的阶可以写成素数的幂形式。
阶为p的域可由模p的算术定义阶为p n的域可由多项式算术来定义注脚:基础代数的很多概念很颠覆我们习以为常了的小学算术,接触过这段内容,你起码留下这样的印象:原来四则运算是这样来的。
5 AESAES是一种分组密码,以取代DES,分组长度为128位,密钥长度为128,192,256AES没有使用Feistel结构,每轮由四个单独的运算组成:字节代换,置换,有限于上的算术运算,以及密钥的异或。
6对称密码应用方面的其他内容分组密码的工作模式可分为:电码本、密文分组连接、密码反馈模式、输出反馈模式和计数器模式,五种。
流密码使用很广泛,其输出密文由明文逐位或逐字节产生。
流密码可以用块密码来产生。
常用链路加密和端端加密的方法保护通信数据,即面向信息和和面向传输的。
即使数据的机密性得到了保护,攻击者依然可实施通量分析攻击,因此有必要进行传输的填充。
密钥分配是密码应用的最重要的环节,密钥分配常涉及主密钥和会话密钥的使用。
随机或伪随机数发生器是许多密码函数在实际应用中必备的功能。
其原则是产生的随机数不能被预测。
注脚:仅仅知道密码算法依然没法7 数学——数论素数是一种特殊的整数,是构成其他所有整数的基础。
在公钥密码里最重要的两个定理是费马定理和欧拉定理。
离散对数是许多公钥算法的基础,离散对数和普通对数类似,不过是在模算术上进行运算。
8 公钥密码学和RSA公钥密码是一种密码体制,其加密和解密算法使用不同密钥:一个是公钥一个是私钥。
非对称密码可用来加密、认证、签名等。
RSA是应用最广泛的公钥密码体制,其攻击难度相当于寻找大合数的素因子。
9 密钥管理和其他公钥体制公钥密码方案是安全的,仅当公钥的真实性能够得到保证。
公钥证书的方案提供了必要的安全性。
一个简单的公钥算法是Diffie-Hellman密钥交换协议。
注脚:密码系统的安全在于密钥的安全,因此任何一个安全的信息系统必然涉及到密钥管理的问题。
10 消息认证和安全散列函数消息认证是用来验证消息完整性的一种机制或服务。
用于消息认证的最常见的密码技术是消息认证码MAC和安全散列函数HASH。
MAC是一种需要使用密钥的算法,使用安全散列算法和使用对称分组密码。
HMAC和CMAC散列函数将可变长的消息映射为固定长度的散列值,安全散列函数里用到的压缩函数可以分为两类:专门为散列函数涉及的函数和对称分组密码。
SHA和Whirlpool是这两种方法的例子。
注脚:MAC和HASH提供消息的摘要,并通过重生成摘要和对比来辨别消息的完整性和真实性。
11 数字签名和认证协议数字签名是一种机制,它使得消息的产生者可以添加一个起签名作用的码字。
签名保证了消息的来源真实性和消息内容的完整性。
认证协议使得通信的各方确定通信的实体的可靠性并通过交换会话密钥进行保密通信。
数字签名标准DSS是NIST标准,它是一种公钥密钥算法。
注脚:数字签名用于代替真实签名在数字通信工程中提供对通信实体身份的确认,以及对消息内容完整性的验证。
第二部分复习题类型一:问答题1 什么是安全服务,它包含哪些种类?答:安全服务是加强数据处理系统和信息传输的安全性的一种处理过程或通信服务,其目的在于利用一种或多种安全机制进行反攻击。
安全服务包括:同等实体认证、数据源认证、访问控制、保密性、流量保密性数据完整性、不可否认性和可用性等。
2 什么是安全机制,它包含哪些种类?答:安全机制是用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程,或者实现该过程的设备,按照X.800的定义安全机制可分为特定安全机制和普遍安全机制,特定安全机制包括:加密、数字签名、访问控制。
数据完整性、认证交换、流量填充、路由控制和公证等;普遍的安全机制包括:可信功能、安全标签、事件检测、安全审计跟踪和安全恢复等。
3 “一次一密”在实现上的困难是什么?答:(a) 产生大规模随机密钥有实际困难;(b) 对每一条发送的信息都需要提供发送方和接收方之间的密钥,因此带来庞大的密钥分配问题。
4 根据Shannon的通信安全理论,怎么样的系统是真正安全的,在实际应用中应该怎么做?答:根据信息安全的理论,真正的安全只能通过“一次一密”完成,即每次通信采用一个独立的密钥,具体应用中需要密钥和明文一样长,因此无法实用化。
5 什么是代换密码和置换密码,它们的本质区别是什么?答:代换密码是见明文字母替换成其他字母,数字或者符号的密码方法,置换密码是通过调整字母的位置来实现加密的方法。
6 Shannon认为的密码系统的两个基本构件是什么?它们的具体含义是指?答:Shannon认为的密码系统的基本构件是扩散和混淆。
扩散是指使明文统计特性消散在密文中,即让明文尽可能地影响密文的操作。
混淆是尽可能让密文和密钥之间的统计关系更加复杂的操作。
7 会话密钥和主密钥的区别是什么?答:主密钥一般用于密钥协商和交换,会话密钥用于一次或多次通信的信息加密。
8 请画出Feistel密码单轮加解密的一般结构加密结构解密结构9 请用程序C语言简述AES的密钥扩展算法?答:AES的密钥扩展算的输入值是16个字节,输出值是44个字以保证初始轮密钥加阶段和其他10轮中的轮密钥。
keyExpansion(byte key[16], word w[44]){Word temp;for(i=0;i<4,i++) w[i]=(key[4*i],key[4*i+1], key[4*i+2], key[4*i+3]); for(i=4;i<44;i++)temp=w[i-1];if ( i mod 4=0) temp=Sbox(RotWord(temp)) XOR Rcon[i/4]w[i]=w[i-4] xor temp;}10 请描述电码本、密文分组连接、密文反馈、输出反馈、计数器等五种分组密码的加密工作模式。
答:ECB:用相同的密钥对明文分组进行加密;CBC:加密算法的输入是上一个密文组和下一个明文组的异或;CFB:一次处理s位,加密输出中的s位和明文s位异或作为密文并移入下一个加密算法的输入s位。
OFB:一次处理s位,加密输出中的s位和明文s位异或作为密文,加密输出的s位移入下一个加密算法的输入s位中。
CTR:每个明文分组都与一个加密计数器相异或。
对每个后续分组计数器递增。
11 什么是传输填充?其作用是什么?答:传输填充通过不断产生随机数流来填充通信信道,随机数流可认为是可持续的密文,可避免对通信的传输分析攻击。
12 链路加密和端对端加密的区别是什么?答:可从三个方面区分链路加密和端端加密。
a.末端系统和中间系统的安全性:链路加密:消息在主机是明文,中间节点是明文端端加密:消息在主机是密文,中间节点是密文b.用户的角色链路加密:与主机交互,加密过程对用户透明,主还包含加密设备,所有用户使用一个加密设备,可以硬件实现。
端端加密:与发送过程交换,用户自己觉得是否使用加密、加密算法和加密机制,一般软件实现c.实现时注意的问题链路加密:每个中间主机节点和每两个中间主机节点需要一个密钥端端加密:每对用户需要一个密钥13 在具有N个用户的对称密码系统中,在有KDC 和没有KDC的情况下要保证任意两个人之间的通信需要多少个会话密钥?答:在对称密码体制下,若实现N个用户的互通信,在没有KDC和主密钥+会话密钥的情况下,需要的密钥规模是N(N-1)/2,在有KDC的情况下,所有的人都与KDC之间具有主密钥,会话密钥可以临时生成,因此密钥的规模是N。
14 公钥密码体制的三种应用是什么?分别列决RSA、DH和DSS所具有的应用范围答:公钥体制的三种应用是:加解密、数字签名、密钥交换。
RSA可用于加解密、数字签名、密钥交换;DH只用于密钥交换DSS只用于数字签名15 什么是单向陷门函数,单向陷门函数和公钥密码之间的关系是什么?答:满足下列条件的一类不可逆的函数kf为单向陷门函数若已知k和X,容易计算()kY f X=若已知k和Y,容易计算1()kX f Y-=若Y已知,而k未知,计算1()kX f Y-=是不可行的公钥密钥的核心是寻找单向陷门函数,RSA的单向陷门是大素数的分解;DH和DSS的单向陷门是离散对数求解。
16 简要介绍一下Diffie-Hellman密钥交换的方法答:DH的全局公开量是素数q和它的本原根a。
用户A的密钥的产生:选择X A< q计算公开密钥:Y A m o dAXAY a q=用户B的密钥的产生:选择选择X B< q计算公开密钥:Y B m o dBXBY a q=用户A 的密钥的计算:mod A X B K Y q = 用户B 的密钥的计算:mod B X A K Y q =17 安全散列函数需要哪些特性? 答:安全散列函数需要满足如下性质H 可用于任意长度大小的数据块 H 可产生定长的输出对任意给定的x,计算H(x)容易对任意给定的h ,找到x ,满足H(x)=h 很难 (单向性)对任意给定的x ,找到y ,满足H(x)=H(y)很难(弱碰撞性)找到任何满足 H(x)=H(y)的分组对(x ,y )很难(强碰撞性)16 请简叙HMAC (基于Hash 的MAC )的过程? 答:其过程如图过程:(1) 在K 左边填充0,得到b 位的K +(2) K +与ipad 进行异或产生b 位的分组Si (3) 将M 附于Si 后(4) 利用hash 计算(||)i H S M(4) K +与opad 进行异或产生b 位的分组So (5) 将4的结构附在So 后(4) 利用hash 计算(||(||))o i H S H S M ,输出散列码18 直接数字签名和仲裁数字签名之间的区别是什么?答:直接数字签名只用于通信双方,它的弱点是完全依赖于发送方私钥的安全性。