전치 암호 해독

이 장에서는 전치 암호를 해독하는 절차를 배웁니다.

암호

전치 암호 해독에 대한 더 나은 이해를 위해 다음 코드를 관찰하십시오. 메시지의 암호 텍스트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)

산출

전치 암호 해독을위한 프로그램 코드는 다음과 같은 출력을 제공합니다.