Program Encryption Transposition Cipher Python


Seiring dengan perkembangan ilmu pengetahuan dan teknologi, saat ini tidak sedikit penyedia jasa yang menawarkan layanan kursus programming. Namun bagi yang ingin belajar sendiri, telah banyak tutorial belajar pemrograman (programming) di internet, salah satunya dalam artikel ini.

Tutorial Belajar Pemrograman Python
Setelah sebelumnya dibahas mengenai bagaimana melakukan encryption dan decryption Caesar Cipher dengan Python, berikut ini ialah contoh sederhana source code Python untuk melakukan encryption dengan transposition cipher menggunakan Python 3.

#Python source code Transposition Cipher sederhana
#Loki Lang

def main():
    myMessage = input('Masukkan pesan ').upper()
    myKey = int(input('Masukkan pilihan key '))
    ciphertext = encryptMessage(myKey, myMessage)
    print(ciphertext + '|')

def encryptMessage(key, plaintext):
    ciphertext = [''] * key
    for col in range(key):
        pointer = col
        while pointer < len(plaintext):
            ciphertext[col] += plaintext[pointer]
            pointer += key
    return ''.join(ciphertext)

if __name__ == '__main__':
    main()


Dengan program ini memungkinkan untuk melakukan encryption pesan (plaintext) yang diberikan berdasarkan key. Untuk key yang digunakan berupa angka bilangan bulat yang merepresentasikan jumlah kolom. Pesan plaintext tersebut akan dipecah menjadi masing-masing karakter penyusunnya, bisa berupa huruf, angka, atau simbol lainnya, dan ditempatkan dalam kolom sesuai key. Setelah dipecah, pesan tersebut akan disusun kembali sebagai ciphertext dari satu baris ke baris selanjutnya secara berurutan. Berikut ini ialah contoh hasil dari transposition cipher.
Plaintext: MANCHESTER UNITED
Key: 7
Ciphertext: MTTAEENRDC HUENSI



Berdasarkan pada gambar tersebut, pesan plaintext MANCHESTER UNITED, dipecah dalam 7 karakter key. Kemudian disusun kembali dari satu kolom ke baris selanjutnya. Sehingga hasil akhir diperoleh ciphertext MTTAEENRDC HUENSI.