自从第三章做到“不求甚解”之后,看第四章的速度飞快了起来,也可能是因为知识的积累,使得后面的东西容易理解了起来。不管怎么样,随便记录一些觉得值得记录的东西吧。
概念
- 时间标记服务
- 数据本身必须有时间标记,而不用考虑它所用的物理媒介
- 改变文件的1个位而文件却没有明显变化是不可能的
- 不可能用不同于“当前日期和时间”的“日期和时间”来标记文件
- 仲裁解决方法
- 改进的仲裁解决方法
- 链接协议(将前后时间标记链接起来,可询问前后去确认该时间标记确实有效)
- 分布式协议(区块链所用的方法?)
- 进一步的工作:在纽约时报上发表时间标记的散列值
- 阈下信道(subliminal channel):在监视的情况下的一个秘密通信信道,消息本身不包含秘密消息。
- 阈下信道的应用:受威胁时发送情报、公司签名文件使其在整个文档有效期内被跟踪(阿里程序员截图被发现的原理?)、政府可以“标记”数字货币(未来的国家发行的比特币?)、恶意的签名程序可能泄露其签名中的秘密消息等。
- 杜绝阈下签名方案(subliminal-free signature scheme)
- 不可抵赖的数字签名(undeniable signature)
- 受托不可抵赖签名(entrusted undeniable signature)
- 指定的确认者签名(designated confirmer signature)
-
代理签名(proxy signature)
- 可区别性(distinguishability):任何人都能区别代理和正常签名
- 不可伪造性(unforgeability):只有原始签名者和指定的代理才能进行有效签名
- 代理签名者的不符合性(proxy signer’s deviation):代理签名者必须创建一个能检测代理签名的有效代理签名???
- 可验证性(verifiability):验证者能相信签名者认同了这份签名消息
- 可识别性(identifiability):原始签名者能从代理签名中识别代理签名者的身份
- 不可抵赖性(undeniability):代理签名者不能否认他创建的且被认可的代理签名
- 团体签名(group signature)
- 只有该团体内的成员能对消息签名
- 签名的接收者能够证实消息是该团体的有效签名
- 签名的接收者不能决定是该团体内哪一个成员的签名
- 出现争议时,签名能够被“打开”,以揭示签名者的身份
- 相对于代理签名具有更高的可识别性的形式
- 具有可信仲裁者的团体签名(n个成员 * m个密钥对)
- 失败-终止数字签名(fail-stop digital signature)
- 加密数据计算(computing with encrypted data) == 对先知隐藏信息(hiding information from an oracle): oracle是先知?甲骨文??
- 位承诺
- 使用对称密码系统的位承诺
- 使用单向函数的位承诺?
- 使用伪随机序列发生器的位承诺?
- 模糊点(blob)
-
公平的硬币抛掷
- Alice必须在Bob猜测之前抛硬币
- 在听到Bob的猜测后,Alice不能再抛币
- Bob在猜测之前不能知道硬币是怎么落地的
- 使用单向函数的抛币协议
- 使用公开密钥密码系统的抛币协议
- 抛币入井协议(flipping coin into a well)
- 智力扑克
-
三方智力扑克
- Alice、Bob和Carol都产生一个公开密钥/私人密钥对
- Alice产生52个消息,每个代表一副牌中的一张。这些消息应包含一些唯一的随机串,以便她在以后验证它们在协议中的真实性。Alice用她的公开密钥加密所有这些消息,并将它们发送给Bob:Ea(Mn)
- Bob不能阅读任何消息(没有Alice的私人密钥),他随机选择5张牌,用他的公开密钥加密,并把它们送回给Alice:Eb(Ea(Mn))
- Bob将剩下的47张牌送给Carol: Ea(Mn)
- Carol不能阅读任何消息,也随机选5个消息,用她的公开密钥加密,并把它们送给Alice:Ec(Ea(Mn))
- Alice也不能阅读回送给她的消息(同样没有Bob和Carol的私人密钥),她用她的私人密钥对它们(Bob和Carol送回的各5张牌)解密,然后回送给Bob和Carol:Da(Eb(Ea(Mn)))=Eb(Mn),Da(Ec(Ea(Mn)))=Ec(Mn)
- Bob和Carol用他们的密钥解密并获得他们的牌:Db(Eb(Mn))=Mn,Dc(Ec(Mn))=Mn
- Carol从余下的42张中随机抽取5张,送回给Alice:Ea(Mn),即由其他人挑选Alice的牌
- Alice用她的私人密钥解密消息获得她的牌:Da(Ea(Mn))=Mn
- 在游戏结束时,Alice、Bob和Carol都出示他们的牌和他们的密钥,以便每个人都确信没有人作弊
- 对扑克协议的攻击
- 如果使用RSA算法,扑克协议会泄露少量的消息
- 具体来说,如果牌的二进制表示的是二次方程的残数??,那么牌的加密也为二次方程的残数。
- 这个特性可用来标记少数牌,如红桃A
- 匿名密钥分配
- KDC?
- 单向累加器(one-way accumulator)
- 可交换
- 类似单向函数
- 用任何顺序对成员数据库进行散列运算都得到相同的值是可能的
- 把新成员加入散列值中得到新的散列,也与顺序无关
- 秘密的“全”或“无”泄露(All-or-Nothing Disclosure Of Secret, ANDOS)
-
密钥托管
- 托管加密标准(Escrowed Encryption Standard)
- 公平密码系统(fair cryptosystem)
- 防故障密钥托管(failsafe key escrowing)
轶事
- 密钥托管的政治:个人隐私与社会安全的平衡
问题
如“概念”一栏,问题汇总如下:
- 二次方程的残数是什么?
- RSA溢出消息?
- KDC?(已解决:Key Distribution Center密匙分配中心)