Algorithm-Design
如果我們使用不同的索引表,Base64 是否可以被視為一種加密方式?
眾所周知,索引表(將字節映射到
$$ 0, 63 $$Base64 編碼的字元)是公開的,所以每個人都可以從其他人那裡解碼 Base64 字元串。 但是,如果我們使用 shuffled 索引表並對其保密呢?我們能否將帶有這個新表的 Base64 視為某種安全加密,而將經過洗牌的表視為密碼?
我們能否將帶有這個新表的 Base64 視為某種
$$ .. $$加密$$ … $$?
是的,從技術上講,它確實構成了一種加密形式,因為需要知道密鑰才能從密文中恢復明文。
我們能否將帶有這個新表的 Base64 視為某種安全加密
$$ … $$?
**不!**這本質上是一種應用於 Base64 編碼數據的單字母替換密碼。這可以看出你總是可以拿你的桌子 $ T $ 然後找一個新的 $ T’ $ 它首先撤消 base64 表編碼,然後在標準 Base64 編碼之後應用。
現在,雖然密鑰大小(理論上)是可觀的 $ \log_2 (64!)\approx 296 $ 有點,這個密碼遇到了所有常見的問題,包括:
- 使用頻率分析可以進行純密文攻擊,因為只有 64 個有效的明文值,並且它們可能以不同的頻率發生。
- 已知和選擇的明文攻擊是毀滅性的,因為只有 64 個映射要被發現,而且通常明文具有相當多的結構,可以猜測其餘部分/發現明文的重要部分。