概论
密码学应用
1.信息加密
2.加密文件
算法都是公开的,只有密钥是私有的。私有加密算法不太行,很容易被逆向工程破解
Single use key
Multi use key
密码学不用自己发明,有很多standard,很多函数原型,只需使用
数字签名
匿名通信
mix net 通过一系列代理 让对方不知道自己
匿名数字货币
如何防止重复花费?安全和匿名是相悖的,但是还是可以解决
安全多方计算
选举
私密拍卖
不需要可信任中心也能计算
私密搜索
允许加密数据上的计算,尽管不知道加密的内容
zero knowledge
N=p*q(p和q是两个质数)
很难从N到p和q
关于一个谜题,你知道答案但是对方不知道答案,你可以通过零知识来向对方说明这一点
密码学三部曲
precisely specify threat model 严格定义威胁模型
propose a construction 提出模型
prove that breaking construction under threat model will solve an underlying hard problem
密码历史
罗马
对称加密
密码的密钥
替换加密
凯撒加密
密钥空间
怎么破解?字母出现频率、二合字母出现频率
文艺复兴
Vigener cipher
如何破解?
还是利用频率,但是要已知密钥的长度,然后分组,隔着看
就算不知道密钥长度,我们也可以从1开始假设
19世纪
Hibber机
enigma
数字时代
离散概率
XOR
一个均匀分布的随机变量XOR任一一个随机变量结果一定是均匀分布的
生日悖论