目录
1 什么是密码学(密码学基础概念)
1.1 基础概念
考虑这样一个场景,Alice希望将消息m秘密地发送给Bob,并且不希望窃听者Eve获得消息的具体内容。
- 明文(plaintext):Alice希望发送的信息m
- 密文(ciphertext):Alice将明文m转换为密文c发送给Bob
- 加密算法(encryption algorithm):Alice使用加密算法将明文m转换为密文c,可以表示为Enc
- 解密算法(decryption algorithm):Bob使用解密算法将密文c转换为明文m,可以表示为Dec
- 密钥生成算法(key generation algorithm):用于生成随机密钥k,可以表示为KeyGen
- 加密方案(encryption scheme):三种算法的集合(Enc,Dec,KeyGen)
1.2 柯克霍夫原则
密码系统应该就算被所有人知道系统的运作步骤,仍然是安全的。
对应1.1中描述的场景,柯克霍夫原则指出,加密方案本身应当是可以公开的。如果系统的安全性依赖于加密方案的保密,那么一旦方案被泄露则需要发明新的算法,其难度可见一斑。因此,需要考虑在系统中将其他的信息保密用以确保系统的安全性,即密钥。在保密密钥的情况下,如果发生密钥被泄露的情况,重新选择密钥进行加解密即可,而不是发明新的算法。
2 一次性密码本(One-Time Pad)
2.1 加密方案
在一次性密码本中,明文、密文、密钥均为01串。此处的![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
KeyGen:从长度为![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
Enc:明文和密钥做异或运算(XOR,exclusive or),加密得到密文
Dec:密钥和密文做异或运算,解密得到明文
2.2 正确性
正确性指的是Bob能通过解密收到的密文得到正确的明文,即对于任意的![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图7 k,m\in (0,1)^{\lambda}](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图9 Dec(k,Enc(k,m))=m](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
2.3 安全性
从攻击者Eve的角度来看,得到一个密文等价于从如下的窃听算法得到一个输出:
这个算法不是描述攻击者做了什么,而是表示攻击者所得到的信息的产生过程(由Alice和Bob执行)。 将攻击者视为接收窃听算法输出的过程,则安全性指的是,窃听算法的输出不会暴露输入m。
窃听算法EAVESDROP(m)是一种随机算法,因此我们可以将其看做关于输出值的概率分布。得到一个密文就相当于从分布EAVESDROP(m)中随机采样。
证明一次性密码本的安全性,只需要证明“对于每个![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图15 m\in (0,1)^{\lambda}](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
对于给定的![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图17 c,m\in (0,1)^{\lambda}](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
由于![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图19 c=k\oplus m\Leftrightarrow k=m\oplus c](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
则有![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图21 Pr[eavesdrop(m) = c]=Pr[k=m\oplus c]](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图23 (0,1)^{\lambda}](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
因此,EAVESDROP(m)服从均匀分布,
如果攻击者获得一个用一次性密码本加密的密文,其中密钥被均匀地选择并且对攻击者来说是保密的,那么这个密文就会是均匀分布的。确保了一次性密码本的安全性。
2.4 局限性
一次性密码本在实践中是非常局限的,主要体现在:
- 一次性密码本要求密钥和明文以及密文都是等长的,一方面,当原文很长的时候对应的密文也会很长;另一方面,会存在“先有鸡还是先有蛋的问题”,即Bob如果想解密就必须拿到密钥,如果Alice能够隐私地传输密钥给Bob,为什么不直接将原文隐私地传送给Bob呢?
- 每个密钥只用一次,意味着每次加密都要不停地更换密钥,增加了复杂性。
疑问
直观上,如果![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图25 Pr[eavesdrop(m)=c]=\frac{1}{2^{\lambda}}](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图5 \lambda](https://bianchenghao.cn/wp-content/uploads/2022/12/2022122605452522.jpg)
今天的文章【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88806.html
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图1 【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]](https://img.bianchenghao.cn/app/bianchenghao_cn/04b8a916610c40f2ad836b7e6dc0abab.png)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图3 【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]](https://img.bianchenghao.cn/app/bianchenghao_cn/55d56bc923e5475784267696858bea25.png)
![【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]插图13 【The Joy of Cryptography 学习笔记】| 第1章 一次性密码本(One-Time Pad)和柯克霍夫原则(Kerckhoffs‘ Principle)[通俗易懂]](https://img.bianchenghao.cn/app/bianchenghao_cn/490d8277aa014a4095e5b6e57c3f862b.png)