简单古典密码

本文介绍了多种密码学加密方法,包括简单移位、曲路、云影、栅栏、凯撒、培根、猪圈、仿射和维吉尼亚密码。每种方法都有其独特的加密原理和解密策略,如肉眼识别、爆破秘钥、逆向通力等。同时,提到了词频分析作为攻击这些密码的常见手段。此外,还分享了在线解密工具和密码学在信息安全中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简单移位密码

m = "{easy_easy_crypto}"
k = 3124

明文所在位置1234
密文所在位置3124
flag{easy_easy_crypto}
lafgea{s_eyay_scyprt}o

攻击方法:肉眼识别/爆破秘钥/根据flag字符串逆推

2. 曲路密码

  • 明文填入一个表中,并按照一定的曲路遍历攻击方法:逆向通力

明文:abcdefghijklmnopqrstuvwxy
密文:ejotyxcnidchmrwvqlgbafkpu

3. 云影密码

  • 云影密码仅包含01248五个数字,其中0用于分割,其余数字用于做和之后转换为明文
    密文:8842101220480224404014224202480122
    明文:welldone
    解密方式:将密文用0分割,然后将其余每组数字求和得到i,再到26个字母中找第i个字母

4. 栅栏密码

  • 其秘钥只有一个数字k,表示栅栏的长度
  • 加密时,遍历x(0-k):把要加密的明文分成k个一组,然后取每组第x个字符依次连接
    m="flagizhalan_mima_hahaha}"
    k=4
    flag {zha lan_ mima _hah aha}
    总共分成了6份,而后依次取出每组第1个:f{lm_a
    依次取出第2个,第3个,第4个,放置在后面:f{lm_alzaihhahnmaaga_ah}
    攻击方法:爆破栅栏长度

5. 凯撒密码

  • 凯撒密码通过把字母在字母表上移动一定的位数来实现加密和解密>偏移量是3的时候,所有的字母A将被替换成D,B变成E
  • 偏移量为4的时候,字母的替代如下所示
    ABCDEFGHIKLMNOPORSTUVWXYZ->EFGHIJKLMNOPQRSTUVWXYZABCD
  • 虽然可以词频分析,但是密钥空间太小了,直接爆破
    替代密码都可以用词频分析

6. 培根密码

  • 培根密码一般使用两种不同的字体表示密文,密文的内容不关键,字体较为关键。比如给了一段文字,里面有正常的字,也有斜体,那就是培根密码。
  • 使用AB代表两种字体,五个一组,表示密文:
  • 解密的话可以使用在线的工具:http://rumkin.com/tools/cipher/baconian.php

7. 猪圈密码(图形替代密码)

  • 将明文用图形进行替代实现加密。猪圈密码是用不同的格子来表示不同的字母:

8. 仿射密码

  • 仿射密码的替代表的生成方式依据:c=am+b mod n

  • m为明文对应字母得到的数字

  • n为字符数量

  • c为密文

  • a和b为密钥

  • 解密:要求a关于n的逆元:m=modinv(a)(c-b) mod n

  • 攻击方法:

  • 爆破

  • 词频统计

  • 已知明文攻击:如果知道一对(m,c),那么知道a和b是简单的

9. 维吉尼亚密码(多表替代)

  • 在凯撒密码中,可以用一个字母表示出来完整的替换表(只要确定用来来替换A的是什么),比如可以用E表示:
    ABCDEFGHIIKLMNOPORSTUVWXYZ
    EFGHIJKLMNOPQRSTUVWXYZABCD
  • 维吉尼亚密码的密钥不再是固定不变的,而是随着位置产生改变的。比如如果密钥是:LOVE,那么明文每四个一组进行循环,使用的替换表依次为
    L-LMNOPQRSTUVWXYZABCDEFGHIJK
    O-OPQRSTUVWXYZABCDEFGHIJKLMN
    V-VWXYZABCDEFGHIJKLMNOPQRSTU
    E-EFGHIIKLMNOPORSTUVWXYZABCD
  • 维吉尼亚密码也要用词频统计来攻击

词频统计:

  • 依赖在英语语言中字母的使用频率(e:12.702,…)
  • 单表替换:统计所有字母的频率,然后替换频率最为接近的
  • 多表替换:抽取使用相同替换表的所有密文,然后使用单表替换的思路(对抽出来的每一组密文进行词频统计,更换为明文)
  • 自动化: http://quipqiup.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值