现代密码学学习笔记(一)

参考教材:

序言

        现代密码学(1980年至今)于传统密码学的区别:强调定义、精确的假设和严格的安全性证明,其中严格的安全性证明是现代密码学的精髓,它使密码学从艺术走向科学。

第一章  私钥加密

1.私钥加密中双方共享密钥,故又称“对称加密”,与之相对应的是公钥加密,使用一组对应的唯一性密钥(公钥+私钥)组成的加密方法,又称“非对称加密”。

2.私钥加密的两个权威应用:人与人通信磁盘加密

3.私钥加密的加密语法由三个算法组成:

密钥生成Gen,一种概率算法,根据一定的分布选择密钥k

加密Enc_{k}(m)表示用密钥k对原文m进行加密;

解密Dec_{k}c表示用密钥k对密文c进行解密。

4.私钥加密的正确性要求:Dec_{k}(Enc_{m})=m

即Gen算法生成的每一个密钥和每一条消息都要保证加密前解密后是完全相同的。

5.通信中一个加密方案的运作过程:

①运行Gen获得双方共享的密钥k;②当一方向另一方发送消息m时,通过c=Enc_{k}(m),发送加密之后的内容c;③另一方收到c后,通过m=Dec_{k}(c)恢复原始消息m

6.克尔克霍夫原则(Kerckhoffs’principle)

密码方法一定不能要求保密,一定要能够不给敌人带来不便地落入敌人之手。即:一个加密方案的安全性不应该依赖于加密方案的保密性,而是完全依赖于密钥保密

原因:① 密钥相较于复杂的加密方案更短,更容易严格保密;

② 更换密钥要比替换加密方案容易得多;

③ 对于大规模部署而言,不同的人使用不同的密钥比他们各自使用自定义的加密方案更加好管理。

7.凯撒密码(Caesar’s cipher.)

改变字母顺序,向后移3个字母,加密方法固定没有密钥。

变体:ROT-13 向后移13位。

该方法没有加密安全性,只是使信息不可理解,除非刻意解读。

8.移位密码(凯撒变体)

Gen输出k∈{0,…,25};

Enc将明文中每个字母向前移动k个位置;

Enc(m_{1}...m_{l})=c_{1}...c_{l},   where    c_{i}=[(m_{i}+k)mod26]

Dec将密文每个字母后移k个位置;

Dec(c_{1}...c_{l})=m_{1}...m_{l},  where    m_{i}=[(c_{i}-k)mod26]

9.充分密钥空间原理(sufficient key-space principle)

    任何安全的加密方案都必须具有足够大的密钥空间,以使穷举搜索攻击不可行,是安全性的必要条件

10.单字母替换密码(the mono-alphabetic substitution cipher)

密钥定义了明文中每个字母到某个字母的一对一映射。假设使用英语,则密钥空间是26!=2^{288},无法进行暴力攻击,但不代表无法解密。可以通过发现使用频次的规律英语字母常识进行破解。

进一步破解:密钥恢复攻击自动进行

11.多字母移位加密:相同的明文字母映射到不同的密文字母或多次使用不同的移位方式(原理:使密文中的字符概率均匀平滑化

解密方法:分段或寻找多次出现的词汇

12.现代密码学三个原则:①公式化的准确定义(若特定敌手无法在特定条件下解密,则该方案是安全的);

②当某加密方案需要未得到证明的假设时,该假设必须精准且少;

③严格的安全证明(若假设X正确,根据给定定义,加密方案Y是安全的)。

第二章 完善保密加密

1.一些定义:K表示密钥空间,M表示明文空间,C表示明文空间。

c\leftarrow Enc_{k}(m)c:=Enc_{k}(m)表示明文m用密钥k加密得到密文c的概率过程(后者表示Enc是确定的),同理该式表示密钥k解密密文c的过程m:=Dec_{k}(c)

Pr[K=k](k\in K)表示Gen输出k的概率;Pr[M=m](m\in M)表示明文为m的概率;

Pr[C=c](c\in C)表示密文为c的概率,加密算法给定,则C的分部完全取决于KM的分布。

2.完善保密加密

敌手截获一个密文无法得到任何关于明文的信息或者说明文密文在分布上是独立的,

Pr[M=m|C=c]=Pr[M=m]

3.完美不可区分性

密文中不包含任何明文信息,如:无法区分密文m_{1}和密文m_{0}.

即:Pr[C=c|M=m_{0}]=Pr[C=c|M=m_{1}]

4.窃听不可区分实验Privek_{A,\prod }^{eav}(敌手猜测bit b{}'与附加b∈{0,1}是否相同,相同则输出1,成功)

对于所有的敌手都满足Pr[Privek_{A,\prod }^{eav}=1]=\frac{1}{2},则说明该方案是完善保密加密的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值