(2)根据对明文和密文掌握的程度,密码分析者通 可以在下述四中情况下对密码体制进行攻击: ①唯密文攻击( Ciphertext- only attack):密码分析 者仅知道一些密文,并试图恢复尽可能多的明文,并进 步推导出加密信息的密钥。 ②已知明文攻击( Known- plaintext attack):密码分 析者不仅知道一些信息的密文,而且还知道与之对应的 明文,根据明文和密文对试图推导出加密密钥或加密算 法 ③选择明文攻击( Chosen- plaintext attack):密码分析 者可以选择一些明文,并得到相应的密文,而且可以选 择被加密的明文,并试图推导出加密密钥或算法
(2)根据对明文和密文掌握的程度,密码分析者通常 可以在下述四中情况下对密码体制进行攻击: ① 唯密文攻击(Ciphertext-only attack):密码分析 者仅知道一些密文,并试图恢复尽可能多的明文,并进 一步推导出加密信息的密钥。 ② 已知明文攻击(Known-plaintext attack):密码分 析者不仅知道一些信息的密文,而且还知道与之对应的 明文,根据明文和密文对试图推导出加密密钥或加密算 法。 ③选择明文攻击(Chosen-plaintext attack):密码分析 者可以选择一些明文,并得到相应的密文,而且可以选 择被加密的明文,并试图推导出加密密钥或算法
④选择密文攻击( Chosen- ciphertext attack):密 码分析者可以选择不同的密文,并能得到相应的明 文,并试图推导出加密密钥。 4.鉴别、完整性与不可否认性 (1)鉴别:信息的接收者应该能够确认信息的来源。 (2)完整性:信息的接收者应能验证信息在传输过程中 有没有被改变。 (3)不可否认性:信息的发送方不能否认已发送过的 信息
④ 选择密文攻击(Chosen-ciphertext attack):密 码分析者可以选择不同的密文,并能得到相应的明 文,并试图推导出加密密钥。 4.鉴别、完整性与不可否认性 (1)鉴别:信息的接收者应该能够确认信息的来源。 (2)完整性:信息的接收者应能验证信息在传输过程中 有没有被改变。 (3)不可否认性:信息的发送方不能否认已发送过的 信息
5.计算复杂性理论 (i)理论安全性(无条件安全性):如果具有无限 资源的密码分析者也无法破译该密码体制,这就是理论 安全性(无条件安全性),也称绝对不可破译,即是说 密码分析者无论截获多少密文以及无论用什么方法进行 攻击都不可能破译 (2)可证明安全性:如果从理论上证明破译该系统的代 价(困难性)不低于求解某个已知的数学难题,这就是 可证明安全性。 (3)计算安全性:如果用用已知的最好算法和利用现有 的(或密码系统生命期内)最大计算资源仍然不可能在 合理的时间内完成破译该系统所要求的计算(量),这 就是计算安全性。即密码分析者根据可以利用的资源进 行破译所用的时间非常长,或者说破译的时间长到原来 的明文失去保密价值
5.计算复杂性理论 (1)理论安全性(无条件安全性):如果具有无限计算 资源的密码分析者也无法破译该密码体制,这就是理论 安全性(无条件安全性),也称绝对不可破译,即是说 密码分析者无论截获多少密文以及无论用什么方法进行 攻击都不可能破译。 (2)可证明安全性:如果从理论上证明破译该系统的代 价(困难性)不低于求解某个已知的数学难题,这就是 可证明安全性。 (3)计算安全性:如果用用已知的最好算法和利用现有 的(或密码系统生命期内)最大计算资源仍然不可能在 合理的时间内完成破译该系统所要求的计算(量),这 就是计算安全性。即密码分析者根据可以利用的资源进 行破译所用的时间非常长,或者说破译的时间长到原来 的明文失去保密价值
可证明安全性和计算安全性统称为实际安全性。 什么是计算机复杂性理论? 计算机复杂性理论是密码安全性理论的基础,它为 分析不同密码技术和算法的“复杂性”提供了一种方 法,它对不同的密码算法和技术进行比较,从而给出 问题求解困难性的数量指标,并确定它们的安全性 (1)密码分析所需的计算量则是密码体制安全性的 生命指标。如果用n表示问题的大小(或输入的长度 ),则计算复杂性可以用两个参数来表示:运算所需 的时间T和存储空间S。它们都是n的函数,表示为: T(n)和S(n),也分别称为空间复杂性和时间复杂性
可证明安全性和计算安全性统称为实际安全性。 计算机复杂性理论是密码安全性理论的基础,它为 分析不同密码技术和算法的“复杂性”提供了一种方 法,它对不同的密码算法和技术进行比较,从而给出 问题求解困难性的数量指标,并确定它们的安全性。 什么是计算机复杂性理论? (1)密码分析所需的计算量则是密码体制安全性的 生命指标。如果用n 表示问题的大小(或输入的长度 ),则计算复杂性可以用两个参数来表示:运算所需 的时间T和存储空间S。它们都是n的函数,表示为: T(n)和S(n),也分别称为空间复杂性和时间复杂性
空间复杂性和时间复杂性往往是可以相互转换的 。比如,可以预算某些明文和密文对,分析时只需使 用查询即可,这样计算的时间就转换成了存储空间。 假如T(n)=0(n)(c>0),那么称该算法运算的时 间是多项式阶的,假如T(n)=0(ap(m)(a>0),则称 该算法运算的时间是指数阶的。其中P(n)是n的一个 多项式。对于指数阶的运算时间算法,适当增大n, 计算将变成不可能。因此,一般认为,如果破译一个 密码体制所需的时间是指数阶的,则它在计算上是安 全的,因而实际上也是安全的
假如T(n)=O(nc)(c>0),那么称该算法运算的时 间是多项式阶的,假如T(n)=O(ap(n))(a>0),则称 该算法运算的时间是指数阶的。其中P(n)是n的一个 多项式。对于指数阶的运算时间算法,适当增大n, 计算将变成不可能。因此,一般认为,如果破译一个 密码体制所需的时间是指数阶的,则它在计算上是安 全的,因而实际上也是安全的。 空间复杂性和时间复杂性往往是可以相互转换的 。比如,可以预算某些明文和密文对,分析时只需使 用查询即可,这样计算的时间就转换成了存储空间