Entschlüsselung der Transpositionsverschlüsselung

In diesem Kapitel erfahren Sie, wie Sie die Transpositionsverschlüsselung entschlüsseln.

Code

Beachten Sie den folgenden Code, um das Entschlüsseln einer Transpositionsverschlüsselung besser zu verstehen. Der Chiffretext für die NachrichtTransposition Cipher mit Schlüssel als 6 wird abgerufen als 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()

Erläuterung

Der Chiffretext und der erwähnte Schlüssel sind die beiden Werte, die als Eingabeparameter zum Dekodieren oder Entschlüsseln des Chiffretextes in umgekehrter Technik verwendet werden, indem Zeichen in einem Spaltenformat platziert und horizontal gelesen werden.

Sie können Buchstaben in einem Spaltenformat platzieren und später mit dem folgenden Code kombinieren oder verketten:

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)

Ausgabe

Der Programmcode zum Entschlüsseln der Transpositionsverschlüsselung gibt die folgende Ausgabe aus: