美文网首页
密码学——笔记1

密码学——笔记1

作者: 自学java的菜鸟小赵 | 来源:发表于2020-08-24 22:13 被阅读0次

    1.何为密码学

    密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

    2.密码学的应用

    安全多方计算、私有外包计算、零知识证明

    (1)安全多方计算

    image.png

    这里我们可以举例,一个选票系统,每个人将选举结果投入到一个代理方,选举员的信息代理方都知道,最后公布结果由代理方发布,假如代理方出现违约,则会出现信息不安全的问题。有没有更好的一个办法呢。


    image.png

    我们可以取消代理方,又人员直接共同商议最后发布结果

    (2)私有外包计算

    image.png

    假如有一个用户发送数据到服务端,数据进行加密,但是服务端并不需要知道消息的内容就可以返回用户想要的结果

    (3)零知识证明

    3.密码学的核心

    • 1.安全密钥的建立

    • 2.共享密钥,安全的通信

    image.png

    假如有A和B用户,A用户和B用户是怎么进行信息交流
    1.用户A得到密钥通过加密算法将信息进行加密
    E(k,m)=C E:加密算法 k:密钥 m:信息 c:密文
    2.用户B得到密钥将密文进行解密
    D(k,c)=m D:解密算法

    每个密钥只加密一个信息称为一次密钥
    例子:加密电子邮件,一个电子邮件对应一个密钥
    一个密钥加密多个信息(多次密钥)
    例子:加密文件系统里的文件,同一密钥加密不同的文件

    4.学习几种密码类型

    (1)替换式密码(凯撒加密)

    k={a->d,b->e,c->f....y->b,z->c)
    E(k,"ac")="df"
    D(k,"df")="ac"

    尝试破解

    1.密钥空间的大小

    26个字母则有26!~2^88种排序规则,所以随机替换一个密钥需要88位

    2.使用字母出现的频率来破解

    在所有文献中,E字母出现的次数最多,假设在一篇密文中,T出现的次数最多,我们可以猜测E->T,同理再查找第二出现频率最高的字母,依次查询,如果出现连个字母出现次数差不多的情况,可以使用字母配对的方法。

    (2)VIgener加密

    k=CRYPTO/CRYPTO?CRYPTO
    m=WHATAANICEDAYTODAT(多么好的一个天气)
    c=ZZZJUCLUDTUNWGCQS
    假如设置一个6位长度的密钥,现在我们发送一条消息,通过Vigener加密,得到c,c=(k+m)/26

    尝试破解

    假如我们知道密钥的长度是6,通过字母出现的频率尝试
    我们将密文里面的字母6个分开,Z=W+3位 L=I=3位 W=T+3位
    最常见的字母为E,假设一个密文中最常见的字母是H,那么H就是由E加密过来的,则密钥的第一位就是H-E=C

    (3)Enigma密码

    轴轮机

    (4)Des

    (5)AES

    5.概率分布

    1.均匀分布

    U={0,1}^n ,P(x)=1/|U|
    即00=1/4,01=1/4,10=1/4,11=1/4

    2.点分布

    P(x0)=1,任意X!=X0,P(X)=0

    事件

    U={0,1}^8,|U|=256,A={all x in U such that lsb2(X)=11},求Pr[A]=1/4
    解:xxxxxx11=26/28=1/4

    Pr[A1并A]<=Pr[A1]+Pr[A2]

    3.随机变量

    X:{0,1}^n->{0,1};x(y)=lsb(y)in(0,1)
    解:Pr[x=0]=1/2,Pr[x=1]=1/2
    U={0,1}^2 and r<-U ,x=lab(r),y=mab(r)
    解:Pr[X=0andY=0]=Pr[r=00]=1/4

    4.异或

    X={0,0,1,1}
    Y={0,1,0,1}
    X异或Y={0,1,1,0}

    性质:如果Y是一个随机值{0,1}n,X是均匀分布{0,1}n,Z=X异或Y,则Z也是均匀分布的

    例:Y|P=[{0,P0},{1,P1}]
    X|P=[{0,1/2},{1,1/2}]
    求Z=X异或Y
    解:XY|P=[{00,P0/2},{01,P0/2},{10,P1/2},{11,P1/2}]
    则Pr[Z=0]=Pr(X,y)=(0,0) or (x,y)=(1,1)]=P0/2+P1/2=1/2
    同理:Pr[Z=1]=1/2,即Z是均匀分布的

    相关文章

      网友评论

          本文标题:密码学——笔记1

          本文链接:https://www.haomeiwen.com/subject/tldojktx.html