密码协议--总结二
这一章的内容比较多并且相对来说复杂一些,所以我将会把此章节分割成两次进行讲述。
这次我就随着ppt的内容进行分析总结。

内容开始以可口可乐公司作为引言引出“我们如何将秘密分成两部分,并且只有任意一方是无法还原出密码的具体内容的”。
并且在对每一个秘密持有者我们都需要假设:1,他们会向另一方屈服。(也就是说他们有可能会交换信息以达到还原秘密)2,此秘密可能会存在数学缺陷或者会被先进的技术分析出来。
下面介绍一下使用Xor的方法来分配不同的密码碎片(用于合成秘密的东西)。

简单介绍下,这个协议需要仲裁者以及OPT方法。
仲裁者生成一次一密密码R,之后使用M与R进行xor得到s,所以s与R就是还原明文m的两个重要的部分,将其分发给A与B即可。
倘若需要多人共享秘密块,那我们需要Xor多个数据块并分享。
下面引进一个新的概念:——(a,b)threshold scheme

此概念的大致意思为,目前我有五个参与者,当我将其中的三个及三个以上的参与者的秘钥块整合到一起时才能够得到秘密。
不过对待此协议我们要注意:
Providestradeoff between security and reliability according to the choice of m and n.Higherm gives higher security, lower reliabilityLowerm gives lower security, higher reliability
即m与n的选取问题十分重要,当m的值很大的时候,我们得到很好的安全性,但是可靠性却不尽人意;反之我们结论相反。
下面我们介绍下具体的几个门限设计。
一、shamir门限设计

此方案基于多项式进行设计,我们需要m个点,所以我们可以设立m个点(x,y),只有获得了m个点我们才可以求得坐标轴上的曲线。
此处放入具体的shamir设计方案。
对于沙米尔门限方案,我这里可以简单的使用几句话简单的去解释。这里我们设有一个n次多项式,这就意味着如果我想要解得这个多项式的解,那么我需要寻找到n个点去带入方程。(例如:Fx=ax^2+bx+c。我们都知道我们要解这个方程那么就需要两个点去带入,否则就无法得出表达式---忽略曲线定点在坐标轴上的情况)此时就比较像我们的门限方案,只有两个人的秘密收集到一起我们才能够解得常数项C。而C就是我们所隐含在多项式中的秘钥。
二、Blakley密码共享方案
此方案基于两条同一平面并不平行的执行确定一个点。三个同一个空间内不平行的面相交于一个点。
如何使用密码保护数据库?
每一个数据库存在两个字段,第一个为用户的姓,第二个字段为数据段,将用户的全名与地址拼接并用用户的姓作为秘钥进行对数据的加密。

这样有许多好处,例如当黑客拿到数据库内容后他并不能得到有效数据,而我的系统则可以拿到last name后对data进行解密,并可以通过第一个字段验证输入的内容是否是正确的。
下面介绍阈下信道
阈下信道的基础概念是很容易理解的,前面几个ppt介绍的都是阈下信道的基础知识,下面我们具体介绍一下该内容。
•GustavusSimmons
–invented the concept of a subliminal channel using digital signature algorithm
利用数字签名算法对该协议进行设计。

上述协议颇为基础,简单来说就是A使用与B交流好的秘钥进行加密,此信息的签名值中隐藏了有用的消息。当B拿到消息后,使用共享秘钥提取出消息签名中的有用信息。
而阈下信道有什么作用呢?
简单来说,阈下信道可以用于间谍网络,并且公司可以用此来对内部的文件进行sign,便于进行追踪。
一、El Gamal 签名机制

而我们可以搜索选择适当的k,使得a=gk mod p 中的某些位为阈下信息。
二、使用RSA的阈下信道
使用RSA算法是比较容易理解的,并且对于加密数据的验证也是相对容易的多的。
而我们如何使用RSA来隐藏信息呢?
倘若我想要将数据以0、1的形式隐藏在一段无实际意义的文章的哈希中(我们可以实现与同伴规定好所隐藏的位置,例如我可以规定我们将数据隐藏在1、5、7、9位等等),此时我们就可以使用哈希加密下列文章。

上图中文章每个大括号里包含了两种不同的可能,而此文里有16个大括号,也就意味着我们可以使用此文本生成2^16种不同的哈希值,而这么多哈希值一定可以找出某个使得其满足我1、5、7、9位所隐藏的消息。
而RSA在这里是用于对哈希值进行签名并验证。
–Signing:s=(H(m))dmod N.
–Verification:Return accept if and only if s^e=H(m)(mod N).
为了防止内容过多导致的查看不便。
下面的内容接下一章