Cryptography-with-python-rot13-algorithm
提供:Dev Guides
Pythonを使用した暗号化-ROT13アルゴリズム
これまで、逆暗号とシーザー暗号アルゴリズムについて学びました。 次に、ROT13アルゴリズムとその実装について説明します。
ROT13アルゴリズムの説明
ROT13暗号は、省略形* 13桁ずつ回転*を指します。 これは、シフトが常に13であるCaesar Cipherの特殊なケースです。 メッセージを暗号化または復号化するために、すべての文字が13桁シフトされます。
例
次の図は、ROT13アルゴリズムプロセスを絵で説明しています-
プログラムコード
ROT13アルゴリズムのプログラム実装は次のとおりです-
from string import maketrans
rot13trans = maketrans('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm')
# Function to translate plain text
def rot13(text):
return text.translate(rot13trans)
def main():
txt = "ROT13 Algorithm"
print rot13(txt)
if __name__ == "__main__":
main()
次の画像に示すように、ROT13の出力を確認できます-
欠点
ROT13アルゴリズムは13シフトを使用します。 したがって、暗号テキストを解読するために文字を逆方向にシフトすることは非常に簡単です。
ROT13アルゴリズムの分析
ROT13暗号アルゴリズムは、Caesar Cipherの特殊なケースと見なされます。 これは非常に安全なアルゴリズムではなく、周波数分析または25の可能なキーを試すだけで簡単に破ることができますが、ROT13は13桁シフトすることで破ることができます。 したがって、実際の使用は含まれません。