Algoritma atau prosedur yang ditetapkan untuk menjalankan proses enkripsi (mesej dienkod agar
maklumat tidak dapat difahami oleh pihak lain kecuali pihak yang dibenarkan) atau dekripsi
(proses mengdekod mesej yang diterima kepada mesej yang asal dan mudah difahami)
Perkembangan kod klasik dan cipher menggunakan dua teknik iaitu Transposisi dan Gantian.
Cipher transposisi melibatkan penyusunan semula huruf ( atau kumpulan huruf ) mengikut
sistem yang mudah dan yang telah dipersetujui antara pengirim dan penerima. Bagi cipher
gantian pula ialah satu proses huruf ( atau kumpulan huruf ) menggantikan seluruh mesej surat
yang lain ( atau kumpulan huruf) dengan sistem penggantian yang dipersetujui antara pengirim
dan penerima.
1. Railfence cipher
Railfence cipher adalah cipher yang melibatkan hurufnya ditulis berasingan pada garis atas dan
garis bawah yakni secara zig-zag ke atas dan ke bawah. Huruf-huruf dalam mesej ditulis semula
dalam dua atau lebih baris. Kemudiannya, dicantumkan semula untuk membentuk mesej yang
telah dienkodkan.
Contoh : Mesej KAMI TERPERANGKAP DI HUTAN bila di tulis lima baris menjadi,
Teks biasa : KAMI TERPERANGKAP DI HUTAN
Railfence : KERAU
ARAPT
MPNDA
IEGIN
TRKH
Teks Cipher : KERAU ARAPT MPNDA IEGIN TRKH
Si penerima akan menyusun mesej yang diterima dalam lima baris dan membaca mengikut arah
yang dipersetujui dengan si pengirim. Dalam contoh ini dari atas ke bawah untuk mengdekod
mesej kepada yang asal.
2. Route cipher
Huruf huruf yang ditulis semula mengikut satu lintasan yang tertentu, misalnya mengikut
lintasan spiral dari luar ke dalam yang tersusun dalam satu segiempat sama. Bilangan petak
dalam segiempat sama yang diguna merupakan rahsia antara si pengirim dan si penerima. Cipher
yang melibatkan mesejnya ditulis ke bawah mengikut dimensi yang telah ditetapkan, disusun
semula dengan kekunci tertentu
Contoh : Teks biasa KAMI TERPERANGKAP DI HUTAN.
Teks biasa ditulis dalam dimensi tertentu yang ditetapkan. Teks biasa ditulis ke bawah.
Dimensi: 4 baris
K T E G D T
A E R K I A
M R A A H N
I P N P U
Kekunci : Ke dalam lingkaran, ikut arah jam, bermula dari sebelah kanan atas. Penetapan
dimensi dan kekunci tertakluk kepada persetujuan antara pengirim dan penerima.
3. Columnar cipher
Columnar cipher melibatkan mesejnya ditulis dalam lajur berdasarkan perkataan kekunci ( satu
perkataan ) ditetapkan, dan kemudian mesejnya ditulis semula mengikut lajur dan ruang yang
dipilih secara berselerak (berdasarkan kedudukan huruf dalam susunan alphabet).
Contoh :
Teks biasa : PERDANA MENTERI PERU Bilangan lajur ditentukan berdasarkan
bilangan huruf pada perkataan kekunci.
Perkataan kekunci : TERIMA Teks biasa disusun disetiap lajur, satu huruf demi satu
huruf (di bawah perkataan kekunci)
T E R I M A
6 2 5 3 4 1 ( Kedudukan dalam susunan huruf )
P E R D A N
A M E N T E
R I P E R U
Perkataan kekunci :T E R I M A
Kedudukan dalam susunan huruf : 6 2 5 3 4 1
Mesej :P A R E M I
R E P D N E
A T R N E U
Teks cipher : PRA AET RPR EDN MNE IEU
4. Latin Square
Ia terdiri daripada siri perkataan 5 huruf yang disusun dalam segiempat, yang dijumpai pada
dinding villa Rom di Pompeii dan Cirencester. Latin square dibaca sebagai rotas opera rukun
arepo sator yang bermaksud orang yang memberi panduan kepada pembajak untuk menuai
benih. Segiempat latin square adalah simetri yang mana ianya boleh dibaca dari kiri ke kanan
dan ke atas atau ke bawah.
Latin square yang dijumpai di dinding villa Rom di Pompeii dan Cirencester
Namun terdapat mesej tersembunyi dan hanya pengirim dan penerima yang tahu bagaimana cara
membaca mesej yang tersembunyi. Penerima mesej Latin Square adalah terdiri daripada
penganut kristian. Mesej yang cuba disampaikan selepas menyusun semula huruf (transposisi).
5. Syctale
Syctale adalah alat yang digunakan untuk melaksanakan cipher transposisi, yang terdiri daripada
silinder kayu yang digulung padanya jalur kertas dan disekitarnya ditulis mesej yang hendak
disampaikan. Setelah mesej ini ditulis, gulungan kertas itu dibuka dan dihantar kepada penerima.
Penerima hanya boleh membacanya dengan menggunakan silinder yang sama diameternya.
Orang-orang Yunani kuno, dan orang Sparta khususnya dikatakan telah menggunakan cipher ini
untuk berkomunikasi semasa kempen ketenteraan untuk peperangan.
Kelebihan syctale adalah mesej lebih muda diterjemah dan kesilapan penterjemahan adalah
sangat kurang manakala kelemahannya pula adalah jalur kertas mudah koyak.
PENGGANTIAN ( Subtitution)
Cipher penggantian ialah proses huruf (atau kumpulan huruf ) menggantikan seluruh mesej surat
yang lain (atau kumpulan huruf) dengan suatu sistem penggantian yang telah dipersetujui antara
pengirim dan penerima. Antara cipher penggantian adalah :
1. Cipher Ceasar
Cipher ceasar adalah merupakan satu proses setiap huruf dalam teks biasa digantikan dengan
huruf yang digerakkan daripada kedudukan asal sebanyak beberapa kedudukan tertentu. Setiap
huruf dalam abjad digantikan oleh huruf yang berkedudukan tertentu daripadanya dalam susunan
abjad. Ceasar memperkenalkan cipher ini dengan pergerakan sebanyak tiga kedudukan.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Cipher ini juga dikenali sebagai cipher Vatsyayana yang pernah dihuraikan dalam buku
Kamasutra yang ditulis dalam abad ke-4 AD oleh Brahmin sarjana Vatsyayana. Kamasutra
menyarankan bahawa wanita perlu mengkaji 64 seni termasuk memasak, seksual, berpakaian,
urut dan penyediaan minyak wangi. Salah satu teknik yang disyorkan adalah cipher kamasutra
yang memasangkan 26 huruf secara rawak dan kemudian menggantikan setiap huruf dalam
mesej asal dengan rakan kongsi dan digunakan untuk menulis mesej rahsia. Padanan satu dengan
satu antara pasangan huruf-huruf hanya diketahui oleh pengirim dan penerima.
Contoh:
A=K B=C C=Z D=I E=R F=S G=M H=P I=L J=H
K=V L=E M =Y N=G O=J P=F Q =N R=W S=B T=OU
=D V=X W= U X=A Y=T Z=Q
Sebagai contoh, Mesej TERKURUNG ditulis sebagai ORWVDWDGM
9. Cipher Pigpen
Cipher ini telah digunakan oleh Freemason pada abad ke 18 untuk menyimpan maklumat sulit.
Cipher ini tidak menggantikan satu huruf yang lain tetapi ia menggantikan setiap huruf untuk
simbol. Cipher ini juga dikenali sebagai cipher Masonic atau Rosicrucian.
Dalam cipher pigpen, abjad ditulis dalam grid-grid yang ditunjukkan dan maka setiap huruf
dicipher dengan menggantikannya dengan simbol yang sepadan dengan bahagian grid abjad
tersebut.
Berikut simbol sepadan bagi setiap abjad
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipher ini merupakan cipher gantian yang mudah yang hanya mengandungi dua baris abjad yang
mengandungi 26 huruf disusun secara bertentangan arah.
Contoh :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
O P Q R S T U V W X Y Z
1 1 1 1 1 1 2 2 2 2 2 2
4 5 6 7 8 9 0 1 2 3 4 5
Teks cipher : 18 4 17 1 13 6 7 4 13 3 1 15
Vigenere Cipher ialah cipher polyalphabetik yang paling mudah. Dalam skema ini, set hukum
penggantian berkenaan penggantian monoalfabetik mengandungi 26 cipher Ceasar dengan
perubahan 0 menerusi 25. Setiap cipher menandakan kunci bagi huruf, yang mana huruf teks
cipher digantikan dengan huruf teks biasa. Blaise de Vigenere membangunkan segi empat untuk
membantu mengekod mesej. Membaca di sepanjang baris, ianya boleh dilihat bahawa terdapat
satu siri cipher Ceasar. Lihat rajah di bawah. Vigenere Cipher menggunakan jadual ini untuk
menyah sulit bahasa rahsia (encipher) kepada mesej.
Vigenere Cipher menggunakan jadual ini untuk menyah sulit bahasa rahsia (encipher) kepada
mesej. Jika kita mahu mengenkod mesej menggunakan kunci COUNTON, kita menulis sebanyak
mana yang mungkin yang diperlukan untuk mesej kita. Untuk mencari encryption, kita
mengambil huruf daripada persilangan kunci dalam baris, dan huruf teks biasa dalam lajur.
Untuk penyah sulitkan mesej, penerima perlu menulis semula kunci di atas teks cipher dan
terbalikkan prosesnya. Matematik di sebalik Vegenere Cipher boleh ditulis seperti berikut:
Untuk mengenkrip mesej : Ca = Ma + Kb (mod 26) Untuk mendekrip mesej : Ma = Ca Kb
(mod 26) (di mana C ialah kod, M ialah mesej, K ialah kunci, a ialah karakter mesej dalam
mesej dan b ialah karakter kunci yang disempadani oleh panjang kunci.
Adakah anda fikir ia adalah masalah apabila terdapat 5 perlanggaran / collision ( di mana huruf
teks biasa digantikan untuk dirinya sendiri) dalam penggantian ini? (Jawapan: Ia bergantung).
Mungkin kata kunci yang lebih baik ialah EZRA CORNELL.
Plain : AB C D E F G H I J K LM N O PQ R S T U VW X YZ
Cipher : E Z R A C O N L B D F G H I J K M P Q S T U V W X Y
Perhatikan tidak ada satupun penggantian ini yang dijanakan dengan cipher affine.
Gabungan abjad melalui Transposisi Kolumnar
Huruf ddaripada kata kunci membentuk kepala lajur (head of the column), dan baki huruf yang
tinggal mengisi baris di bawah (rows below) . Gabungan terjadi dengan mentranskripsikan lajur.
Contoh: Jika kata kuncinya ialah CORNELL, maka kita menulis
CORNEL
ABDFGH
IJKMPQ
STUVWX
YZ
Maka, penggantian kiri ke kanan memberikan penggantian:
Plain : AB C D E F G H I J K LM N O PQ R S T U VW X YZ
Cipher : CAI S YO B J T Z R D K U N F M V E G PW LH Q X
Cipher ini melibatkan penggantian setiap huruf dalam teks biasa dengan satu huruf cipher yang
disusun secara rawak. Kebarangkalian susunan bagi setiap huruf adalah sebanyak 26! = 4 x
B
A C D E F G H I J K L M N
d r k q f l y g t a m s u z
O P Q R S T U V W X Y Z
b n v j e c x i o p w h
Cipher Main Ria ialah penggantian cipher digraf. Ia menggunakan jadual di mana satu abjad
huruf ditinggalkan dan huruf-huruf disusun dalam grid 5x5. Dengan kata lain, cipher ini
menggunakan digrams dalam teks biasa sebagai unit tunggal dan mentranslasikan unit ini kepada
digrams teks cipher. Lihat contoh di bawah yang dirungkaikan oleh Lord Peter Wimsey dalam
Dorothy Sayerss Have His Carcase2. Dalam kes ini, kata kuncinya ialah MONARCHY. Matriks
ini dibina dengan mengisi huruf kata kunci ( tolak penyalinan) dari kiri ke kanan, dari atas ke
bawah dan kemudian mengisi baki matriks dengan baki huruf dalam urutan abjad. Huruf I dan J
dikira sebagai satu huruf. Huruf teks biasa dinyah sulitkan (encrypted) kepada dua huruf dalam
satu masa mengikut peraturanperaturan yang telah ditetapkan.
Cipher Main Ria adalah satu kemajuan bagi cipher monoalphabetik. Bagi satu perkara, apabila
terdapat 26 huruf, maka terdapat 26x26=676 digrams yang menjadikan pengenalan bagi digrams
individu adalah sangat sukar. Cipher Main Ria ini mengambil masa yang lama untuk dipecahkan.
Cipherini pernah digunakan semasa Perang Dunia Ke-2 oleh tentera US.
Dalam kes di atas, kita mengambil saiz matriks 3x3, bagaimana pun, ia boleh menjadi mana-
mana saiz (bergantung kepada panjang segi empat). Anggapkan kita ingin menyah sulitkan
tulisan rahsia (encipher) mesej ATTACK AT DAWN. Untuk menyah sulitkannya, kita harus
memecahkan mesej kepada tiga ketul (chunks). Maka kita ambil tiga karakter pertama dalam teks
biasa, ATT dan wujudkan vektor yang selari dengan huruf (A dengan 0, B dengan 1... Z dengan
25 dan sebagainya) untuk mendapatkan [0 19 19] iaitu (A T T).
Untuk mendapatkan teks cipher, kita perlu melaksanakan pendaraban matriks (anda perlu untuk
menyemak semula pendaraban matriks jika ia tidak berhasil).
= ( mod 26 ) = = PFO
Proses ini dilaksanakan kepada 3 blok huruf dalam teks biasa. Teks biasa perlu dikembangkan
dengan huruf ekstra untuk memastikan ia blok nombor bulat. Sekarang ialah bahagian yang
paling rumit iaitu penyah sulitan (decryption). Kita perlu mencari matriks songsang modu 26
untuk digunakan sebagai kunci decyrption kita iaitu kita mahukan sesuatu yang boleh merubah
PFO kepada ATT. Jika kunci matriks 3x3 diwakilkan dengan K, maka decryption key kita
dipanggil .
( mod 26 ) = = ATT
Untuk mencari , kita perlu menggunakan sedikit matematik. Kita tidak akan menghuraikan
secara panjang di sini, tetapi contoh ringkas akan diberikan. Perkara penting yang perlu diketahui
ialah songsangan (mod m), matrik penentu dan matriks adjugates. Biarkan K ialah kunci matriks,
d ialah penentu bagi K. Kita ingin mencari iaitu K x = I (mod 26), di mana I ialah
matriks identiti.
Di mana d x = 1 (mod 26) dan adj (k) ialah matriks adjugate bagi K. D (penentu) dikira
untuk K (untuk contoh di atas, 489=21 (mod 26). Songsangan dijumpai dengan mencari
nombor d x = 1 (mod 26) (ini ialah 5 bagi contoh di atas iaitu 5 x 21=105 = 1 (mod26)).
Cara yang paling mudah untuk melakukannya ialah melompat melalui nombor 1...25 dan cari
yang mana satukah yang tepat dengan persamaan. Tidak ada penyelesaian ( iaitu memilih kunci
yang berbeza) jika gcd(d,26) 1. Ini bermaksud d dan 26 berkongsi faktor yang sama. Jika ini
ialah kesnya, K boleh disongsangkan. Ini juga bermaksud kunci yang dipilih tidak berhasil, jadi,
pilih lah yang lain. Apabila ditemui, maka proses penyah sulitan (decryption) telah
dilaksanakan.
Teks cipher ini dijanakan dengan melaksanakan bitwise XOR atas teks biasa dan kunci. Dengan
ciri-ciri XOR, dekripsi dengan mudahnya melibatkan operasibitwise yang sama.
pi= ci ki
Intipati teknik ini ialah cara pembinaan kuncinya. Vernam mencadangkan penggunaan gelung
pita (running loop of the tape) yang dapat mengulang kata kunci, jadi secara faktanya ialah
sistem ini bergerak dengan sangat panjang tetapi dengan kata kunci yang diulang.
ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
Sekarang, kita tunjukkan 2 dekripsi yang berbeza menggunakan dua kunci yang berbeza
Ciphertext : ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
Key : pxlmvmsydofuyrvzwc tnlebnecvgdupahfzzlmnyih
Plaintext : mr mustard with the candlestick in the hall
Ciphertext : ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
Key : mfugpmiydgaxgoufhklllmhsqdqogtewbqfgyovuhwt
Plaintext : miss scarlet with the knife in the library
Katakan kriptanalisis berjaya mencari kedua-dua kunci ini. Dua teks biasa yang munasabah akan
dihasilkan. Bagaimana kriptanalisis membuat keputusan yang mana satukah dekripi yang betul?
(yang manakah kunci yang betul?) jika kunci yang betul dihasilkan benar-benar secara rawak,
maka kriptanalisis tidak boleh mengatakan bahawa salah satu daripada kunci ini mungkin lebih
daripada yang lain. Maka, tiada cara menentukan kunci mana yang betul dan teks biasa mana
yang betul. Keselamatan one-time pad keseluruhannya bergantung kepada kunci secara rawak.
Jika aliran karakter yang terdiri daripada kunci yang rawak, maka aliran karakter yang terdiri
daripada teks cipher juga akan menjadi rawak. Jadi, tidak ada satu paten atau ketetapan yang
mana kriptanalis boleh menyerang teks cipher.