Sandi substitusi

Dalam kriptografi, sandi substitusi adalah jenis metode enkripsi di mana setiap satuan pada teks terang digantikan oleh teks tersandi dengan sistem yang teratur; suatu "satuan" dapat berarti satu huruf (paling umum), pasangan huruf, suku kata, kata, dan sebagainya. Sang penerima pesan baru dapat membaca pesan tersebut setelah melakukan substitusi balik terlebih dahulu. Pada sandi substitusi, satuan-satuan pada teks terang diubah tetapi susunannya tetap. Kebalikannya adalah sandi transposisi, di mana satuan-satuan teks terang susunannya diacak sedemikian rupa sehingga tidak dapat terbaca, tetapi tidak mengubah atau menyubstitusi huruf-huruf tersebut.

Sandi substitusi juga dikelompokkan menjadi berbagai jenis. Jika sandi tersebut menyubstitusi huruf demi huruf, maka ia disebut sandi substitusi sederhana; jika menyubstitusi dengan urutan yang lebih besar disebut sandi substitusi poligraf. Sebuah sandi substitusi monoalfabetik menggunakan pola substitusi yang tetap di seluruh pesan (misal: sandi Caesar), sedangkan sandi substitusi polialfabetik menggunakan substitusi yang berbeda-beda sepanjang pesan (misal: sandi Vigenère).

 Substitusi sederhana 
Substitusi satu huruf secara terpisah (substitusi sederhana) dapat dilakukan dengan menuliskan seluruh alfabet pada urutan tertentu untuk menggambarkan penggantian / substitusi. Alfabet sandi dapat digeser (sandi Caesar) atau dibalik (sandi Atbash), maupun diacak dengan lebih rumit.

 Sistem 
Pada cipher-substitusi, enkripsi (pengkodean) dilakukan dengan cara mengganti setiap karakter dalam plaintext, yaitu dari alfabet A dengan alfabet C.

Misalkan jika dipunyai dalam suatu alfabet A: a1, a2, a3, a4 ...., an’ maka substitusinya adalah: f(a1), f(a2), ..., f(an), di mana f adalah: A → C

Ini didasarkan pada penggunaan konsep injektif dan objektif. Maka di dalam hal ini, A tidak harus sama dengan C.

 Alfabet A: 0, 1, 2, 3, ..., 9, A, B, C, D, E, F
 Alfabet C: a, b, c, d, e, ..., p.

Alfabet A dan C dapat juga merupakan suatu karakter, di mana alfabet A berisi urutan dari alfabet A-Z, sedangkan alfabet C atau alfabet substitusi merupakan urutan karakter yang didapat dengan beberapa cara berikut.

 Urutan awal dibentuk dari karakter pada kata kunci

Urutan awal dibentuk dari karakter pada kata kunci dengan mengambil karakter yang berbeda (bila ada duplikasi, karakter itu tidak perlu dimasukkan ke dalam urutan). Urutan selanjutnya adalah urutan karakter alfabet berikutnya yang belum digunakan pada kunci(Sasongko, 2005)

Berikut ini adalah tips untuk membuat kuncinya. a. Buat kunci dari sembarang kalimat: BELAJAR KRIPTOGRAFI SANGAT MENYENANGKAN

b. Buang karakter yang berulang: BELAJRKIPTOGFSNMY

c. Sambungkan dengan karakter lain yang belum ada: B E L A J R K I P T O G F S N M Y C D H Q U V W X Z

 Cara Engkripsi

Langkah-langkah enkripsinya adalah sebagai berikut:

a. Tentukan alfabet A, yaitu urutan dari alfabet A-Z.

b. Tentukan alfabet C, yaitu urutan yang diawali dengan karakter yang tidak sama pada kunci K dan diikuti oleh urutan karakter alfabet lain yang belum digunakan pada kunci.

c. Ciphertext didapatkan dengan menggunakan posisi pada alfabet A untuk mencari karakter pada alfabet C.

Contoh: Plaintext: CRYPTOGRAPHY Proses enkripsi menggunakan kunci EMY SETYANINGSIH.

a. Menentukan alfabet A dan C
Posisi123456789101112131415Alfabet AABCDEFGHIJKLMNOAlfabet CEMYSTANIGHBCDFJ
Posisi1617181920212223242526Alfabet APQRSTUVWXYZAlfabet CKLOPQRUVWXZ
b. Nilai posisi dari karekter pada plaintext adalah sebagai berikut.

c. Posisi Pada Alfabet A digunakan untuk mencari karakter pada alfabet C.
PlaintextCRYPTOGRAPHYPosisi Pada Alfabet A31825162015718116825
Posisi Pada Alfabet C31825162015718116825CiphertextYOXKQJNOEKIX
d. Ciphertext: YOXKQJNOEKIX M-file untuk memanggil fungsi enkripsi dengan metode cipher substitusi disertakan dalam lampirn dengan nama substitusi.m. Sintaks pemanggilan pada command Window adalah >>substitusi

Hasil tampilan outputnya adalah

>>substitusi Plaintext: 'CRYPTOGRAPHY'

Kunci :'EMY SETYANINGSIH'

Cipherteks: YOXKQJNOEKIX

Hasil enkripsi data teks menggunakan metode cipher substitusi.

Berikut adalah langkah-langkah untuk enkripsi data teks.

a. Tentukan alfabet C, yaitu urutan yang diawali dengan karakter yang tidak sama pada kunci K dan dikuti oleh urutan karakter alfabet lainnya yang belum digunakan pada kunci

b. Tentukan alfabet A yaitu urutan dari alfabet A-Z.

c. Cari posisi karakter ciphertext di alfabet C untuk mencari karakter pada alfabet A

Contoh C Ciphertext: YOXKQJNOEKIX dengan K = EMY SETYANINGSIH

Proses dekripsi dilakukan dengan langkah-langkah berikut: a. Menentukan Alfabet A dan C
Posisi123456789101112131415Alfabet CEMYSTANIGHBCDFJAlfabet AABCDEFGHIJKLMNO
Posisi1617181920212223242526Alfabet CKLOPQRUVWXZAlfabet APQRSTUVWXYZ
b. Nilai posisi dari karakter pada ciphertext adalah sebagai berikut.
CiphertextYOXKQJNOEKIXPosisi Pada Alfabet C31825162015718116825
c. Posisi pada alfabet C digunakan untuk mencari karakter pada alfabet A.
Posisi Pada Alfabet A31825162015718116825PlaintextCRYPTOGRAPHY
d. Plaintext: CRYPTOGRAPHY M-file untuk memanggil fungsi dekripsi dengan metode cipher substitusi deisertakan dalam lampiran dengan nama dekrip_substitusi.m. Sintaks pemanggilan pada command window adalah >> dekrip_substitusi

Hasil tampilan output

>> dekrip_substitusi Ciphertext: YOXKQJNOEKIX

Kunci : EMY SETYANINGSIH

Plainteks : CRYPTOGRAPHY

 Lihat pula 
 Kriptografi

 Referensi 

Kategori:Sandi sederhana