전치 암호 해독
이 장에서는 전치 암호를 해독하는 절차를 배웁니다.
암호
전치 암호 해독에 대한 더 나은 이해를 위해 다음 코드를 관찰하십시오. 메시지의 암호 텍스트Transposition Cipher 키로 6 다음과 같이 가져옵니다. 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()
설명
암호 텍스트와 언급 된 키는 문자를 열 형식으로 배치하고 가로 방향으로 읽어 역방향 기술로 암호 텍스트를 해독하거나 해독하기위한 입력 매개 변수로 사용되는 두 값입니다.
열 형식으로 문자를 배치하고 나중에 다음 코드를 사용하여 결합하거나 연결할 수 있습니다.
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)
산출
전치 암호 해독을위한 프로그램 코드는 다음과 같은 출력을 제공합니다.