密码学 week1

SSL简介

two main parts

1.HandShakeProtocal:Establish shared secret key using public-key cryptography

2.RecordLayer:Transmit data using shared secret key.


在week1介绍RecordLayer


共享密钥K,攻击者不知道K是什么

E加密算法   D是解密算法   K是密钥(e.g. 128bits)C是密文

E D是公开的  都是经过多年检验的算法

K可以一次使用,也可以多次使用

一次使用:电子邮件

多次使用:系统中加密文件


密码学的更多用处

  • 数字签名:是对现实世界签名的模拟,但是为不同文件的签名是不同的
  • 匿名数字现金:1美元,没人能阻止拷贝;花同一枚硬币一次,没人知道是谁。但是超过1次,就会暴露身份

  • 匿名通信:标准方法-mixnet 一系列代理,是一个双向通道,虽然不知道对方是谁,仍然可以向对方做出回答
  • Zero knowledge

    Alice knows N=p*q   p,q is prime and large(e.g. 1000digits)

    Bob only knows N

    Alick可以向Bob证明她知道的N的因子,Bob也可以做一些验证,证实Alick没有骗他

    Alice证明解决了数独,Bob不知道,却坚信Alice会

  • private outsourcing computation:私下外包计算,你有一串关键词想要查询,加密查询,谷歌基于加过密的搜索,无需知道,发送加密的结果给你,你再解密(谷歌不知道你想搜索什么!虽然没有实现 但是可行的事实)

密码学历史

Substitution cipher

共有26!次组合方案,利用词频可以轻易破解

"E"是出现频率最高的12.7%,然后是"t" 9.1% 接着是"q" 8.1%

再利用pair 如he   in   th   or


Vigener cipher

这里的K是一个单词,假设K = CRYPTO
kCRYPTOCRYPTOCRYPTO
mWHATANICEDAYTODAYA
cZZZJUCLUDTUNWGCQSP
将k一直铺开直至和m相等 c = (k+m) mod 26
破解方法:分组,每隔6个去看,因为是用同一个字母加密,所以频率最高的应该是E

现在不知道长度,那加假设len(k)=1,不断尝试,直到正确


Rotor Machines


每次按下一个字母,key都会转一下,但还是根据语法频率词法被破解

之后有著名的Enigma,二战中德军使用,有3/4/5个rotors,4个rotors,就有26^4的key,约等于2^18,在今天暴力破解很快


Data Encryption Standard

1974 DES  keys=2^56   一次加密64bits   今天已经过时,被暴力破解

2001 AES 128bits

2008 Salsa20


One Time Pad

基本思想:len(k) = len(m)    E,D = Xor

E(k,m) = k⊕m

D(k,E(k,m)) = D(k,k⊕m) = k⊕(k⊕m) = (k⊕k) ⊕m = 0⊕m = m

m        0110111

k         1011001

c         1101110

缺点:k要和明文一样长,不过有perfect secrety

香农证明要有perfect secrety,len(key)>=len(m)


Stream Cipher

基本思想: 不使用 total random key 而使用 pseudo-random key


利用G()将k拓展到len(m),再进行加密

但是G的选择要好,要无法被预测

glibc里面的随机是这样实现的

random():
    r[i] <- (r[i-3]+r[i-31]) % 2^32
    output r[i] >> 1
这是很容易被预测的

Attacks on stream cipher and one time pad

two time pad is insecure

如果用来加密m1和m2,那么c1,c2被截获的话,就可以得到m1 ⊕m2,是很容易被破解的
这种攻击方法在我的博客 密码学 homework1中有编程作业,你可以自己试一试~~

not integrity


假如Bob发了邮件,加密后被拦截,别人可以伪装成Eve
Bob是42 6F 62
Eve是45 76 65
异或一下得到07 19 07  跟拦截得到的密文异或一下就能伪装了
当然前提是拦截人知道是Bob发的


Real-world stream ciphers

  • RC4
  • CSS:DVD加密
  • Salsa 20
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值