培根密碼
培根密碼使用兩種不同的字體,代表 A 和 B,結(jié)合加密表進(jìn)行加解密。我認(rèn)為它本質(zhì)上其實是一種隱寫術(shù)。
上面的是常用的加密表。還有另外的一種加密表,可認(rèn)為是將 26 個字母從 0 到 25 排序,以二進(jìn)制表示,A 代表 0,B 代表 1。
下面這一段內(nèi)容就是明文 steganography 加密后的內(nèi)容,正常字體是 A,粗體是 B: To encode a message each letter of the plaintext is replaced bya groupoffive of the letters'A' or 'B'.
可以看到,培根密碼主要有以下特點
- 只有兩種類型的字符
- 每一段的長度為 5
- 加密內(nèi)容會有特殊的字體之分,亦或者大小寫之分。 破解方法
在線網(wǎng)站:http://rumkin.com/tools/cipher/baconian.php當(dāng)然,你非要爆破的話我也不攔你。
falg應(yīng)該是flag,問就是打CTF打的。 破解方法
可以口算。
以下是解碼腳本,大家可以隨意取用。
def decrypt_cloud_shadow_code(encoded_message):
# 將數(shù)字映射到字母(1 -> A,2 -> B,...,26 -> Z)
num_to_letter = {i: chr(64 + i) for i in range(1, 27)}
# 使用'0'作為分隔符將消息分成組
groups = encoded_message.split('0')
# 解密每個組
decrypted_message = ''
for group in groups:
if group: # 檢查組是否非空
total = sum(int(digit) for digit in group)
decrypted_message += num_to_letter.get(total, '?') # 對于無效數(shù)字,使用'?'表示
return decrypted_message