自己的沙场:全同态加密研究分享 http://blog.sciencenet.cn/u/chzg99 不要对我说生命中无聊的事,不要对我说失败是命运的事。

博文

什么样的加密是安全的?

已有 4967 次阅读 2011-1-17 10:04 |个人分类:读书|系统分类:科研笔记| 故事, 老师, 初学者

Jonathan Katz和Yehuda Lindell的《Introduction to modern cryptography》给出了一连串的解释,相当循循善诱。
我常想有些人写书该说的总是不说,这是教材的通病,恰恰是教材才应该说内容背后的故事,初学者才能知道这是如何来的,为什么要这样。Jonathan Katz适合做老师,但他的学问也做得非常好。有时候何必要故弄弦虚呢,搞得全世界人都看不懂,以为这样才牛。
 
    什么样的加密是安全的?在每个人的心里都有一种直观的定义,所以有些人认为对安全的这种直观定义转成形式化定义是很容易的,没必要去严格的形式化定义。这样的想法是错误的。一方面每个人对安全的含义都有不同的感受,甚至就算是一个人在不同的环境下也会有不同的感受。因此,把直观定义转换成一种合适的定义并非易事。例如对于加密来说,我们认为加密方案就是达到如下效果:只有知道密钥的人可以读取明文。然而这样一件事如何形式化呢?各位可以开动脑筋想想。
   
    这个问题我们也经常问学生:加密的安全应该如何定义?通常会得到如下几种回答:
 
    回答1、对于一个给定的密文,如果敌手不能够发现密钥的话,就说该加密方案是安全的。这样的定义是偏离了问题的本质。加密的目的在于保护被加密的明文,密钥仅仅是达到这一目的的手段而已。举个最不靠谱的例子,考虑一个加密方案,该加密方案不需要密钥就直接输出明文,显然在这种情况下没有敌手能够发现密钥。但是该加密方案也不能够
达到任何加密效果。

    回答2、如果敌手不能够发现密文所对应的明文的话,就说该加密方案是安全的。这样的定义较好一些,甚至在一些密码学课本中可以发现这样定义的。但是仔细思考一下,会发觉依然不能令人信服。例如,有一个加密方案,它暴露了90%的明文信息,而剩下的10%的明文信息敌手仍旧很难获得,在上述定义下该方案认为是安全的。但是这在通常的加密应用中是显然不能够接受的。例如工作合同中大部分是一些标准的通用条款,只有工资需要去保密。如果工资属于明文的90%的那部分,那么如果90%的明文信息暴露了,加密就起不到如何作用了。
 
    回答3、如果敌手不能够发现密文所对应的明文的任何信息,就说该加密方案是安全的。这样的定义看起来是一个不错的定义,但是会产生一些潜在的问题。回到上面讲的工作合同的例子,如果想确定实际的工资是不可能的,但是有某种可能知道已被加密的工资数大于或小于每年10万美元,那么你还会认为这个加密方案是安全的么?显然回答是否定的。这就引出了下一步的讨论。
 
    回答4、如果敌手不能够从密文中得到关于明文的任何有意义的信息,就说该加密方案是安全的。这已经非常接近真实的定义。然而这个定义有一点遗漏:它没有定义什么是有意义的信息。不同的信息在不同的应用中会有不同的意义。这引出了密码学中关于安全定义的非常重要的原则:安全定义应当满足所有潜在应用的需要。这是非常必要的,因为一个人不可能知道将来会产生什么样的应用。因此,一些经典的密码方案成为了通用密码库的一部分,而这些密码库可以使用在许多不同的应用环境中。理想情况下安全性应该为所有可能的使用提供保障。
 
    5、最终的答案:如果敌手不能够从密文中计算出关于明文的任何功能,就说该加密方案是安全的。这一定义提供了非常强的保证,在适当的形式化之后,被认为是当今对加密最正确的定义。
 
     当然,虽然现在我们已经想到了安全加密的正确要求,从概念上来说,仍旧需要通过数学形式化的方式来陈诉这一要求,这本身就是一件重要的任务。
 
 


https://blog.sciencenet.cn/blog-411071-405049.html

上一篇:选取椭圆曲线时, 为什么要求基点P的阶n>4sqrt(p) ?
下一篇:古典密码学与现代密码学的比较
收藏 IP: 61.153.150.*| 热度|

1 唐常杰

发表评论 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 20:14

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部