Introduction to Modern Cryptography-现代密码学导论[一]

目录

Perfect secrecy Encryption

1.Perfect secrecy(完美保密)

2.Perfect (adversarial) indistinguishability(完美不可区分性)

EAV-Security

3.The One-time Pad(一次性密码本)

4.Limitations of Perfect secrecy

5.*Shannon’s Theorem

Computational security Encryption

6.Computational security

The Asymptotic Approach

The Asymptotic Approach in Detail

7.Defining Computationally Secure Encryption

8.The Basic Definition of Security (EAV-Security)

9.*semantic security(语义安全)


Perfect secrecy Encryption

1.Perfect secrecy(完美保密)

完美保密的概念:

        我们假设一个对手知道M的概率分布;也就是说,对手知道发送不同消息的可能性。对手也知道正在使用的加密方案。对手唯一不知道的是双方共享的密钥。消息由诚实的一方选择并加密,然后将得到的密文传输给另一方。对手可以窃听各方的通信,从而观察到这个密文。(这是一种仅密文攻击,其中攻击者仅看到单个密文)。

        对于一个完全保密的方案,观察这个密文应该不会影响对手关于所发送的实际消息的知识;换句话说,以所观察到的密文为条件,发送某个消息m ∈ M的后验概率应该与发送m的先验概率没有什么不同。这意味着密文不会透露任何关于底层明文的信息。

定义:

消息空间为M的加密方案(Gen,Enc,Dec)是完美保密的,如果对于M的每个概率分布,每个消息m ∈M,和每个密文c ∈ C,其中Pr[C = c] > 0:

Example

        我们表明,移位密码是不是完全保密时,使用的消息空间M组成的所有两个字符的明文。我们根据上述定义,并给出M上的概率分布,对于某些消息m和密文c

        假设消息是AA或AB,每个具有一半的概率。设m = ab,c = XX。显然Pr[M = ab| C = XX] = 0(不可能从ab的加密中得到XX),但Pr[M = ab] = 1/2。

2.Perfect (adversarial) indistinguishability(完美不可区分性)

        我们考虑以下实验:对手 A 首先指定两个任意的消息 m0 和 m1,它们属于消息空间 M。然后,使用密钥生成算法 Gen 生成一个密钥 k。接下来,随机选择 A 指定的两个消息中的一个(每个概率为1/2),并使用密钥 k 对其进行加密;得到的密文随后交给 A。最后,A 输出一个“猜测”,指明哪一个消息被加密;A 只有在猜测正确时才成功。

        如果没有对手 A 能够以高于1/2的概率成功那么该加密方案被为"perfectly indistinguishable"。需要注意的是,对于任何加密方案,A 都可以通过输出一个均匀的猜测以1/2的概率成功;要求是没有攻击者可以做得比这更好。(这里并没有对 A 的计算能力施加限制)

        正式地,假设 Π = (Gen, Enc, Dec) 是一个具有消息空间 M 的加密方案。 A 代表一个对手。我们定义一个基于 A 和 Π 的实验 PrivKeav A,Π 如下:

1. The adversary A outputs a pair of messages m0, m1 ∈ M.

2. A key k is generated using Gen, and a uniform bit b ∈ {0, 1} is chosen. Ciphertext c ← Enck(mb) is computed and given to A. We refer to c as the challenge ciphertext.

3. A outputs a bit b′.

4. The output of the experiment is defined to be 1 if b′ = b, and 0 otherwise. We write PrivKeav A,Π = 1 if the output of the experiment is 1 and in this case we say that A succeeds.

定义2.6:

具有消息空间M的加密方案Π =(Gen,Enc,Dec)是完全不可区分的,如果对于每个A,它满足

EAV-Security

Example

         如何证明维吉尼亚密码(Vigenère cipher)在某些参数下不是完美不可区分的。具体来说,让 Π 代表维吉尼亚密码,其中消息空间为两个字符的字符串,且周期在{1, 2}中均匀选择。为了证明 Π 不是完美不可区分的,作者展示了一个对手 A,其中 Pr [PrivKeav A,Π = 1] 大于 1/2。

        其中b是确定哪个消息被加密的统一位。如定义的,A输出0当且仅当密文c = c1c2的两个字符相等。当b = 0时(因此m0 = aa被加密),如果(1)选择周期1的密钥,或者(2)选择周期2的密钥并且密钥的两个字符相等,则c1 = c2。前者发生的概率为1/2,后者发生的概率为1/2 · 1/26。所以

        所以当b = 1时,只有当选择的密钥并且密钥的第一个字符比密钥的第二个字符多一个时,c1 = c2,这以概率1/2·1/26发生。所以

所以,这个方案并非完全不可区分.


3.The One-time Pad(一次性密码本)


4.Limitations of Perfect secrecy

        如果(Gen,Enc,Dec)是消息空间M和密钥空间K的完全秘密加密方案,则|K| ≥ |M|.

        我们证明了如果|K| <|M|则该方案不可能是完全保密的。假设|K| <|M|.考虑M上的均匀分布,设c ∈ C是以非零概率出现的密文。令M(c)是作为c的可能解密的所有可能消息的集合;即


5.*Shannon’s Theorem

        在香农的完美保密性研究中,他提供了对完美保密加密方案的定义。规定在特定条件下,密钥生成算法 Gen 必须从所有可能的密钥集中均匀选择密钥(类似于一次性密码本);而且对于每个消息 m 和密文 c,都存在唯一的密钥将消息映射到密文(同样类似于一次性密码本)。除了本身具有趣味性,这个定理还是证明(或否定)加密方案完美保密性的有用工具。我们将在证明之后进一步讨论这一点。这里所述的定理假定 |M| = |K| = |C|,也就是说明文、密钥和密文的集合都具有相同的大小。

        上面我们提到对于完美保密性,必须满足 |K| ≥ |M|。很容易理解,正确的解密需要 |C| ≥ |M|。因此,在某种意义上,具有 |M| = |K| = |C| 的完美保密加密方案是“最佳”的。

(Shannon’s theorem) Let (Gen, Enc, Dec) be an encryption scheme with message space M, for which |M| = |K| = |C|. The scheme is perfectly secret if and only if:

1. Every key k ∈ K is chosen with (equal) probability 1/|K| by Gen.

2. For every m ∈ M and every c ∈ C, there is a unique key k ∈ K such that Enck(m) outputs c.

PROOF

        这证明的直观理解如下。要理解所述的条件如何暗示完美保密性,需要注意到第二个条件意味着任何密文 c 都可以是加密任何可能的明文 m 的结果,因为存在某个密钥 k 将 m 映射到 c。由于存在唯一的这样的密钥,且每个密钥都以相等的概率选择,完美保密性就像一次性密码本一样成立。

        对于另一个方向,完美保密性立即意味着对于每个 m 和 c,至少有一个密钥将 m 映射到 c。而且,|M| = |K| = |C| 进一步意味着对于每个 m 和 c,确切地有一个这样的密钥存在。有了这一点,每个密钥必须以相等的概率选择,否则完美保密性将不再成立。下面是一个正式的证明。

        为了简化,我们假设 Enc 是确定性的。(可以证明这在这里是没有损失的一般性。)我们首先证明,如果加密方案满足条件1和条件2,那么它就是完美保密的。这个证明基本上与一次性密码本的完美保密性证明相同,因此我们将相对简要。固定任意的 c ∈ C 和 m ∈ M。让 k 是由条件2保证的唯一密钥,满足 Enck(m) = c。然后,有:

    香农定理对于判定一个给定的方案是否是完全秘密的是有用的。条件1很容易检查,条件2可以证明(或反驳),而不必计算任何概率。作为一个例子,一次性密码本的完全保密性使用香农定理证明是微不足道的。


Computational security Encryption

6.Computational security

        虽然完美保密是一个有价值的目标,但它也是不必要的强大。完美的保密性要求绝对没有关于加密消息的信息被泄露,即使是对具有无限计算能力的窃听者。然而,出于所有实际目的,如果加密方案以微小的概率将信息泄露给具有有限计算能力的窃听者,该加密方案仍然被认为是安全的。例如,如果一个方案在最快的超级计算机(或计算机集群)上花费200年的计算时间,将信息泄露给窃听者的概率最多为2^-60,那么它就足以满足现实世界的应用。计算安全性定义考虑了攻击者的计算限制,并允许安全性被违反的可能性很小,这与本质上是信息理论的概念(如完全保密)相反。计算安全性现在是几乎所有密码应用程序定义安全性的事实方式.

        虽然我们给予获得完美的保密,这并不意味着我们放弃了严格的数学方法,我们一直在采取迄今为止。定义和证明仍然是必不可少的;唯一不同是,我们现在考虑的安全概念较弱(但仍有意义)

如果任何攻击者在不超过t的时间内以不超过ε的概率成功破坏该方案,方案(t,ε)是安全的


The Asymptotic Approach(渐近法)

        我们将“有效对手”等同于随机化(即概率)算法在n中的时间多项式中运行。这意味着存在某个多项式p,使得当安全参数为n时,对手运行时间至多为p(n)。我们还要求诚实的一方在多项式时间内运行,尽管我们强调对手可能比诚实的一方强大得多(运行时间也长得多)。

        我们将“小成功概率”的概念等同于成功概率小于n中的任何逆多项式,这样的概率被称为可忽略不计。

ppt(probabilistic polynomial-time)“概率多项式时间”渐近安全性的定义:

如果任何PPT敌手以最小的概率成功破解该方案,该方案是安全的

Example

        假设我们有一个渐近安全的方案。然后,可能的情况是,一个运行了n^3分钟的对手可以成功地以240/2^n的概率(这是n的一个可忽略的函数)“破坏该方案”。当n ≤ 40时,这意味着一个运行40^3分钟(约6周)的对手可以以概率1破坏该方案,所以这样的n值不是很有用。即使n = 50,一个运行50^3分钟(约3个月)的对手也可以以大约1/1000的概率破坏该方案,这可能是不可接受的。另一方面,当n = 500时,一个运行了200年的对手破坏该方案的概率大约为2^ - 500.


The Asymptotic Approach in Detail

Negligible success probability(成功概率可忽略不计)。可忽略函数是渐近小于任何反多项式函数的函数。

A function f from the natural numbers to the non-negative real numbers is negligible if for every polynomial p there is an N such that for all n > N it holds that f(n) <1/p(n).

        上述内容等同表述如下:对于每个多项式p和所有足够大的n值,它保持f(n)< 1 /p(n)。换句话说,对于所有常数c,存在一个N,使得对于所有n > N,f(n)<n^-c成立。我们通常用一个可忽略的函数negl来表示.

Example

        如果对于每个概率多项式时间攻击者A进行攻击,A成功攻击的概率是可忽略的,这个方案是安全的。

        如果对于每个攻击者A和每个多项式p,存在一个整数N,使得当n > N时A成功攻击的概率小于1/p(n)这个方案是安全的。


7.Defining Computationally Secure Encryption

私钥加密方案由三种概率多项式时间算法(Gen,Enc,Dec)组成


8.The Basic Definition of Security (EAV-Security)

        我们现在通过安全参数n来参数化实验。然后,对手A的运行时间以及其成功概率都被视为n的函数。我们写PrivKeav A,Π(η)来表示以安全参数η运行的实验,并且写

        表示实验PrivKeav A,Π(η)的输出为1的概率。注意,当A,n固定时,公式中的表达式是n的函数。

定义3.8:一个私钥加密方案n =(Gen,Enc,Dec)在存在窃听者的情况下具有不可区分的保密性,或者是EAV安全的,如果对于所有概率多项式时间的对手A,存在可忽略的函数n,使得对于所有n

        应该清楚的是,定义3.8比定义2.6弱,后者相当于完全保密。因此,任何完全保密的加密方案也是EAV安全的。因此,我们的目标是证明存在满足定义3.8的加密方案,可以规避完美保密的限制,特别是密钥比消息短。(如果该方案可以处理任意长度的消息,则必须是这种情况)。也就是说,我们将展示满足定义3.8但不能满足定义2.6的方案.


9.*semantic security(语义安全)

        我们在定义安全加密的基础上说,意味着对手无法从密文中了解到有关明文的任何部分信息。然而,乍一看,定义3.8看起来非常不同。但是,正如我们所提到的,这个定义等价于一个称为语义安全的定义,它形式化了我们想要的概念

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值