freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

古典密码学解题思路
2019-07-28 16:01:19

1.古典密码介绍:

古典密码是密码学中的其中一个类型,其大部分加密方式都是利用替换式密码或移项式密码,有时则是两者的混合。其于历史中经常使用,但在现代由于计算机的出现,使得古典密码解密已经不再困难,已经很少使用,大部分的已经不再使用了。

2.原理:

古典密码编码方法归根结底主要有两种,即置换和代换。

把明文中的字母重新排列,字母本身不变,但其位置改变了,这样编成的密码称为置换密码。最简单的置换密码是把明文中的字母顺序倒过来,然后截成固定长度的字母组作为密文。

代换密码则是将明文中的字符替代成其他字符。

接下来找两个简单的古典密码题理解一下古典密码。

例如实验吧的一道题:

图片.png解题思路:

(1)其中提到了凯撒加密,但是密文明显不能直接去凯撒解密。

(2)看到符号/\,就想到基本的ASCII加密,可以先使用ASCII解密。

(3)古最后使用凯撒解密。

解题步骤:

首先使用ASCII解密:得到97 90 90 103 47 120 92 90 98 97 118 112 90 105 69 90 112 43 110 41 111 43

没有任何规律,所以在古典密码中的解题首先想到了移位。Flag中的提交方式中有{},所以找统一移动几位后有花括号出现,尝试几次后都比较困难,看到被人使用C语言编写的程序进行移位猜测,但是个人程序不是很好,用最笨的办法,手动尝试,首先尝试增加的方式进行移动,多次后发现X右移5位后出现},所以继续尝试得出来的就是这个f__l4}a_gf{u_nJ_u0s.t0

已经明显的出现了花括号和f l a g 等的标记,但是顺序不对。想到了使用栅栏密码解密,因为栅栏密码通常是等分的,判断了一下这个栅栏密文一共22位,那么它可能是11栏的也可能是2栏的

11栏解密:f_4ag{_Just_l}_fun_0.0

2栏解密:fu___nlJ4_}ua0_sg.ft{0

都不对。

查看网上的思路,这个加密是栅栏加密方式改编的,它分成了3组,前两行三个字符,后面是两个字符。

 f__

 l4}

 a_

 gf

 {u

 _n

 J_

 u0

 s.

 t0

得到flag{_Just_4_fun_0.0_}

 

实验吧的另一道题:

图片.png

打开解题链接后,题目如下:

图片.png

出现没有规律的且题目的量相对比较大,可以联想到字母频率;

频率分析法可以有效的破解单字母替换密码。

词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己的推算是否正确。

  这种方法由于要统计字母出现频率,需要花费时间较长。

可以使用在线工具quipqiup :https://quipqiup.com

图片.png点击到dictionary这个功能中,选择solve:

图片.png

从众多个得出的结论中选择一个比较接近的。

得到flag {n1_2hen-d3_hul-mi-ma-a}

 

总结:

1. 一般遇到古典密码相关的题,首先想到移位和替换

2. 古典密码相关的加密方法有ASCII、凯撒加密、栅栏密码、字母顺序表、字母频率、乘法密码、希尔密码、莫斯电码等,一般在解题过程中存在多个密码相结合的情况,所以应提前了解常见的这几种密码的原理和解题方法及规律,解题过程灵活运用

不要像我一样被固定的思维模式困住,应该大胆尝试,因为好多密码都是经过或多或少的变异得到。

# ctf密码学
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者