Dekripsi dari Transposition Cipher
Dalam bab ini, Anda akan mempelajari prosedur untuk mendekripsi sandi transposisi.
Kode
Perhatikan kode berikut untuk pemahaman yang lebih baik tentang mendekripsi sandi transposisi. Teks sandi untuk pesanTransposition Cipher dengan kunci sebagai 6 diambil sebagai 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()
Penjelasan
Teks sandi dan kunci yang disebutkan adalah dua nilai yang diambil sebagai parameter masukan untuk mendekode atau mendekripsi teks sandi secara terbalik dengan menempatkan karakter dalam format kolom dan membacanya secara horizontal.
Anda dapat menempatkan huruf dalam format kolom dan kemudian menggabungkan atau menggabungkannya bersama-sama menggunakan bagian kode berikut -
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)
Keluaran
Kode program untuk mendekripsi cipher transposisi memberikan output berikut -