Cryptography-with-python-rot13-algorithm

提供:Dev Guides
移動先:案内検索

Pythonを使用した暗号化-ROT13アルゴリズム

これまで、逆暗号とシーザー暗号アルゴリズムについて学びました。 次に、ROT13アルゴリズムとその実装について説明します。

ROT13アルゴリズムの説明

ROT13暗号は、省略形* 13桁ずつ回転*を指します。 これは、シフトが常に13であるCaesar Cipherの特殊なケースです。 メッセージを暗号化または復号化するために、すべての文字が13桁シフトされます。

次の図は、ROT13アルゴリズムプロセスを絵で説明しています-

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

欠点

ROT13アルゴリズムは13シフトを使用します。 したがって、暗号テキストを解読するために文字を逆方向にシフトすることは非常に簡単です。

ROT13アルゴリズムの分析

ROT13暗号アルゴリズムは、Caesar Cipherの特殊なケースと見なされます。 これは非常に安全なアルゴリズムではなく、周波数分析または25の可能なキーを試すだけで簡単に破ることができますが、ROT13は13桁シフトすることで破ることができます。 したがって、実際の使用は含まれません。