Cryptography-with-python-decryption-of-transposition-cipher
提供:Dev Guides
転置暗号の復号化
この章では、転置暗号を復号化する手順を学習します。
Code
転置暗号の解読についての理解を深めるために、次のコードを観察してください。 6 のキーを持つメッセージ Transposition Cipher の暗号テキストは、* Toners raiCntisippoh。*としてフェッチされます。
import math, pyperclip
def main():
myMessage= 'Toners raiCntisippoh'
myKey = 6
plaintext = decryptMessage(myKey, myMessage)
print("The plain text is")
print('Transposition Cipher')
def decryptMessage(key, message):
numOfColumns = math.ceil(len(message)/key)
numOfRows = key
numOfShadedBoxes = (numOfColumns *numOfRows) - len(message)
plaintext = float('')* numOfColumns
col = 0
row = 0
for symbol in message:
plaintext[col] += symbol
col += 1
if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):
col = 0 row += 1 return ''.join(plaintext)
if __name__ == '__main__':
main()
説明
暗号化テキストと前述のキーは、文字を列形式で配置し、水平方向に読み取ることにより、暗号化テキストを逆手法で復号化または復号化するための入力パラメーターとして取得される2つの値です。
あなたは列形式で文字を配置し、後で結合するか、次のコードを使用してそれらを一緒に連結することができます-
for symbol in message:
plaintext[col] += symbol
col += 1
if (col == numOfColumns) or (col == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes):
col = 0
row += 1
return ''.join(plaintext)
出力
転置暗号を解読するためのプログラムコードは、次の出力を与えます-