Home
本网页由 mkdocs
生成,完整的 documentation 可以参看 mkdocs.org。
源文件以 markdown
语法撰写,相关语法可以参考 markdown 语法总览。
For every complex problem there is an answer that is clear, simple, and wrong.
-- H.L.Mencken
主要参考来源:
- Berry Schoenmakers 的 Lecture Notes: Cryptographic Protocols
- Boaz Barak 的 Lecture notes for a course on cryptograhpy
- Jonathan Katz and Yehuda Lindell 的 Introduction to Modern Cryptography
Crypto 1.0
在密码学 1.0 时代,我们主要考虑在通信,存储,检索等场景中,如何确保数据的保密性(confidentiality)和可验证性(authentication),使用的主要密码学原语(cryptographic primitives)包括
- 公钥加密(public-key encryption)
- 数字签名(digital signatures)
- 密钥协商(key-exchange protocols)
- 密码哈希函数(cryptographic hash functions)
- ...
Crypto 2.0
如果说 1.0 关注的是外部攻击者,那么 2.0 更多关注的是内部攻击者。 因为随着“云”的普及,密码协议的执行者开始由用户转移到了外包的服务器,如何确保服务器不能侵犯用户的隐私,成为了 2.0 时代的难题。 一些诸如对加密数据进行计算,允许展示数据的部分信息,隐藏数据拥有者的身份信息等想法相继被提出,相关的密码学原语包括:
- 同态加密(homomorphic encryption)
- 秘密共享(secre sharing)
- 不经意的传输(oblivious transfer)
- 盲签名(blind signatures)
- 零知识证明(zero-knowledge proofs)
- 安全多方计算(secure multi-party computation)
- ...