BUUCTF—crypto—传统知识+古典密码

题目:

小明某一天收到一封密信,信中写了几个不同的年份
          辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
          信的背面还写有“+甲子”,请解出这段密文。

key值:CTF{XXX}

对照下面这张表可知这几个年份的序号

所以,对应的序号分别为28,30,23,8,17,10,16,30

且一甲子为60,所以每个加上60

88,90,83,68,77,70,76,90

在ASCII码表中寻找对应字符

 

所以得到对应的字符串为 XZSDMFLZ,古典密码只有栅栏密码和凯撒密码,我们来简单了解一下什么是栅栏密码。

栅栏密码(Rail Fence Cipher)是一种相对简单的替换密码,其加密原理是将明文按照一定规则排列成一个矩形,然后按照特定顺序读取加密后的字符,从而生成密文。以下是栅栏密码的一些主要特征:

  1. 排列特性:明文内容按照特定的栅栏形式进行排列,通常形成类似“Z”字形的结构。
  2. 读取顺序:密文的生成不是简单的按行或按列读取,而是根据栅栏的排列顺序进行交叉读取,这增加了破解的难度。
  3. 简单性:虽然栅栏密码能够混淆字符的原始顺序,但其加密原理相对简单,容易被掌握。
  4. 安全性有限:由于加密方式较为直观,对于熟悉密码学的人来说,栅栏密码相对容易破解。

根据第一点,可以将XZSDMFLZ分成两部分,一一对应,得到解密后的答案为XMZFSLDZ,也可以用解码器对其直接进行解码:

再将其进行凯撒密码解码即可 

发现该字符串位移5位时结果比较流畅,再包上flag{}即可,所以答案为flag{SHUANGYU} 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值