CTF 竞赛入门指南(CTF All In One)学习(十)

密码学

  • 密码使用学
  • 密码分析学

密码使用学

  • 无密钥算法
  • 对称密钥算法
  • 公开密钥算法

在这里插入图片描述

对称密钥算法

  • 双方共享一个密钥,并使用相同的加密和解密算法。
  • 相关术语:
    • 明文:被传递的消息。用 M 表示。对于计算机,M 指的是 2 进制。
    • 密文:加密后的消息。用 C 表示,对于计算机,C 指的是 2 进制。
    • 加密函数:作用于明文 M,得到密文 C,用 E 表示。
      • 数学公式:𝐶=𝐸(𝑀)
    • 解密函数:作用于密文 C,还原明文 M,用 D 表示。
      • 数学公式:𝑀=𝐷(𝐶)

公开密钥算法

  • 使用不同的加密密钥和解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
  • 解密密钥是接收者专用的,对其他人保密。

密码分析学

在这里插入图片描述

古典密码学

常见替换密码

单表替换加密法:明文中的同一字母在加密时被同一固定的字母代换。

  • 凯撒密码
  • 简单替换密码
  • 仿射密码
  • Polybius密码

多表替换加密法:明文中的同一字母在加密时不是完全被同一固定的字母代换,可能是多个。

  • 维吉尼亚密码
  • ADFGVX密码
  • Enigma密码机

单表置换密码

凯撒密码

算法:明文中的所有字母都在字母表上向后(或向前)按照一个固定数目
进行偏移后被替换成密文。
破解:穷举。

简单替换密码

算法:将明文中所使用的字母替换为另一套字母表,形成新的对应关系。这种替换可以是任意的一对一关系。
破解:穷举复杂度数量级是阶乘,因此很难用穷举破译。

仿射密码

加密函数: C = ( a M + b ) m o d   26 C=(aM+b) mod\space 26 C=(aM+b)mod 26,其中

  • 数字对(a,b)为密钥
  • a和26互素,既: g c d ⁡ ( a , 26 ) = 1 gcd⁡(a,26)=1 gcd(a,26)=1
  • b为小于26的正整数
  • 在英文中有26个字母,因此是 m o d   26 mod\space 26 mod 26

解密函数: M = a − 1 ( C − b ) m o d   26 M=a^{−1} (C−b)mod\space 26 M=a1(Cb)mod 26

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值