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[1]
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
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
| Posisi |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
| Alfabet A |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
| Alfabet C |
E |
M |
Y |
S |
T |
A |
N |
I |
G |
H |
B |
C |
D |
F |
J |
| Posisi |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
| Alfabet A |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
| Alfabet C |
K |
L |
O |
P |
Q |
R |
U |
V |
W |
X |
Z |
b. Nilai posisi dari karekter pada plaintext adalah sebagai berikut.
c. Posisi Pada Alfabet A digunakan untuk mencari karakter pada alfabet C.
| Plaintext |
C |
R |
Y |
P |
T |
O |
G |
R |
A |
P |
H |
Y |
| Posisi Pada Alfabet A |
3 |
18 |
25 |
16 |
20 |
15 |
7 |
18 |
1 |
16 |
8 |
25 |
| Posisi Pada Alfabet C |
3 |
18 |
25 |
16 |
20 |
15 |
7 |
18 |
1 |
16 |
8 |
25 |
| Ciphertext |
Y |
O |
X |
K |
Q |
J |
N |
O |
E |
K |
I |
X |
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
| Posisi |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
| Alfabet C |
E |
M |
Y |
S |
T |
A |
N |
I |
G |
H |
B |
C |
D |
F |
J |
| Alfabet A |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
| Posisi |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
| Alfabet C |
K |
L |
O |
P |
Q |
R |
U |
V |
W |
X |
Z |
| Alfabet A |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
b. Nilai posisi dari karakter pada ciphertext adalah sebagai berikut.
| Ciphertext |
Y |
O |
X |
K |
Q |
J |
N |
O |
E |
K |
I |
X |
| Posisi Pada Alfabet C |
3 |
18 |
25 |
16 |
20 |
15 |
7 |
18 |
1 |
16 |
8 |
25 |
c. Posisi pada alfabet C digunakan untuk mencari karakter pada alfabet A.
| Posisi Pada Alfabet A |
3 |
18 |
25 |
16 |
20 |
15 |
7 |
18 |
1 |
16 |
8 |
25 |
| Plaintext |
C |
R |
Y |
P |
T |
O |
G |
R |
A |
P |
H |
Y |
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