博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。
古典密码就像是一门艺术,没有关于“安全”方案应该满足什么条件的共识,也没有证据证明某个密码方案是安全的。相比之下,现代密码更像是一门科学,它给出了关于密码方案是否安全的严格定义。
严格的安全性证明是基于正式的定义和精确的假设下的。
正式的定义
并不是存在攻击算法的密码方案就是不安全的。比如Vigenere密码(多字母替代密码),如果密文很长则可能会被破解,但如果密文足够短,它就是安全的。因为很短的密文通常不符合字母的频率分布等特性,难以找到规律。
也就是说,如果没有一个正式的定义,即使存在攻击算法,我们也不能说这个密码方案就不安全。
而且,如果没有正式的定义,我们怎么知道要使一个密码方案安全究竟要满足些什么条件。
基于以上,正式的安全性定义是很必要的。
通常一个安全性定义分为两个部分:安全条件和攻击模型。
安全条件
一个安全密码方案应该满足哪些条件?