失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 现代密码学1.4--现代密码的三大原则

现代密码学1.4--现代密码的三大原则

时间:2023-06-15 16:32:54

相关推荐

现代密码学1.4--现代密码的三大原则

现代密码学1.4--现代密码的三大原则

正式的定义安全条件错误的正确的攻击模型精确的假设严格的安全性证明

博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。

古典密码就像是一门艺术,没有关于“安全”方案应该满足什么条件的共识,也没有证据证明某个密码方案是安全的。相比之下,现代密码更像是一门科学,它给出了关于密码方案是否安全的严格定义。

严格的安全性证明是基于正式的定义精确的假设下的。

正式的定义

并不是存在攻击算法的密码方案就是不安全的。比如Vigenere密码(多字母替代密码),如果密文很长则可能会被破解,但如果密文足够短,它就是安全的。因为很短的密文通常不符合字母的频率分布等特性,难以找到规律。

也就是说,如果没有一个正式的定义,即使存在攻击算法,我们也不能说这个密码方案就不安全。

而且,如果没有正式的定义,我们怎么知道要使一个密码方案安全究竟要满足些什么条件。

基于以上,正式的安全性定义是很必要的。

通常一个安全性定义分为两个部分:安全条件和攻击模型。

安全条件

一个安全密码方案应该满足哪些条件?

错误的

对于攻击者而言,不能恢复密钥。

即使不能恢复密钥,也有可能泄露明文。如Enck(m)=mEnc_k(m)=mEnck​(m)=m对于攻击者而言,不能从密文恢复完整的明文。

不需要恢复完整明文,只要恢复部分明文就可能泄露重要的信息。对于攻击者而言,不能从密文恢复任何的明文字符。

甚至不需要恢复任何具体的明文字符,有时只要知道明文字符A和明文字符B之间潜在的关系即可。比如员工A薪资和员工B薪资,不需要知道具体薪资,只需要知道比较关系,就会泄露很多信息。

正确的

无论攻击者已经拥有哪些信息,密文都不应该泄露关于潜在明文的任何额外信息。

这意味着一个安全的密码方案应该对于所有可能的隐私要求应用都是适合的。

攻击模型

攻击模型没有正确与否,也没有哪个比哪个更好,只是对攻击者不同算力的模型化。正确的做法是根据密码方案所应用的环境,来决定使用哪种攻击模型。

唯密文攻击:攻击者只能观察到密文已知明文攻击:攻击者知道一对或多对明密文选择明文攻击:攻击者可以选择一些明文,要求得到相应的密文。选择密文攻击:攻击者可以选择一些密文,要求得到相应的明文。

精确的假设

密码方案通常是基于数学困难问题之上构造的。

假设有效性

假设是还没被证明,但被推测是真的。我们认为,一个假设被检查和测试越多,那么它的可信度就越高。方案的比较

假设其他条件相同,如果有两个基于不同假设的方案都被证明满足某种定义,那我们该选哪种方案呢?我们通常选基于更弱假设的那个方案,因为往往“第一个假设是正确的”会推出“第二个假设是错误的”。理解假设的必要性

密码方案是基于许多模块的,如果某个模块所基于的假设不对,我们只需要检查这个假设是否影响了方案的安全性。

严格的安全性证明

一个密码方案,

在某些特定的假设下,满足给定的定义,

是可以严格证明该方案安全性的前提。

如果觉得《现代密码学1.4--现代密码的三大原则》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。