17、加密密钥是怎么来的

你好,我是范学雷。 到目前为止,你已经跟我一起走了很长的路了。不知道这一路上,你有了哪些心得和体会?对密码学是不是多了很多新的认知和想法?这一讲,我们继续上路,踏足密码学的世界。 前几讲,我们花了很长时间讨论了对称密钥的算法,以及使用对称密钥算法要注...

实用密码学

16、为什么说随机数都是骗人的

你好,我是范学雷。 今天,我们来讲一个之前总提到的知识点:随机数。比如,我们在讲初始化向量时,提到可以使用随机数来避免重复。事实上,随机数还有更广泛的用途。可以这么说,只要使用密码学的技术,我们一定会用到随机数。 说起来也很巧,当我准备随机数这篇文章...

实用密码学

15、AEAD有哪些安全陷阱

你好,我是范学雷。 上一讲,我们讨论了加密数据如何才能够自我验证,自我验证就是指解密的时候,还能够同时检验数据的完整性。我们还谈到了带关联数据的认证加密(AEAD)是目前市场的主流思路。 我们有了带关联的认证加密算法,应用程序再也不需要自行设计、解决...

实用密码学

14、加密数据能够自我验证吗

你好,我是范学雷。 还记得上一讲,我们讲的消息验证码吗?我们讨论过可以使用消息验证码来验证消息的真伪。但是,不知道你有没有注意,在上一次讨论中,我们并没有讨论该如何安全地传递待验证消息。 而且,待验证信息的传递还是通过明文的方式进行的,这种方式,信息...

实用密码学

13、如何防止数据被调包

你好,我是范学雷。 还记得我们在前面讨论过CBC模式补齐预言攻击吗?当时,我们谈到了一个问题,就是解密端是无法判断解密得到的数据是发送者发送的数据,还是被人掉了包的数据的。 这就好比,牛郎要送的信是,“七夕今宵看碧霄,牛郎织女渡鹊桥”。织女拆开一看,...

实用密码学

12、怎么利用加密端攻击

你好,我是范学雷。 上一讲,我们讨论了怎么利用解密端攻击CBC模式的对称密钥分组算法。那么,加密端的攻击方案是怎么进行的?有什么办法可以规避加密端的攻击?这是我们这一次要解决的问题。 虽然我们之前说,CBC模式应该退休了,但是现实中,它还有广泛的应用...

实用密码学

11、怎么利用解密端攻击

你好,我是范学雷。 上一讲,我们讨论了对称密钥分组算法的CBC链接模式,还提到了异或运算的好处,以及它的风险。但是,我们又留了一个小尾巴,异或运算是怎样带来麻烦的?它是怎么影响CBC链接模式的安全性的?我们又有什么有效的办法可以规避异或运算的风险? ...

实用密码学

10、怎么防止数据重放攻击

你好,我是范学雷。 上一讲,我们讨论了对称密钥分组算法的链接模式,从链接模式出发,我们还分析了ECB模式,初始化向量和链接模式的缺失导致了ECB模式的安全缺陷,尤其是数据重放攻击。 我们说,有密码学基础知识的工程师,都应该知道ECB模式的安全问题,并...

实用密码学

9、为什么ECB模式不安全

你好,我是范学雷。 上一讲,我们讨论了对称密钥分组算法的计算过程,我们找到了影响对称密钥算法安全性的五个关键因素,以及初始化向量对算法安全性的影响和选择。 不过,还有一些遗留的问题,我们没有来得及讨论,链接模式和数据补齐方案对算法安全性有什么样的影响...

实用密码学

8、该怎么选择初始化向量

你好,我是范学雷。 上一讲,我们讨论了对称密钥的常见算法,还讲到了序列算法和分组算法。还记得吗?当时,我建议你优先使用序列算法,因为它有着良好的性能和皮实的用法。另外,我还向你推荐了AES-256和AES-128。 但是,由于我们还没有考虑数据分组等...

实用密码学
134567268