CTF crypto 密码类 题型积累

本文介绍了CTF竞赛中常见的密码类题型,包括摩斯密码、栅栏密码、Ook密码、Brainfuck密码、凯撒密码、Base64编码等,并提供了相关解密工具和实例,帮助读者掌握加密解密技巧。

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

一点点积累一下 CTF 中 crypto 密码类的题型。

感谢 BugKu 提供了很多加解密工具,链接:http://tool.bugku.com/

感谢 SSL在线工具网址提供了很多工具,链接:http://www.ssleye.com/

我常用的 text bin hex base64 dec 转码工具:https://conv.darkbyte.ru/

 

1. 摩斯密码

特征:点和横的组合。

在线工具:http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx 或 http://tool.bugku.com/mosi/

e.g. 

-... -.- -.-. - ..-. -- .. ... -.-.

解密结果:BKCTFMISC

 

2. 栅栏密码

特征:大小写和字符,其实就是分组替换加密

在线工具:http://tool.bugku.com/jiemi/

e.g. 

一只小羊翻过了2个栅栏

KYsd3js2E{a2jda}

解密结果:KEY{sad23jjdsa2}

 

3. Ook 密码

特征:Brainfuck 类型密码,密文由 Ook 和 三种标点 . ! ? 构成,不见得都得用上,有的是Ook,有的没有Ook只有标点。

在线工具:https://tool.bugku.com/brainfuck/

例子就不举了

 

4. Brainfuck 密码

特征: + - [ ] { } . < > 这些符号构成的密码

在线工具:http://tool.bugku.com/mosi/

e.g.

+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++[- >---< ]>--- .---- .<+++ ++++[ ->--- ----<
]>--- ----- ----- .<+++ ++++[ ->+++ ++++< ]>+++ ++.<+ +++++ +[->- -----
-<]>. <++++ ++++[ ->+++ +++++ <]>++ .<+++ [->-- -<]>- ----. <++++ +++[-
>---- ---<] >---- ----. +++++ +..++ +++.+ .<+++ [->-- -<]>- --.<+ +++++
+[->+ +++++ +<]>+ ++.++ +.+++ +++++ +.--- -.+++ ++.<+ ++[-> +++<] >++++
++.<

解密结果: flag{ok-c2tf-3389-admin}

 

5. 凯撒密码:

特征:英文字母排序往后延,密钥是 1 <= k <= 26,y = x + k;

在线工具:http://tool.bugku.com/jiemi/ 或者 CrypTool

e.g.

密文:MSW{byly_Cm_sIol_lYqUlx_yhdIs_Cn_Wuymul_il_wuff_bcg_pCwnIl_cm_u_Yrwyffyhn_guh_cz_sio_quhn_ni_ayn_bcm_chzilguncihm_sio_wuh_dich_om}

放在CrypTool 里跑一下就好了,或者 1 - 25 整个都算一遍,找个明文出来:

SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}

 

6. Base64 编码 及其混合

特征:看到密文最后两个字符是相同的,就有可能是Base64编码过的,因为Base64编码结尾通常是 ==

有可能和其他密码混合使用,进行二次加密/编码。

Base64 是编码(encode),不是加密(encrypt)

在线工具:这道题python简单点,还有一个解码工具平时用的也多: https://conv.darkbyte.ru/

e.g.

也是Bugku里的一道题:

e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA

结尾是 AA,有点像Base64编码,但是被加密过了,这么蠢的加密方式又有点像凯撒,看ASC II 码,发现 = 是 61, A是 65,往后延了4位,那么我们把密文所有数据的ASC II 码 减4,得到Base64的代码,再解码即得到明文flag: key{68743000650173230e4a58ee153c68e8}

Python 代码:

import base64

# strs is the ciphertext
strs = "e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA";

# offset is the key of caesar cipher
offset = ord('A')-ord('=')
print(offset)

# caesar cipher shifting as base64_str
list_str=[]
for i,ch in enumerate(strs):
    c = chr(ord(ch)- offset )
    list_str.append(c)
base64_str = "".join(list_str)
print(base64_str)

# base64 decoding
plain_text = base64.b64decode(base64_str)
print(plain_text)

 <

### CTF竞赛中的AES加密算法密码题型解法 在CTF竞赛中,涉及AES加密算法的题目通常会围绕着密钥恢复、初始化向量(IV)发现或模式识别展开。对于这问题,解决策略可以分为几个方面: #### 分析加密方式并寻找弱点 当面对一个基于AES的挑战时,首要任务是对给定的信息进行全面评估,以确定使用的具体参数设置,比如密钥长度、操作模式(ECB, CBC等),以及是否存在任何可能泄露信息的地方,如错误实现导致的安全漏洞[^1]。 #### 获取密钥或IV 如果能够找到用于加解密过程的关键材料——即密钥或是初始化向量,则可以直接应用这些数据来进行进一步的操作。有时可以通过侧信道攻击或其他形式的数据泄漏来获得此敏感资料。 #### 利用已知明文/密文对尝试破解 如果有足够的样本可供研究,特别是那些具有相同前缀或结构特征的例子,那么就有可能通过差分分析或者其他统计手段找出规律,从而推导出未知部分的内容。此外,在某些情况下还可以借助于预计算表(rainbow tables)加速这一进程[^2]。 #### 使用专门工具辅助处理 为了简化工作流程,参赛者往往会依赖各种现成软件包的帮助,例如`CryptoSearcher`, `Base64kit`, 或者其他支持多种格式转换与解析功能的应用程序。它们可以帮助快速定位潜在的目标对象,并提供必要的技术支持以便更高效地完成任务。 ```python from Crypto.Cipher import AES import base64 def decrypt_aes(ciphertext_hex, key): cipher = AES.new(key.encode(), AES.MODE_ECB) decrypted_bytes = unpad(cipher.decrypt(bytes.fromhex(ciphertext_hex)), AES.block_size) return decrypted_bytes.decode() # 假设我们已经知道了key和ciphertext_hex print(decrypt_aes(&#39;your_ciphertext_here&#39;, &#39;your_key_here&#39;)) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值