Senin, 18 April 2011

Desain dan Analisis Keamanan Jaringan 5-1 & 6


Algoritma Sandi
algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
  • konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
  • difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang /plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P) = C
Dekripsi : D(C) = P atau D(E(P)) = P
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
  • kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
  • kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
  • algoritma sandi klasik classic cryptography
  • algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
  • algoritma sandi kunci rahasia secret-key
  • algoritma sandi kunci publik publik-key
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

1.       algoritma sandi kunci-simetris

Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.

·         Block-Cipher

Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
o    ECB, Electronic Code Book
o    CBC, Cipher Block Chaining
o    OFB, Output Feed Back
o    CFB, Cipher Feed Back

·         Stream-Cipher

Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.

Algoritma-algoritma sandi kunci-simetris

Beberapa contoh algoritma yang menggunakan kunci-simetris:
  • DES - Data Encryption Standard
  • blowfish
  • twofish
  • MARS
  • IDEA
  • 3DES - DES diaplikasikan 3 kali
  • AES - Advanced Encryption Standard, yang bernama asli rijndael

2.       Algoritma Sandi Kunci-Asimetris

Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.

 

Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci-Asimetris

Algoritma -Algoritma Sandi Kunci-Asimetris

·         Knapsack
·         RSA - Rivert-Shamir-Adelman
·         Diffie-Hellman

Desain dan Analisis Keamanan Jaringan 5


ENIGMA
A.      Pengertian dan Sejarah Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya rahasia (secret) dan graphein artinya tulisan (writing). Jadi kriptografi berarti tulisan rahasia (secret writing). Kriptografi tidak hanya ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, nirpenyangkalan, otentikasi tetapi juga sekumpulan teknik yang berguna.
Kriptografi adalah ilmu dan seni untuk menjaga keamanan  pesan
(Cryptography is the art and science of keeping messages secure)
Kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik  tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan (kata “graphy” di dalam  “cryptography” itu sendiri sudah menyiratkan sebuah seni).


B.       Pengertian dan Sejarah Mesin Enigma
Mesin Enigma adalah sebuah mesin penyandi yang digunakan untuk mengenkripsikan dan mendekripsikan pesan rahasia. Enigma dipatenkan oleh insinyur Jerman Arthur Scherbius, dan awalnya digunakan untuk tujuan komersial, namun nantinya terkenal karena digunakan oleh tentara dan pemerintah Jerman Nazi sebelum dan selama Perang Dunia II. Secara teknis, mesin Enigma termasuk keluarga mesin rotorelektromekanik, yang memiliki berbagai model. Nama Enigma diambil dari kata Latin aenigma, yang artinya teka-teki.
Versi Enigma yang paling terkenal adalah yang digunakan oleh Wehrmacht (tentara Jerman Nazi). Mesin ini, mulai digunakan oleh Nazi pada 1928, pada awalnya dianggap sebagai mesin kriptografi teraman di dunia, namun akhirnya dapat dipecahkan oleh pihak Sekutu, sehingga mesin ini justru merugikan pihak Nazi. Metode pemecahan (dekripsi) mesin ini pertama kali ditemukan di tahun 1932 oleh kriptografer Polandiadari Biuro Szyfrów (Kantor Sandi), Marian Rejewski, Jerzy Różycki dan Henryk Zygalski. Namun pada 1939 Jerman mendisain ulang Enigma sehingga metode tersebut tidak dapat digunakan lagi. Berkat informasi dari Polandia, akhirnya Britania dan Perancis berhasil membuat mesin pemecah Enigma baru ini, yang diberi nama bombe. Informasi yang didapat Sekutu dari pemecahan Enigma disebut ULTRA, yang terbukti amat penting bagi kemenangan Sekutu pada Perang Dunia II. Menurut para ahli, PD II berakhir dua tahun lebih cepat berkat pemecahan Enigma ini.
C.       Desain dan Mekanisme Enigma
Desain enigma versi militer yang banyak dipakai oleh angkatan bersenjata Nazi terdiri dari bagian- bagian sebagai berikut :

Dengan bagian yang paling penting adalah rotor, karena rotorlah mekanisme utama dalam pengenkripsian yang dilakukan :

Adapun bagian-bagian dari rotor tersebut dengan penomoran sesuai dengan gambar di atas adalah : 
1.       nger notches,
2.       alphabet ring,
3.       shaft,
4.       catch,
5.       core containing cross-wirings,
6.       spring loaded contacts,
7.       discs,
8.       carry notch.

D.      Cara Kerja Enigma 
Enkripsi yang dilakukan enigma sebenarnya adalah substitusi, di mana sebuah huruf digantikan dengan tepat sebuah huruf juga, hanya saja substitusi dilakukan beberapa kali. Dan walau hanya dengan substitusi, sebuah pesan akan sulit sekali didekripsi jika tidak dengan alat yang sama, dengan pengaturan posisi yang sama, tipe substitusi yang sama, dan kode kunci yang sama. 
Dan semua substitusi tersebut dilakukan dengan wiring (sambungan listrik melalui kawat).

Arti dari wiring tersebut adalah jika misal A pada left rotor terhubung dengan D pada middle rotor, maka jika A pada left rotor teraliri listrik, maka D pada middle rotor akan teraliri listrik juga.   Sedangkan secara sederhana cara kerja dari mekanisme wiring tersebut adalah wiring tersebut menunjukkan subsitusi dari tombol yang ditekan, yang dilakukan dengan cara memasang lampu. Jadi misal sesuai contoh di atas jika tombol / saklar A ditekan, maka lampu D akan menyala. Kemudian hal tersebut dilakukan ulang namun dengan mengganti rotor yang sedang digunakan.   Kemudian dilakukan pergeseran pada rotor setiap kali ada tombol yang ditekan. Begitu seterusnya selama pesan diketik.
Dan dengan adanya reflector jalannya arus dapat dibalikkan dari right rotor ke left rotor, yang efeknya adalah kemungkinan yang meningkat 26 kali dari substitusi huruf. Relector ini menyebabkan Enigma tidak perlu mengubah state jika sedang ingin mengenkripsi sebuah pesan ataukah ingin mendekripsikannya.  Namun Reflector ini menyebabkan kelemahan pada mesin Enigma ini, di mana terjadi resiprok, di mana jika misal huruf M dienkripsikan menjadi T, maka huruf T akan dienkripsikan menjadi huruf M pada rotor yang sama, dan sebuah huruf tidak akan mungkin bisa dienkripsi menjadi dirinya sendiri.

Sedangkan rotor untuk enigma ada beberapa, walaupun yang dapat dipakai dalah satu waktu pada satu enigma adalah 3 buarh saja, yang diberi nama L (left), M (middle), dan R (right). Sedangkan jenis-jenis rotor yang ada diberi nama rotor I, rotor II, rotor III, dan seterusnya.  Di bawah ini adalah beberapa jenis rotor yang pernah digunakan oleh enigma :

Rotor  ABCDEFGHIJKLMNOPQRSTUVWXYZ
I   EKMFLGDQVZNTOWYHXUSPAIBRCJ
II   AJDKSIRUXBLHWTMCQGZNPYFVOE
III   BDFHJLCPRTXVZNYEIWGAKMUSQO
IV   ESOVPZJAYQUIRHXLNFTGKDCMWB
V   VZBRGITYUPSDNHLXAWMJQOFECK
VI   JPGVOUMFYQBENHZRDKASXLICTW
VII   NZJHGRCXMYSWBOUFAIVLPEKQDT
VIII  FKQHTLXOCBJSPDZRAMEWNIUYGV

Pada setiap rotor tersebut dikenal adanya istilah Turnover, yaitu posisi di mana sebuah rotor mulai bergerak menggeser rotor di sampingnya. Rotor R akan selalu bergerak 1 huruf setiap kali tombol ditekan., dan jika turnover dari rotor R tersebut adalah S, maka rotor R tersebut akan menggeser rotor M sejauh 1 huruf jika sudah mencapai posisi turnovernya (posisi di huruf S). Setiap jenis rotor mempunyai turnover masing-masing.  Adapun peran besar juga disumbangkan oleh plugboard. Plugboard sendiri adalah sebuah papan yang mengganti arus dari huruf awal ke huruf yang diinginkan dengan cara meneruskan arus tersebut dengan kabel. Seperti yang terlihat di Gambar 2, di situ terlihat bahwa huruf A dihubungkan dengan huruf  J, dan huruf S dihubungkan dengan huruf Q, jadi semua A, akan menjadi J, dan sebaliknya demikian juga, semua huruf J akan berubah menjadi huruf A. Hal tersebut juga terjadi antara huruf S dan huruf Q.

Enkripsi Pada Enigma 
Sebenarnya yang terjadi pada enigma pada sebuah enkripsi yang dia lakukan adalah sebuah permutasi panjang :  

Dengan R adalah right rotor, M adalah middle rotor, L adalah left rotor, P adalah plugboard, dan U adalah reflector. Dan E adalah hasil enkripsinya.   Dan semuanya itu ditentukan oleh ketetapan yang ditentukan Jerman berbeda-beda untuk setiap jaringan yang ada dan untuk setiap harinya. Dan kesemuanya itu ditentukan Jerman dengan cara memberikan sebuah buku sebagai
standar untuk masing-masing operator. Adapun hal-hal yang diatur adalah : pilihan rotor dan peletakan posisi dari rotor-rotor tersebut, pemilihan huruf awal dari setiap rotornya, posisi plug pada plugboard, dan tipe reflector yang digunakan. 
Misal pada suatu hari standar yang disebarkan oleh kurir-kurir Jerman ke setiap operator enigma mereka adalah sebagai berikut  
25
I III V
B M X
DM OA MR IS NE IL KI UN
Maka kode tersebut dikeluarkan pada tanggal 30 pada bulan itu, kemudian rotor yang digunakan untuk left rotor adalah I, untuk middle rotor adalah III, dan kemudian untuk right rotor adalah V. Dan baris berikutnya adalah posisi awal untuk masing-masing rotor, jadi B adalah posisi awal dari rotor I, M adalah posisi awal dari rotor kemudian baris terakhir menentukan huruf-huruf apa saja yang perlu disambungkan pada plugboard. Jadi untuk contoh ini huruf D dihubungkan dengan M, huruf O disambungkan dengan A, dan seterusnya.

E.       Pemecahan Kode Mesin Enigma 
Kode hasil enkripsi mesin enigma yang telah serumit itu dan bahkan diklaim oleh Jerman tidak mungkin dipecahkan tersebut ternyata tetap saja mempunyai kelemahan-kelemahan yang pada akhirnya berakhir pada terpecahkannya kode enkripsi tersebut oleh pihak musuh. 
Kelemahan tersebut antara lain : 
1. Fakta bahwa sebuah huruf tidak dapat dipetakan ke huruf itu sendiri, contohnya misal huruf ‘A’ sebagai input tidak mungkin menghasilkan huruf ‘A’ juga; sebagai output.
2. Operator harus melakukan setting untuk mendapatkan initial value. Di mana di kasus- kasus tertentu, hal tersebut dapat terprediksi, dan kesalahan yang umum dilakukan oleh operator-operator tersebut adalah dalam memilih nilai yang dapat dengan mudah diprediksi sebagai initial value.
3. Penyandian bersifat resiprok, jadi bila huruf ‘A’ disandikan menjadi huruf ‘Z’, maka huruf ‘Z’ akan disandikan menjadi huruf ‘A’.
4. Kunci pesan dikirimkan 2 kali.
5. Posisi turnover pada setiap rotor unik, sehingga memungkinkan untuk ditebak rotor mana saya yang digunakan.

·         Metode Permutasi Marian Rejewski
Marian Rejewksi adalah seorang matematikawan asal Polandia yang memang ditugaskan untuk memecahkan kode enigma. Saat itu Rejewski bisa mendapatkan pesan-pesan terenkripsi Jerman dengan menyadap sinyal komunikasi radio tentara Jerman. Sampai akhirnya dia berhasil mendapatkan 6 buah pesan terenkripsi pada hari yang berbeda. Dan dapat disusun dalam persamaan permutasi sebagai berikut :

Dengan S adalah permutasi yang berasal dari plugboard, H adalah permutasi yang berasal dari hubungan antara socket pada plugboard dengan mesin, T adalah permutasi rotor, dan kemudian yang terakhir, Q adalah permutasi sederhana
yang memetakan sebuah huruf menjadi huruf berikutnya.  Persamaan yang terdiri dari 6 persamaan dan 4 buah permutasi yang tidak diketahui tersebut tidak dapat terpecahkan, sampai pada saatnya Rejewksi berhasil mendapat bantuan berupa tabel kunci harian untuk bulan September dan Oktober 1932. Yang kemudian memberi petunjuk pada Rejewksi dalam memecahkan kode enigma.
·         Metode Grill
Metode ini adalah metode yang merupakan kelangsungan dari penemuan Rejewski. Yang mendekripsi pesan berdasarkan persamaan permutasi yang telah ditemukan oleh oleh Rejewski, dan akhirnya dengan mengetahui kebiasaan bahwa 3 huruf pertama kunci biasanya diset berjauhan oleh operator, akhirnya keenam persamaan permutasi tersebut dapat terpecahkan.   Adapun urutan dari hal-hal yang dapat
dipecahkan oleh Metode ini adalah pilihan roda
kanan, kombinasi dari plugboard, baru kemudian posisi dari roda tengah dan kiri. Yang kesemuanya ini didapatkan dari percobaan ribuan kalo yang dilakukan untuk memecahkan kode enigma ini. 
·         Metode Lembar Berlubang Zygalski
Metode ini berdasar fakta bahwa dari semua kemungkinan posisi rotor, 40% pasti permutasi AD. Yang kemudian berkahir dengan ditemukannya posisi roda pada setiap siklus. Namun pada akhirnya metode ini tidak berhasil untuk digunakan, karena banyaknya waktu dan biaya yang dibutuhkan untuk membuat kertas berlubang untuk setiap kombinasi roda. 
·         Metode Katalog Karakteristik 
Metode ini didasarkan pada fakta bahwa permutasi AD, BE, dan CF tidak ditentukan oleh kombinasi plugboard, dan hanya ditentukan oleh posisi-posisi roda rotor yang digunakan. Yang kemudian dapat dimodelkan dalah bentuk permutasi disjungtif :
.
·         Bombe
Alat yang dibuat oleh Alan Turing dari Inggris ini dirancang supaya walau Jerman mengubah standar operasi mereka, dengan teknik-teknik yang sudah ditemukan, tetap dapat memecahkan kode dari mesin enigma.  Hal yang mendasari kerja bombe adalah sifat yang disebabkan oleh reflector pada mesin enigma, di mana terjadi enkripsi yang resiprok, yang kemudian berhasil diturunkan sehingga posisi dari roda-roda tersebut dapat ditebak dengan memperhitungkan hal tersebut, hanya saja waktu yang diperlukan cukup lama jika dilakukan secara manual seperto sebelum- sebelumnya.   Maka dibuatlah bombe sebagai alat mekanik untuk mengotomatisasi pekerjaan tersebut. 

Kesimpulan
Enigma adalah sebuah mesin enkripsi yang hanya menggunakan substitusi, namun karena dilakukan dalam sebuah rangkaian dan dengan bermacam-macam cara setiap substitusi dilakukan, maka enkripsi yang dihasilkan sangatlah bagus, bahkan sampe pihak Jerman waktu itu meyakini bahwa kode tersebut tidak mungkin dipecahkan oleh siapapun.  Dan akhirnya kode tersebut dapat dipecahkan, walaupun dengan memakan waktu yang sangat lama dan usaha yang luar biasa. Jadi dapat disimpulkan bahwa semua teknik enkripsi dapat dikuak, dan kode hasil enkripsi tentu saja dapat dipecahkan. Tidak ada kode enkripsi yang tidak dapat dipecahkan.

Desain dan Analisis Keamanan Jaringan 4-1


Vigenere Cipher dan Hill Cipher
Kriptografi merupakan suatu ilmu yang digunakan untuk mengamankan pengiriman pesan rahasia. Salah satu cara yang dapat digunakan adalah dengan menyandikan pesan rahasia menjadi kode-kode yang tidak dapat dipahami oleh pihak penyerang.
Untuk memahami Kriptografi, maka terlebih dahulu kita memahami kriptografi klasik yang menggunakan perhitungan sederhana, yaitu Shift Cipher, Vigenere Cipher dan Hill Cipher.
1.       Vigenere Cipher

Algoritma kriptografi (cipher) klasik Vigenère merupakan salah satu contoh terbaik dari cipher abjadmajemuk. Vigenère Cipher yang dikenal luas sekarang pertama kali disebutkan oleh Giovan Battista Bellaso pada tahun 1553 di bukunya La Cifra del. Sig. Giovan Battista Bellaso.  Baru kemudian pada tahun 1586, Blaise de Vigenère menerbitkan algoritma yang mirip tetapi dengan autokey yang lebih kuat.

·         Sejarah Vigenere Cipher

Kemudian pada abad 19 cipher tersebut disalah persepsikan sebagai penemuan Vigenère. Karena itulah hingga kini cipher tersebut lebih dikenal dengan nama Vigenère cipher. Vigenère Cipher terkenal karena kesulitannya untuk dipecahkan. Pada abad ke-19 bahkan sempat mendapat predikat unbreakable cipher atau cipher yang tidak terpecahkan, hingga akhirnya berhasil dipecahkan oleh Kasiski, pada abad yang sama.

Vigenère Cipher populer ketika digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War). Pihak Union berhasil memenangkan perang tersebut karena keberhasilannya memecahkan kode-kode rahasia hasil Vigenère Cipher dari pihak Konfiderasi.

·         Vigenere Cipher

Termasuk ke dalam cipher abjadmajemuk (polyalpabetic substitution cipher). Algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut kemudian dinamakan Vigènere Cipher. Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi.  Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar Cipher.



Vigenere Cipher merupakan pengembangan dari shift cipher. Dalam vigenere cipher, kunci yang digunakan berupa beberapa pergeseran yang direpresentasikan dengan suatu kata kunci. Diberikan kata kunci K = k1k2...km, plainteks x = x1x2...xm dan cipherteks y = y1y2...ym.
Proses enkripsi diberikan dalam fungsi
eK(x) = ((x1 + k1) mod 26, (x2 + k2) mod 26,..., (xm + km) mod 26)
dan proses dekripsi diberikan dalam fungsi
dK(y) = ((y1 - k1) mod 26, (y2 - k2) mod 26,..., (ym - km) mod 26)
Sebagai contoh, diberikan plainteks “selamat belajar kriptografi” dan kunci “rahasia”,
maka diperoleh cipherteks “jesaeit sesabir brpplwgiami”.

Contoh penerapan Vigènere Cipher : 
Plainteks                : THIS PLAINTEXT
Kunci                      : sony sonysonys
Cipherteks              : LVVQ HZNGFHRVL

o    Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik. Dalam hal ini Kunci “sony” diulang sebanyak panjang plaintext-nya.
o    Pada dasarnya, setiap enkripsi huruf adalah Caesar cipher dengan kunci yang berbeda-beda.

c(‘T’) = (‘T’ + ‘s’) mod 26 = L
T = 20 dan s= 19 à (20+19)%26=13 à L
c(‘H’) = (‘H’ + ‘o’) mod 26 = V, dst

Vigènere Cipher dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti pada cipher abjad-tunggal.  Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan menulis program komputer untuk melakukan exhaustive key search.

Contoh:

Diberikan cipherteks sbb:
TGCSZ GEUAA EFWGQ AHQMC

diperoleh informasi bahwa panjang kunci adalah p huruf dan plainteks ditulis dalam Bahasa Inggris, maka running program dengan mencoba semua kemungkinan kunci yang panjangnya tiga huruf, lalu periksa apakah hasil dekripsi dengan kunci tersebut menyatakan kata yang berarti. Cara ini membutuhkan usaha percobaan sebanyak 26p kali.


2.       Hill Cipher

Hill memperkenalkan teknik persandiannya pertama kali pada prosiding American Mathematical Monthly, 36, Juni-Juli 1929 oleh Lester S.Hill. Teknik ini termuat dalam papernya yang berjudul ”Cryptography in Algebraic Alphabet”. Pada masanya, Hill Cipher diterapkan untuk menyandikan 26 huruf abjad. Kunci yang digunakan berupa matriks persegi atas Z26 yang determinannya invertibel pada Z26.

Di lain pihak, diketahui bahwa matriks bujur sangkar dapat diinverskan jika dan hanyajika nilai determinannya tidak sama dengan 0 atau disebut juga matriks nonsingular.  Yang lebih menarik lagi, himpunan matriks-matriks nonsingular dapat membentuk suatu grup matriks. Beberapa literatur menyebutnya grup linear umum.

Kunci pada hill cipher adalah matriks n x n dengan n merupakan ukuran blok. Jika matriks kunci kita sebut dengan K, maka matriks K adalah sebagai berikut :

Matriks K yang menjadi kunci ini harus merupakan matriks yang invertible, yaitu memiliki multiplicative inverse K-1 sehingga : K . K-1 = 1

Salah satu algoritma kriptografi klasik yang menunjukkan adanya peran aljabar linear pada bidang kriptologi adalah Hill Cipher.  Hill Cipher termasuk algoritma kriptografi kunci simetris. Teknik kriptografi ini menggunakan sebuah matriks bujur sangkar sebagai kunci yang digunakan untuk melakukan enkripsi dan dekripsi.

Hill cipher merupakan polygraphic substitution yang dapat mengkombinasikan lebih banyak huruf secara berturut-turut menggunakan aljabar linier.  Tiap-tiap huruf diperlakukan sebagai sebuah digit dalam basis 26, misalnya A = 0, B = 1, C = 3 dst.  Sebuah blok dari n huruf dinyatakan sebagai vektor dimensi n, dan dikalikan dengan matriks nxn, modulo 26.

Komponen matriks merupakan kunci, dipilih random dengan syarat merupakan matriks invertibel untuk memastikan bahwa dekripsi mungkin dilakukan.  Misalnya diambil sebuah kunci matriks berukuran 3x3



Jika akan dienkripsi sebuah pesan ‘CAT’, dimana C = 2, A=0 dan T =19, maka pesan diubah dalam bentuk matriks berukuran 3x1 dan akan dienkripsi menjadi
Matriks      , dikonversikan dalam bentuk huruf/abjad menjadi ‘FIN’, sehingga pesan ‘CAT’ setelah dienkripsi menjadi pesan ‘FIN’.