绪论
安全通信 Secure Communication
分两步:
- 安全的密钥建立:Alice 和 Bob 共享一个密钥K(用到公钥密码学 )
- 安全通信
例如:HTTPS、SSL、TLS,保证无窃听、无篡改
保护磁盘上的加密文件 Secure Files
对称加密 Symmetric Encryption
通信双方知道密钥k,使用两个算法 E、D 进行秘密通信,E、D是公开的
m是明文,k是密钥,c是密文
E(k,m) = c
D(k,c) = m
One Time Key
一个key只加密一个msg
密码学概述
数字签名 Digital Signature
数字签名对不同文档不同,是待签内容的一个函数值
匿名通信 Anonymous Communication
匿名通信是双向的
匿名数字现金 Anonymous Digital Cash
同一个硬币如果Alice只花费一次,没人知道她是谁,如果多于一次她的身份会被公开
可信的第三方
选举系统 Elections
不知道每个人的具体投票内容,但需要统计最后的投票结果
私密拍卖 Private Auctions
中标者是出价第二高者,除此之外其它信息保密
协议 Protocols
一个定理:“任何一个函数,只要能用可信方计算,也一定可以不借助可信方完成”
安全多方计算 Secure Multi-Party Computation
用协议代替可信的第三方,各方相互交流即可计算出最终结果
私有外包计算 Privately Outsourcing Computation
Alice发送加密的请求给服务器,服务器在加密的值上运算,得到加密的结果发送给Alice,Alice自己解密得到结果。
零知识证明 Zero Knowledge(proof of knowledge)
现代密码学的三个步骤
- 准确描述威胁模型 Precisely specify threat model:如何攻击数字签名,伪造签名目的何在
- 提出架构 Propose a construction:
- 证明任何