
密码学原理与实践(第三版)
文章平均质量分 64
关于这本书的和学校网安数学基础课件的记录
专注pwn0年
这个作者很懒,什么都没留下…
展开
-
2022/06/04密码
这两个密码的分析,首先是根据字母出现的频率,结合上图进行猜测,多考虑两三个字母的组合频率,减少分析量。利用Kasiski测试法,搜索长度至少为三的相同的密文段,得到他们之间的距离。m(密钥长度)一般为距离的最小公倍数。 然后用重合指数法进一步确定m 文章中任意选取两个字母,设这两个字母相同的概率为pppi 根据统计,26个字母的pppi2相加一般为0.065。 维吉尼亚密码加密是通过Kasiski测试法得到密钥长度为m,密文元素第111个和第km+1km+1km+1是经过同一密钥处理的,我们照这样把经过同一原创 2022-06-04 21:12:35 · 342 阅读 · 0 评论 -
2022/06/03密码
最简单的流密码是其密钥流直接由初始密钥使用特定算法变换得来,密钥流和明文串是相互独立的。这种类型的流密码称为同步流密码,正式定义如下: 初始密钥为K\mathcal{K}K,通过g\mathcal{g}g生成密钥流L\mathcal{L}L,然后我们用L\mathcal{L}L中的密钥一个个加密。L\mathcal{L}L是有限集,zzzi是集合中的元素,zzzi和zzzj可以重复。 它这个周期条件是ccci选择得当。因为上面是mod2mod2mod2,所以zzzi只有两种状态:0或者1,zzz总共m个原创 2022-06-04 00:17:44 · 150 阅读 · 0 评论 -
2022/06/02密码
一旦密钥被选定,每个字母对应的数字都被加密变换成对应的惟一的数字,这种密码体制称为单表代换密码。 维吉尼亚密码是一种多表代换密码 加密是把P\mathcal{P}P和K\mathcal{K}K中对应的元素相加,即pppi−k-k−ki 解密相反P=C=(Z\mathcal{P}=\mathcal{C}=(\mathbb ZP=C=(Z26)))m 为什么是Z\mathbb ZZ26m,因为可以表示多个组合,每个组合的每个元素都在一个Z\mathbb ZZ26中,前面的维吉尼亚密码也是这样的。 P\math原创 2022-06-02 23:55:33 · 155 阅读 · 0 评论 -
2022/06/01密码
因为26=2×1326=2\times 1326=2×13,根据下文提到的欧拉函数ϕ(m)\phi(m)ϕ(m)计算得到所以与26互素的数的个数为12 仿射密码的密钥空间等于a×ba\times ba×b 定理1.2的证明 我们计算一下ϕ(26)\phi(26)ϕ(26) 因为26=2×1326=2\times 1326=2×13,ppp1=2=2=2,eee1=1=1=1,ppp2=13=13=13,eee2=1=1=1 ϕ(26)=(p\phi(26)=(pϕ(26)=(p11−p-p−p11-1)(p原创 2022-06-02 13:15:43 · 131 阅读 · 0 评论 -
2022/05/31密码
若 aaa 是 bbb 的倍数则记为 b ∣ ab\ |\ ab ∣ a 一个比较不熟的定理 若 a ∣ ba\ |\ ba ∣ b,b ∣ ab\ |\ ab ∣ a 则 a=±ba=\pm ba=±b 欧几里得除法 先证存在性,再证唯一性 设q>q1q>q_{1}q>q1,如果r>r1r>r_{1}r>r1,那么a>aa>aa>原创 2022-05-31 17:37:17 · 205 阅读 · 0 评论 -
2022/05/30
ICMP隧道实验 原文链接 想做一下这个实验,网上也有工具实现,但是想自己编程 工具链接 看原文python代码中用了socket,但是我们用scapy模块实验一下 现在用一下这个师傅的代码,不过有的地方要改一下才能运行。 #!/usr/bin/env python3 #被控端 import os from scapy.all import * def main(): while True: # wait for the ICMP message containing the co原创 2022-05-30 21:47:06 · 136 阅读 · 0 评论