精品课件-应用密码学-第4章
第4章 序列密码体制
目前生成随机数的几种硬件设备都是用于商业用途。得到 广泛使用的设备是ComScireQNG,它是使用并行端口连接到PC 的外部设备,它可以在每秒钟生成20000位,这对于大多数注 重安全性的应用程序来说已经足够了。
另外,Intel公司宣布他们将开始在其芯片组中添加基于 热能的硬件随机数发生器,而且基本上不会增加客户的成本。 迄今为止,已经交付了一些带有硬件RNG的CPU。
第4章 序列密码体制
现在,无论他再拦截到什么密文消息,他都可以用她所拥 有的密钥流进行解密。另外,他还可以解密,并阅读以前截获 到的消息。一旦Alice得到一明文—密文对,他就可以读懂任 何东西了。
这就是为什么所有序列密码也有密钥的原因。密钥流发生 器的输出是密钥的函数。这样,Alice有一个明文—密文对, 但他只能读到用特定密钥加密的消息。更换密钥,攻击者就不 得不重新分析。序列密码算法对加密那些永不结束的通信数据 流是特别有用的:如两台计算机之间的T1连接。
每一存储器称为移位寄存器的一级,在任一时刻,这些级 的内容构成该反馈移位寄存器的状态,每一状态对应于GF(2) 上的一个n维向量,共有2n种可能的状态。
每一时刻的状态可用n长序列“a1,a2,…,an”的n维向 量“(a1,a2,…,an)”来表示,其中ai是第i级存储器的内容。
第4章 序列密码体制 在解密端,密文流与完全相同的密钥流异或运算恢复出明
文流。
Pi =Ci⊕K i
(4-2)
由于,Pi? K i? K i = P i , 所以,该方式是正确的。
系统的安全性完全依靠密钥流发生器的内部机制。如果它 的输出是无穷无尽的“0”序列,那么密文就是明文,系统没有 加密功能。如果它产生的是一个重复性的16比特模式,那么该 算法仅是一个可忽略安全性的异或运算。如果是一系列无尽的 随机流,那就是一次一密乱码本和非常完美的安全。
第4章 序列密码体制
2.使用硬件方法的随机数产生器 真正的随机数发生器是非确定的,在计算机上执行非确定 性事情的唯一方法是从一些自然的随机过程中收集数据。最好 的一种方法涉及使用电子Geiger计数器,每次当它检测到放 射性衰变时,它就会生成一个脉冲。衰变之间的时间是一个实 足的、纯粹的随机部分。尤其是,没有人可以预测到下一次衰 变的时间大于还是小于自上次衰变以来的时间。那就产生了一 位随机信息。
第4章 序列密码体制
(2)它是不可预测的。即使给出产生序列的算法或硬件 和所有以前产生的比特流的全部知识,也不可能通过计算来预 测下一个随机比特应是什么。
(3)它不能可靠地重复产生。如果用完全同样的输入对 序列产生器操作两次将得到两个不相关的随机序列。
第4章 序列密码体制 4.2 序列密码的概念及模型
第4章 序列密码体制 4.3 线性反馈移位寄存器
移位寄存器是流密码产生密钥流的一个主要组成部分。 GF(2)上一个n级反馈移位寄存器由n个二元存储器与一个反馈 函数f(a1,a2,…,an)组成,如图4-3所示。
第4章 序列密码体制 图4-3 GF(2)上的n级反馈移位寄存器
第4章 序列密码体制
第4章 序列密码体制
发生器的周期必须非常长,要比密钥更换之前发生器所能 输出的位的长度还要长得多。如果其周期比明文还要短,那么 明文的不同部分将用同样的加密——这是一个严重的弱点。如 果密码分析者熟悉这样的一批明文,他就可以恢复出密钥流, 然后恢复出更多的明文。即使分析者仅有密文,他也可以用同 一密钥流加密的不同部分密文相异或得到明文跟明文的异或。 这只是一个有非常长密钥的单一异或运算罢了。
第4章 序列密码体制
4.1.4 伪随机数的评价标准 如果一序列产生器是伪随机的,它应有下面的性质: (1)看起来是随机的,表明它可以通过所有随机性统计
检验。 现在有许多统计测试。它们采用了各种形式,但共同思路
是它们全都以统计方式检查来自发生器的数据流,尝试发现数 据是否是随机的。
确保数据流随机性的最广为人知的测试套件就是 GeorgeMarsaglia的DIEHARD软件包(请参阅 /pub/diehard/)。另一个适合此 类测试的合理软件包是pLab(请参阅 http://random.mat.sbg.ac.at/tests/)。
序列密码算法将明文逐位转换成密文。该算法最简单的应 用如图4-1所示。密钥流发生器(也称为滚动密钥发生器)输 出一系列比特流:K1,K2,K3,…,Ki。密钥流(也称为滚动 密钥)跟明文比特流P1,P2,P3,…,Pi,进行异或运算产生 密文比特流,即
Ci =Pi⊕K i
(4-1)
பைடு நூலகம்
第4章 序列密码体制 图4-1 序列密码
第4章 序列密码体制
第4章 序列密码体制
4.1 密码学中的随机数 4.2 序列密码的概念及模型 4.3 线性反馈移位寄存器 4.4 非线性序列简介 4.5 常用的序列密码算法
第4章 序列密码体制
4.1 密码学中的随机数 为什么在密码学中要讨论随机数的产生?因为许多密码系 统的安全性都依赖于随机数的生成,例如DES加密算法中的密 钥,RSA加密和数字签名中的素数。所有这些方案都需要足够 长度并且要“随机”的数,即使得任何特定值被选中的概率足 够小,防止对方根据概率来优化搜索策略。例如DES密钥空间 大小为256,如果密钥k是随机产生的,那么对方要尝试256个可 能的密钥值。但是如果密钥k这样产生:选取一个16位随机秘 钥s,然后利用一个复杂但是公开的函数f将其扩展为56位密 钥k,这时对方只要尝试216个可能的密钥值就能找到真正密钥。
第4章 序列密码体制 实际的序列密码算法其安全性依赖于简单的异或运算和一
次一密乱码本。密钥流发生器生成的看似随机的密钥流实际上 是确定的,在解密的时候能很好地将其再现。密钥流发生器输 出的密钥越接近随机,对密码分析者来说就越困难。
如果密钥流发生器每次都生成同样的密钥流的话,对攻击
假的Alice得到一份密文和相应的明文,他就可以将两者 异或恢复出密钥流。或者,如果他有两个用同一个密钥流加密 的密文,他就可以让两者异或得到两个明文互相异或而成的消 息。这是很容易破译的,接着他就可以用明文跟密文异或得出 密钥流。
第4章 序列密码体制
1.自同步序列密码 自同步序列密码就是密钥流的每一位是前面固定数量密文 位的函数,图4-2描述了其工作原理。其中,内部状态是前面 n比特密文的函数。该算法的密码复杂性在于输出函数,它收 到内部状态后生成密钥序列位。 因为内部状态完全依赖前面n个密文位,所以解密密钥流 发生器在收到n个密文位后自动跟加密密钥流发生器同步。 在该模式的智能化应用中,每个消息都以随机的n位报头 开始。这个报头被加密、传输、解密,在n位密文之前整个解 密是不正确的,直到之后两个密钥流发生器同步。
第4章 序列密码体制
4.1.1 随机数的使用 序列密码的保密性完全取决于密钥的随机性。如果密钥是
真正的随机数,则这种体制在理论上就是不可破译的。但这种 方式所需的密钥量大得惊人,在实际中是不可行的。因此,目 前一般采用伪随机序列来代替随机序列作为密钥序列,也就是 序列存在着一定的循环周期。这样序列周期的长短就成为保密 性的关键。如果周期足够长,就会有比较好的保密性。现在周 期小于1010的序列很少被采用,周期长达1050的序列也并不少 见。
伪随机数生成器是一个生成完全可预料的数列(称为流) 的确定性程序。一个编写得很好的PRNG可以创建一个序列, 而这个序列的属性与许多真正随机数的序列的属性是一样的。 例如:
第4章 序列密码体制
(1)PRNG可以以相同几率在一个范围内生成任何数字; (2)PRNG可以生成带任何统计分布的流; (3)由PRNG生成的数字流不具备可辨别的模。
第4章 序列密码体制
4.1.3 基于密码算法的随机数产生器 1.使用软件方法的随机数产生器 一个常用的随机数产生器是属于线性拟合生成器一类的。
这类生成器相当普遍,它们采用很具体的数学公式: Xn+1=(aXn+b)mod c即第n+1个数等于第n个数乘以某个常数a, 再加上常数b。如果结果大于或等于某个常数c,那么通过除以 c,并取它的余数来将这个值限制在一定范围内。注意,a、b 和c通常都是质数。DonaldKnuth在 “TheArtofComputerProgramming”一书中详细介绍了对于这 些常数,如何挑选好的值。
周期需要多长取决于应用。用于加密连续T1连接通信的密 钥发生器每天加密237比特。那么它的周期应该比这个数大几 个数量级,尽管密钥每天都要更换。如果周期足够长,你仅仅 需要每周甚至每月才更换密钥一次。
第4章 序列密码体制
同步序列密码同样可防止密文中的插入和删除,因为它们 会使系统失去同步而立即被发现。然而,却不能避免单个位被 窜改。就像CFB模式下的分组密码算法,Mallory更换数据流 中的某个比特,如果他熟悉明文,他就可以使那些比特被解密 成他想要的。后面的比特仍被正确地解密,所以在很多应用中 Mallory仍可进行某些毁坏。
第4章 序列密码体制
这也有好的一面,同步密码并不扩散传输错误。如果有一 位在传输中改变了,比丢失一位可能性大的多,那么只有该位 不能正确解密。所有进程和结果都不会受影响。
由于在加解密两端密钥流发生器必须产生同样的输出,所 以它必须是确定的。因为它是用有限状态机器实现的(如计算 机),密钥序列终会重复。这些密钥流发生器被称为是周期性 的。除一次一密乱码本外,所有密钥流发生器都是周期性的。
第4章 序列密码体制
自同步密码的缺点是错误扩散。传输中每一个密文位被窜 改,解密密钥流发生器就有n位密钥流位不能正确生成。因此, 一位密文错误就会导致n位相应的明文错误,直到内部状态里 面不再有该错误位。
第4章 序列密码体制 图4-2 自同步密钥流发生器
第4章 序列密码体制
2.同步序列密码 在同步序列密码中密钥流是独立于消息流而产生的。加密 端密钥流发生器一位接一位地产生密钥,在解密端另一个发生 器产生出完全相同的密钥。两个密钥发生器同步以后,这种一 致就开始了。如果其中一个发生器跳过一个周期或者一个密文 位在传输过程中丢失了,那么错误后面的每一个密文字符都不 能正确解密。 如果错误不幸发生了,发方和收方就必须在继续进行之前 使两个密钥发生器重新同步。他们必须这样做以保证密钥流的 任意部分不会重复,重新设置发生器回到前一个状态,然而这 个简单的法子是不行的。
合集下载
第04章 密码学原理
57 10 63 14
49 2 55 6
41 59 47 61
33 51 39 53
25 43 31 45
17 35 23 37
9 27 15 29
1 19 7 21
58 11 62 13
50 3 54 5
42 60 46 28
34 52 38 20
26 44 30 12
18 36 22 4
第4章 网络安全密码学基本理论
密码学是一门研究信息安全保护的科学。它最早可追溯到 几千年前,主要用于军事和外交通信。随着网络与信息技术的 发展,密码学的应用不再局限于军事、政治、外交领域,而是 逐步应用于社会各个领域,例如电子商务、个人安全通信、网 络安全管理等。 密码学的发展可大致划分为四个阶段:
第4章 网络安全密码学基本理论 第一个阶段:从古代到1949年。该时期的密码学没有数学
第4章 网络安全密码学基本理论 4.1.2 密码学基本概念
密码学,是保护明文的秘密以防止攻击者获知的科学。
密码分,析学是在不知道密钥的情况下识别出明文的科学。
明文,是指需要采用密码技术进行保护的消息。
密文,是指用密码技术处理“明文”后的结果,通常称为加
密消息。
第4章 网络安全密码学基本理论
将明文变换成密文的过程称作加密(encryption)。 其逆过程,即由密文恢复出原明文的过程称作解密
道交换密钥,以保证发送消息或接收消息时能够有供使用的密钥。
第4章 网络安全密码学基本理论
加密
解密
明文
密文
密文
明文
图4-1 私钥密码体制原理示意图
第4章 网络安全密码学基本理论 密钥分配和管理是极为重要的问题。 为了保证加密消息的安全,密钥分配必须使用安全途径, 例如由专门人员负责护送密钥给接收者。 同时,消息发送方和接收方都需要安全保管密钥,防止非 法用户读取。 另外的问题是密钥量。由于加密和解密使用同一个密钥, 因此,与不同的接收者进行加密通信时,需要有几个不同的密
应用密码学
1 1 (1 Pr[S 0 | g z ]) Pr[ S 1| g xy ] negl ( n) 2 2
negl (n)
1 1 (Pr[S 0 | g z ]) Pr[ S 1| g xy ]) negl ( n) 2 2
1 negl (n) Pr[判决正确] negl (n) 2
pk
m0 , m1
方案执行者 (模拟者)
������
′
c Enc pk (mb ), b {0,1}
������′ =b,实验输出1;否则,输出0.
窃听不可区分实验
(1) 执行Gen(1n),获得(pk,sk)。
A可以自由访问加 密机
(2) 敌手������被给予pk, 输出一对相同长度的消息������������ , ������������ (消息必须在与pk相关的明文空间中)。 (3)随机选择������ ← {������, ������} ,然后计算������ = ������������������������������ (������������ )
• 命题1 如果一个公钥加密方案,在窃听者存在的
情况下具有不可区分加密,则在选择明文攻击下 也具有不可区分加密。
对称密码算法不具有上述安全等价性!
小结: 1. 窃听攻击条件下的密文不可区分安全性 2. 选择明文攻击条件下的密文不可区分安全性
3. 两者的等价性
基础知识
完美安全的密码方案:
Pr m | c Pr[m]; Pr[c | m] Pr[c]
练习:假定一个确定性公钥加密方案用来加 密消息m,该消息来自于一个具有L个可能值 的小集合。
如何在关于L的线性时间里确定m(假设加密 一个元素耗费一个单元时间)
negl (n)
1 1 (Pr[S 0 | g z ]) Pr[ S 1| g xy ]) negl ( n) 2 2
1 negl (n) Pr[判决正确] negl (n) 2
pk
m0 , m1
方案执行者 (模拟者)
������
′
c Enc pk (mb ), b {0,1}
������′ =b,实验输出1;否则,输出0.
窃听不可区分实验
(1) 执行Gen(1n),获得(pk,sk)。
A可以自由访问加 密机
(2) 敌手������被给予pk, 输出一对相同长度的消息������������ , ������������ (消息必须在与pk相关的明文空间中)。 (3)随机选择������ ← {������, ������} ,然后计算������ = ������������������������������ (������������ )
• 命题1 如果一个公钥加密方案,在窃听者存在的
情况下具有不可区分加密,则在选择明文攻击下 也具有不可区分加密。
对称密码算法不具有上述安全等价性!
小结: 1. 窃听攻击条件下的密文不可区分安全性 2. 选择明文攻击条件下的密文不可区分安全性
3. 两者的等价性
基础知识
完美安全的密码方案:
Pr m | c Pr[m]; Pr[c | m] Pr[c]
练习:假定一个确定性公钥加密方案用来加 密消息m,该消息来自于一个具有L个可能值 的小集合。
如何在关于L的线性时间里确定m(假设加密 一个元素耗费一个单元时间)
精品文档-密码学基础(范九伦)-第4章
第4章 Hash函数
实际应用中的Hash函数可分为简单的Hash函数和带密钥的 Hash函数。带密钥的Hash函数通常用来作为消息认证码(Message Authentication Code)。假定Alice和Bob有一个共享的密钥k, 通过该密钥可以产生一个Hash函数Hk。对于消息x,Alice和Bob 都能够计算出相应的消息摘要y=Hk(x)。Alice通过公共通信信道 将二元组(x,y)发送给Bob。当Bob接收到(x,y)后,它可以通过 检验y=Hk(x)是否成立来确定消息x的完整性。如果y=Hk(x)成立, 说明消息x和消息摘要y都没有被篡改。
第4章 Hash函数
下面给出带密钥的Hash函数族的定义。 定义4.1.4 一个带密钥的Hash函数族包括以下构成要素: (1) X:所有消息的集合(有限集或无限集); (2) Y:所有消息摘要构成的有限集合; (3) K:密钥空间,是所有密钥的有限集合; (4) 对任意的k∈K,都存在一个Hash函数Hk∈H,Hk: X→Y。 如果Hk(x)=y,则二元组(x,y)∈X×Y称为在密钥k下是有效 的。
第4章 Hash函数 生日攻击的思想来源于概率论中一个著名的问题——生日问
题。该问题是问一个班级中至少要有多少个学生才能够使得有两 个学生生日相同的概率大于1/2。该问题的答案是23。即只要班 级中学生的人数大于23人,则班上有两个人生日相同的概率就将 大于1/2。基于生日问题的生日攻击意味着要保证消息摘要对碰 撞问题是安全的,则安全消息摘要的长度就有一个下界。例如, 长度为40比特的消息摘要是非常不安全的,因为仅仅在220(大约 为一百万)个随机Hash函数值中就有50%的概率发现一个碰撞。所 以对于安全的消息摘要,现在通常建议可接受的最小长度为128 比特(此时生日攻击需要超过264个Hash函数值)。而实际使用的消 息摘要一般为160比特甚至更长。
实用密码学PPT第四章2
(1)AH协议 ① AH协议的作用
AH(Authentication Header,认证头)协议主要用于保护数据的完整性和对IP数据报进 行鉴别。但AH协议并不提供对数据的保密性保护,因此当数据通过网络时,如果攻击者使用协 议 分 析 器 ,则照样能够窃取敏感数据 。 AH 还可以通过其单调递增的序列号 ( Sequence Number,SN)防止消息重播攻击。
AH运行于传输模式时,保护的是端到
端的通信,通信的终点必须是IPSec终点。
AH头被插在数据报中IP头与需要保护的上
层协议之间,对这个数据报进行安全保护。
用户数据
应用层
TCP段 TCP头 分组数据 传输层
IP数据报ห้องสมุดไป่ตู้IP头 TCP头 分组数据 网络层
MAC地址 和帧头
IP头
TCP头
分组数据
链路层
图4.15 传输模式的AH报头
通过把密钥从SA和整个IP数据报(包括AH头)传到特定的算法(它被认作SA中的身份 认证程序)这一方式,对ICV进行计算。由于不定字段已设成零,因此不会包括在ICV计算中。 接下来,ICV值被复制到AH的“鉴别数据”字段中,IP头中的不定字段就可根据IP处理的不 同得以填充。最后,IP数据报就可以输出了。
AH运行于通道模式时,它将自己保护的数据报封装起来,并在AH头之前添加一个IP头。里面的 IP数据报中包含了通信的原始寻址,而“外面的”IP数据报则包含了IPSec端点的地址。通道模式可 用来替换端对端安全服务的传输模式,但是,由于这一协议中没有提供机密性,因此,相应地就没有 通信分析这一保护措施,所以它没什么用处。AH只用于保证收到的数据报在传输过程中不会被修改, 保证由要求发送它的当事人将它发送出去,以及保证它是一个新的非重播的数据报。这种情况下的 AH报头如图4.16所示。
AH(Authentication Header,认证头)协议主要用于保护数据的完整性和对IP数据报进 行鉴别。但AH协议并不提供对数据的保密性保护,因此当数据通过网络时,如果攻击者使用协 议 分 析 器 ,则照样能够窃取敏感数据 。 AH 还可以通过其单调递增的序列号 ( Sequence Number,SN)防止消息重播攻击。
AH运行于传输模式时,保护的是端到
端的通信,通信的终点必须是IPSec终点。
AH头被插在数据报中IP头与需要保护的上
层协议之间,对这个数据报进行安全保护。
用户数据
应用层
TCP段 TCP头 分组数据 传输层
IP数据报ห้องสมุดไป่ตู้IP头 TCP头 分组数据 网络层
MAC地址 和帧头
IP头
TCP头
分组数据
链路层
图4.15 传输模式的AH报头
通过把密钥从SA和整个IP数据报(包括AH头)传到特定的算法(它被认作SA中的身份 认证程序)这一方式,对ICV进行计算。由于不定字段已设成零,因此不会包括在ICV计算中。 接下来,ICV值被复制到AH的“鉴别数据”字段中,IP头中的不定字段就可根据IP处理的不 同得以填充。最后,IP数据报就可以输出了。
AH运行于通道模式时,它将自己保护的数据报封装起来,并在AH头之前添加一个IP头。里面的 IP数据报中包含了通信的原始寻址,而“外面的”IP数据报则包含了IPSec端点的地址。通道模式可 用来替换端对端安全服务的传输模式,但是,由于这一协议中没有提供机密性,因此,相应地就没有 通信分析这一保护措施,所以它没什么用处。AH只用于保证收到的数据报在传输过程中不会被修改, 保证由要求发送它的当事人将它发送出去,以及保证它是一个新的非重播的数据报。这种情况下的 AH报头如图4.16所示。
04密码技术与应用
4. 3
对称密码技术
现代密码算法不再依赖算法的保密, 而是把把算法和密钥分开。其中, 密码算法可以公开,但是密钥是保 密的,密码系统的安全性在于保持 密钥的保密性。如果加密密钥和解 密密钥相同,或实质上等同(即从 一个可以推出另外一个),我们称 其为对称密钥、私钥或单钥密码体 制。 对称密码技术又可分为序列密码和分 组密码两大类。序列密码每次加密 一位或一字节的明文,也称为流密 码。序列密码是手工和机械密码时 代的主流方式。分组密码将明文分 成固定长度的组,用同一密钥和算 法对每一块加密,输出也是固定长 度的密文。最典型的就是1977年美 国国家标准局颁布的DES算法。
量子密码的优点是可以防止窃听(见P81)
4. 2
古典密码技术
在计算机出现之前,密码学的算法主要是通过字符之 间代替或易位实现的,一般称这些密码体制为古典密码 或者传统加密技术。其中包括:移位密码、单表替换密 码、多表替换密码等。 古典密码的主要应用对象是对文字信息进行加密解密。 以英文为例,文字由字母中的一个个字母组成,字母表 可以按照排列组合顺序进行一定的编码,把字母从前到 后都用数字表示。此时,大多数加密算法都有数学属性, 这种表示方法可以对字母进行算术运算,字母的加减法 将形成对应的代数码。 古典密码有着悠久的历史(见P81)
4.1.3 密码的分类与算法
可以从不同角度根据不同的标准对密码技术进行分类。P79 1. 按历史发展阶段划分
(1)手工密码。(2)机械密码。
(3)电子机内乱密码。(4)计算机密码。 2. 按保密程度划分
(1)理论上保密的密码。(2)实际上保密的密码。
(3)不保密的密码。 3. 按密钥方式划分
(1)对称式密码(2)非对称式密码
2. DES算法的实现步骤 DES算法实现加密需要三个步骤: 第一步:变换明文。对给定的64位比特的明文X,首先 通过一个置换IP表来重新排列X,从而构造出64位比特 的X0,X0=IP(X)=L0R0 ,其中L0表示X0的前32位, R0表示X0的后32位。 第二步:按照规则迭代。规则为: Li=Ri-1 Ri=Li-1异或f(Ri-1,Ki) (i=1,2,3,„,16) 其中f表示一种置换,又S盒置换构成,Ki是一些由 密钥编排函数产生的比特块。 第三步:对L16R16利用IP-1作逆置换,就得到密文y。 DES算法具有极高的安全性,目前除了穷举搜索法 对 DES算法进行攻击外,还没有发现更有效的方法。而56 位长的密钥的穷举空间件为256,这意味着如果一台计 算机的速度是每秒检测100万个密钥,而搜索完全部密 钥就需要将近2285年的时间,具体的密钥长度与破解 难度可以参考表4-5。随着科技发展,可以考虑把DES 密钥的长度再增加一些,以此来达到更高的保密程度。 此外(详见P87-88)
应用密码学-2016-(第4讲)
模m等价类的集合表示形式:
Z / 3 {0, 1, 2} {9, 31, 1}
{0,1, 2, {0,1, 2, , m 2, m 1} 模m等价类的集合 , m 2, m 1} 模m的代表元组成的集合
模m的完全剩余系
• 例子:
第 四 讲 同 余
第 四 讲 同 余
Z/m中的结论: m≡0 mod m x+(-x)≡0 mod m x±km≡x mod m (x+y)%m=((x%m)+(y%m))%m (xy)%m=((x%m)· (y%m))%m 4.Z/mX或ZmX
1 11
2
3
4
5
6
7
8
9
10 20
12 13
14 15
16 17
18 19
21 22 23 24 25 26 27 28 29 30
30 30 30 30 30 30 30 (30) 30 ( ) ( ) 2 3 2 5 3 5 2 3 5 3 5 2
小结:
(1) (n)是什么?
第 四 讲 同 余
(n)是欧拉函数,对正整数n,(n)是满足 以下条件的i 的个数: 1in且gcd(i,n)=1 (2)欧拉函数(n)的计算方法
n p p ... p
e1 1 e2 2
1
e 1 e 1 (n) ( p1 1) p1e 1 ( p2 1) p2 ...( pm 1) pm
3. 欧拉函数(n)的定义 对于正整数n,与其互素的小于等于n的正整数的 个数表示为(n),称为欧拉函数。 (1)=1 也可以理解为ZnX中的元素个数。
4. 欧拉函数(n)的计算
第 四 讲 同 余
应用密码学第4讲
0
12ຫໍສະໝຸດ 3456 7 8 9 4比特输出
10 11 12 13 14 15
图3-2 代换结构 加密映射和解密映射也可以用代换表来定义,如表3-1所示。这种定义法 是分组密码最常用的形式,能用于定义明文和密文间的任何可逆 映射。
2014-4-29
应用密码学
5
表 3-1图3-2对应的代换表
明文 0000 0001 0010 0011 0100 0101 0110 0111 密文 1110 0100 1101 0001 0010 1111 1011 1000 明文 1000 1001 1010 1011 1100 密文 0011 1010 0110 1100 0101 密文 0000 0001 0010 0011 0100 明文 1110 0011 0100 1000 0001 密文 1000 1001 1010 1011 1100 明文 0111 1101 1001 0110 1011
2014-4-29 应用密码学 6
其中,第2列是决定该可逆映射的密钥,该例中密钥需要64bit。一般地,对 n 比特的代换结构,密钥的大小是 n 2n 比特。比如 n 64 ,密钥大小 21 64 应是 64 2 ,变得难以处理。 实际应用中,常将 n 分成较小的段,例如可选 n r n0 其中,r 和 n0 都是正整数,将设计 n 个变量的代换变为设计 r 个较小的代换,而
轮函数的复杂性越大,密码分析的难度就越大。
在设计Feistel网络时,还有以下两个方面需要考虑:
① 快速的软件实现。 ② 算法容易分析。算法能无疑义地解释清楚,利于分析算法 抵抗攻击的能力,有助于设计高强度的算法。
2014-4-29
应用密码学
第4章密码学应用
22
MD5算法主循环 MD5算法主循环
循环次数是512bit消息分组数目 进入主循环 ,循环次数是 消息分组数目
23
MD5中的链接变量和非线性函数 MD5中的链接变量和非线性函数
链接变量
A=0x01234567 B=0x89abcdef C=0xfedcba98 D=0x76543210
四个非线性函数
29
数字签名的实现方法
(3)使用公开密钥体制与单向散列函数实现签名 )
M
||
M S
H compare D
H
E
签名过程
签名的认证
30
数字签名的实现方法
(4)加入时间标记的签名 ) 问题: 问题:把签名和文件一起重用 ? 把消息加上时间标记, 把消息加上时间标记,然后再进行签名
31
数字签名的实现方法
21
MD5算法描述 MD5算法描述
2、MD5算法描述 、 算法描述 的分组来处理输入消息 以512bit的分组来处理输入消息,每一分组又划 的分组来处理输入消息, 分 为 16 个 32bit 的 子 分 组 。 算 法 的 输 出 由 4 个 32bit分组组成。 分组组成。 分组组成 填充消息 在消息后面填充上所需要的位数个0, 在消息后面填充上所需要的位数个 ,然后在最 后的64位上附上填充前消息的长度值 , 后的 位上附上填充前消息的长度值, 填充后 位上附上填充前消息的长度值 长度恰为512的整数倍。 的整数倍。 长度恰为 的整数倍
13
4.1.3 公开密钥体制的密钥管理
公开密钥体制的密钥管理即保证公钥的完整性 公开密钥体制的密钥管理即保证公钥的完整性 1. 公钥证书
公钥证书是由一个可信的人或机构签发的 , 公钥证书 是由一个可信的人或机构签发的, 包括证 是由一个可信的人或机构签发的 书持有人的身份标识、 公钥等信息, 书持有人的身份标识 、 公钥等信息 , 并由证书颁发 者对证书签字。 者对证书签字。 必须有可信的第三方, 来签发和管理证书, 必须有可信的第三方 , 来签发和管理证书 , 这个机 构CA。 。 CA收集证书申请人的信息,并为之生成密钥对和数 收集证书申请人的信息, 收集证书申请人的信息 字证书, 将申请者的身份与其公钥绑定, 字证书 , 将申请者的身份与其公钥绑定 , 并用自己 的私钥对生成的证书进行签名。 的私钥对生成的证书进行签名。 前提
MD5算法主循环 MD5算法主循环
循环次数是512bit消息分组数目 进入主循环 ,循环次数是 消息分组数目
23
MD5中的链接变量和非线性函数 MD5中的链接变量和非线性函数
链接变量
A=0x01234567 B=0x89abcdef C=0xfedcba98 D=0x76543210
四个非线性函数
29
数字签名的实现方法
(3)使用公开密钥体制与单向散列函数实现签名 )
M
||
M S
H compare D
H
E
签名过程
签名的认证
30
数字签名的实现方法
(4)加入时间标记的签名 ) 问题: 问题:把签名和文件一起重用 ? 把消息加上时间标记, 把消息加上时间标记,然后再进行签名
31
数字签名的实现方法
21
MD5算法描述 MD5算法描述
2、MD5算法描述 、 算法描述 的分组来处理输入消息 以512bit的分组来处理输入消息,每一分组又划 的分组来处理输入消息, 分 为 16 个 32bit 的 子 分 组 。 算 法 的 输 出 由 4 个 32bit分组组成。 分组组成。 分组组成 填充消息 在消息后面填充上所需要的位数个0, 在消息后面填充上所需要的位数个 ,然后在最 后的64位上附上填充前消息的长度值 , 后的 位上附上填充前消息的长度值, 填充后 位上附上填充前消息的长度值 长度恰为512的整数倍。 的整数倍。 长度恰为 的整数倍
13
4.1.3 公开密钥体制的密钥管理
公开密钥体制的密钥管理即保证公钥的完整性 公开密钥体制的密钥管理即保证公钥的完整性 1. 公钥证书
公钥证书是由一个可信的人或机构签发的 , 公钥证书 是由一个可信的人或机构签发的, 包括证 是由一个可信的人或机构签发的 书持有人的身份标识、 公钥等信息, 书持有人的身份标识 、 公钥等信息 , 并由证书颁发 者对证书签字。 者对证书签字。 必须有可信的第三方, 来签发和管理证书, 必须有可信的第三方 , 来签发和管理证书 , 这个机 构CA。 。 CA收集证书申请人的信息,并为之生成密钥对和数 收集证书申请人的信息, 收集证书申请人的信息 字证书, 将申请者的身份与其公钥绑定, 字证书 , 将申请者的身份与其公钥绑定 , 并用自己 的私钥对生成的证书进行签名。 的私钥对生成的证书进行签名。 前提
应用密码学身份认证与访问控制介绍课件
C
电子商务:保护用户隐私 和交易安全的重要手段
D
智能家居:保护家庭设备 和个人信息的安全
E
移动设备:保护移动设备 上的数据和应用的安全
F
云计算:保护云计算平 台和资源的安全
案例分析
实际案例介绍
● 案例1:银行身份认证系统 ● 案例2:企业员工访问控制 ● 案例3:政府电子政务系统 ● 案例4:电子商务网站用户身份验证 ● 案例5:社交媒体用户身份验证 ● 案例6:物联网设备身份验证 ● 案例7:移动支付身份验证 ● 案例8:云服务身份验证 ● 案例9:智能家居身份验证 ● 案例10:区块链身份验证
智能卡认证:使用智能卡进 行身份验证
04
数字证书认证:使用数字证 书进行身份验证
05
双因素认证:结合两种或多 种身份验证方法进行身份验
证
06
零知识证明:使用零知识证 明技术进行身份验证
身份认证的应用场景
登录网站或应用程序:用户需要提 01 供用户名和密码进行身份验证
访问受限资源:用户需要提供特定 02 权限才能访问某些资源
谢谢
密码分析:研究如何破解密 码系统的学科
公钥密码学:基于公钥和私 钥的加密技术
加密:将明文转换为密文的 过程
数字签名:用于验证信息的 完整性和身份认证的技术
密码系统:由加密算法、解 密算法和密钥组成的系统
密码协议:用于实现安全通 信和身份认证的协议
私钥密码学:基于对称密钥 的加密技术
身份认证技术
身份认证的定义
交易和支付:用户在进行交易和支 0 3 付时需要进行身份验证以确保安全
远程访问:用户需要提供身份验证 0 4 才能访问远程服务器和网络资源
访问控制技术
应用密码学-精选文档
5/31
第1章 密码学概述
• 近代密码时期
近代密,密码研究人员设计出了各种各样 采用机电技术的转轮密码机(简称转轮机,Rotor)来取代手工 编码加密方法,实现保密通信的自动编解码。随着转轮机的出现 ,使得几千年以来主要通过手工作业实现加密/解密的密码技术 有了很大进展。
1977年,美国国家标准局NBS(现NIST)正式公布实施美国的数据加 密标准DES
1976年11月,美国斯坦福大学的著名密码学家迪菲(W.Diffie)和赫尔 曼(M.Hellman) 发表了“密码学新方向”(New Direction in Cryptography)一文,首次提出了公钥密码体制的概念和设计思想,开 辟了公开密钥密码学的新领域,掀起了公钥密码研究的序幕。
• 密码学贯穿于网络信息安全的整个过程 ,在解决信息的机密性保护、可鉴别性 、完整性保护和信息抗抵赖性等方面发 挥着极其重要的作用。
• 密码学是信息安全学科建设和信息系统 安全工程实践的基础理论之一。
4/31
第1章 密码学概述
1.2 密码技术发展简介
根据不同时期密码技术采用的加密和解密实现手段的不同特点 ,密码技术的发展历史大致可以划分为三个时期,即古典密码、 近代密码和现代密码时期。
④ 抗抵赖性
是一种用于阻止通信实体抵赖先前的通信行为及相关内容的安全特性 。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机 构或证书机构的辅助来提供这种服务。 密码学的主要任务是从理论上和实践上阐述和解决这四个问题。它是研 究信息的机密性、完整性、真实性和抗抵赖性等信息安全问题的一门学科。
第1章 密码学概述
本章主要内容
• 信息安全与密码技术 • 密码技术发展简介 • 密码学基本概念
