Jenis-jenis Chiper Subsbtitusi

  1. a. Chiper abjad-tunggal (monoalphabetic chiper atau chiper substitusi sederhana – simple substitution chiper)

Satu karakter di plainteks diganti dengan satu karakter yang bersesuaian. Jadi, fungsi chipering-nya adalah fungsi satu-ke-satu.

Jika plainteks terdiri dari huruf-huruf abjad, maka jumlah kemungkinan susunan huruf-huruf chiperteks yang dapat dibuat adalah sebanyak

26! = 403.291.461.126.605.635.584.000.000

Caesar chiper adalah kasus khusus dari  chiper abjad tunggal di mana susunan huruf chiperteks diperoleh dengan menggeser huruf-huruf alfabet sejauh 3 karakter.

ROT13 adalah program enkripsi sederhana yang ditemukan pada sistem UNIX. ROT13 menggunakan chiper abjad-tunggal dengan pergeseran k = 13 (jadi, huruf A diganti dengan N, B diganti dengan O, dan seterusnya).

Enkripsi arsip dua kali dengan ROT13 menghasilkan arsip semula:

P = ROT13(ROT13(P))

  1. b. Chiper substitusi homofonik (Homophonic substitution chiper)

Seperti chiper abjad-tunggal, kecuali bahwa setiap karakter di dalam plainteks dapat dipetakan ke dalam salah satu dari karakter chiperteks yang mungkin. Misalnya huruf A dapat berkoresponden dengan 7, 9, atau 16, huruf B dapat berkoresponden dengan 5, 10, atau 23 dan seterusnya.

Fungsi chipering-nya memetakan satu-ke-banyak (one-to-many).

Chiper substitusi homofonik digunakan pertama kali pada tahun 1401 oleh wanita bangsawan Mantua.

Chiper substitusi homofonik lebih sulit dipecahkan daripada chiper abjad-tunggal. Namun, dengan known-plaintext attack, chiper ini dapat dipecahkan, sedangkan dengan chipertext-only attack lebih sulit.

  1. Chiper abjad-majemuk (Polyalpabetic substitution chiper )

Merupakan chiper substitusi-ganda (multiple-substitution chiper) yang melibatkan penggunaan kunci berbeda.

Chiper abjad-majemuk dibuat dari sejumlah chiper abjad-tunggal, masing-masing dengan kunci yang berbeda.

Kebanyakan chiper abjad-majemuk adalah chiper substitusi periodik yang didasarkan pada periode m.

Misalkan plainteks P adalah

P = p1p2pmpm+1p2m

maka chiperteks hasil enkripsi adalah

Ek(P) = f1(p1) f2(p2) … fm(pm) fm+1(pm+1) … f2m(p2m) …

yang dalam hal ini pi adalah huruf-huruf di dalam plainteks.

Untuk m = 1, chiper-nya ekivalen dengan chiper abjad-tunggal.

Contoh chiper substitusi periodik adalah chiper Vigenere yang ditemukan oleh kriptologi Perancis, Blaise de Vigenere pada abad 16. Misalkan K adalah deretan kunci

K = k1 k2km

yang dalam hal ini ki untuk 1 £ i £ m menyatakan jumlah pergeseran pada huruf ke-i. Maka, karakter chiperteks yi(p) adalah

yi(p) = (p + ki) mod n (5)

Misalkan periode m = 20, maka 20 karakter pertama dienkripsi dengan persamaan (5), dimana setiap karakter ke-i menggunakan kunci ki. Untuk 20 karakter berikutnya, kembali menggunakan pola enkripsi yang sama.

Chiper abjad-majemuk ditemukan pertama kali oleh Leon Battista pada tahun 1568. Metode ini digunakan oleh tentara AS selama Perang Sipil Amerika.

Meskipun chiper abjad-majemuk dapat dipecahkan dengan mudah (dengan bantuan komputer), namun anehnya banyak program keamanan komputer (computer security) yang menggunakan chiper jenis ini.

  1. Chiper substitusi poligram (Polygram substitution chiper )

Blok karakter disubstitusi dengan blok chiperteks. Misalnya ABA diganti dengan RTQ, ABB diganti dengan SLL, dan lain-lain.

Playfair chiper, ditemukan pada tahun 1854, termasuk ke dalam chiper substitusi poligram dan digunakan oleh negara Inggris selama Perang Dunia I.

2.  Chiper Transposisi

  • Pada chiper transposisi, plainteks tetap sama, tetapi urutannya diubah. Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks.
  • Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.

Contoh 4. Misalkan plainteks adalah

DEPARTEMEN TEKNIK INFORMATIKA ITB

Untuk meng-enkripsi pesan, plainteks ditulis secara horizontal dengan lebar kolom tetap, misal selebar 6 karakter (kunci k = 6):

DEPART

EMENTE

KNIKIN

FORMAT

IKAITB

maka chiperteksnya dibaca secara vertikal menjadi

DEKFIEMNOKPEIRAANKMIRTIATTENTB

Untuk mendekripsi pesan, kita membagi panjang chiperteks dengan kunci. Pada contoh ini, kita membagi 30 dengan 6 untuk mendapatkan 5.

Algoritma dekripsi identik dengan algoritma enkripsi. Jadi, untuk contoh ini, kita menulis chiperteks dalam baris-baris selebar 5 karakter menjadi:

DEKFI

EMNOK

PEIRA

ANKMI

RTIAT

TENTB

Dengan membaca setiap kolom kita memperoleh pesan semula:

DEPARTEMEN TEKNIK INFORMATIKA ITB

Variasi dari metode transposisi lainnya ditunjukkan pada Contoh 5 dan Contoh 6.

Contoh 5. Misalkan plainteks adalah

ITB GANESHA SEPULUH

Plainteks diblok atas delapan karakter. Kemudian, pada tiap blok, karakter pertama dan karakter terakhir dipertukarkan, demikian juga karakter pertengahan:

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
I T B G A N E S H A S E P U L U H
E T B G A N I U H A S E P S U H L
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

maka chiperteksnya adalah

ETBG ANIUHAS EPS UH    L

Dekripsi dilakukan dengan cara yang sama, yaitu chiperteks  diblok atas delapan karakter. Kemudian, pada tiap blok, karakter pertama dan karakter terakhir dipertukarkan, demikian juga karakter pertengahan.

Contoh 6. Misalkan plainteks adalah

CRYPTOGRAPHY AND DATA SECURITY

Plainteks disusun menjadi 3 baris (k = 3) seperti di bawah ini:

C   T    A   A     A    E     I

R  P O R P Y  N  D  T  S  C  R  T

Y    G    H   D     A     U   Y

maka chiperteksnya adalah

CTAAAEIRPORPYNDTSCRTYGHDAUY

  • Kriptografi dengan alat scytale yang digunakan oleh tentara Sparta pada zaman Yunani termasuk ke dalam chiper transposisi.

Lebih Jauh Dengan Chiper Abjad-tunggal

  • Seperti sudah disebutkan sebelum ini, metode chiper abjad-tunggal mengganti setiap huruf di dalam abjad dengan sebuah huruf lain dalam abjad yang sama.
  • Jumlah kunci di dalam chiper abjad-tunggal sama dengan jumlah cara menyusun 26 huruf abjad tersebut, yaitu sebanyak

26! = 403.291.461.126.605.635.584.000.000

Ini berarti terdapat 26! buah kunci untuk menyusun huruf-huruf alfabet ke dalam tabel substitusi.

  • Contohnya, susunan guruf-huruf untuk chiperteks diperoleh dengan menyusun huruf-huruf abjad secara acak seperti tabel substitusi berikut:

Tabel substitusi:

pi : 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

ci : D I Q M T B Z S Y K V O F E R J A U W P X H L C N G

  • Satu cara untuk membangkitkan kunci adalah dengan sebuah kalimat yang mudah diingat.

Misal kuncinya adalah

we hope you enjoy this book

Dari kunci tersebut, buang perulangan huruf sehingga menjadi

wehopyunjtisbk

lalu sambung dengan huruf-huruf lain yang tidak terdapat di dalam kalimat tersebut sehingga menjadi

W E H O P Y U N J T I S B K A C D F G L M Q R V X Z

Dengan demikian, tabel substitusi yang diperoleh adalah

Tabel substitusi:

pi : 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

ci : W E H O P Y U N J T I S B K A C D F G L M Q R V X Z

Menerka Plainteks dari Chiperteks

  • Kadang-kadang kriptanalis melakukan terkaan untuk mengurangi jumlah kunci yang mungkin ada.
  • Terkaan juga dilakukan kriptanalis untuk memperoleh sebanyak mungkin plainteks dari potongan chiperteks yang disadap. Plainteks yang diperoleh dari hasil terkaan ini biasanya digunakan dalam known-plaintext attack.
  • Asumsi yang digunakan: kriptanalis mengetahui bahwa pesan ditulis dalam Bahasa Inggris dan algoritma kriptografi yang digunakan adalah chiper abjad-tunggal.

Contoh kasus 1: Kriptanalis mempunyai potongan chiperteks

G WR W RWL

Karena hanya ada dua kata yang panjangnya satu huruf dalam Bahasa Inggris (yaitu I dan A), maka G mungkin menyatakan huruf A dan W menyatakan huruf I, atau sebaliknya.

Kemungkinan G adalah huruf A dapat dieliminasi, maka diapstikan G = I, sehingga dengan cepat kriptanalis menyimpulkan bahwa potongan chiperteks tersebut adalah

I AM A MA*

Dengan pengetahuan Bahasa Inggris, karakter terakhir (*) hampir dipastikan adalah huruf N, sehingga kalimatnya menjadi

I AM A MAN

Hasil ini mengurangi jumlah kunci dari 26! menjadi 22!

Contoh kasus 2: Kriptanalis mempunyai potongan chiperteks

HKC

Tidak banyak informasi yang dapat disimpulkan dari cryptogram di atas. Namun kriptanalis dapat mengurangi beberapa kemungkinan kunci, karena –sebagai contoh–    tidak mungkin Z diganti dengan H, Q dengan K, dan K dengan C.

Namun, jumlah kemungkinan kunci yang tersisa tetap masih besar. Jika pesan yang dikirim memang hanya tiga huruf, maka exhaustive key search akan menghasilkan kata dengan tiga huruf berbeda yang potensial sebagai plainteks.

Contoh kasus 3: Kriptanalis mempunyai potongan chiperteks

HATTPT

Dalam hal ini, kriptanalis dapat membatasi jumlah kemungkinan huruf plainteks yang dipetakan menjadi T.

Kriptanalis mungkin mendeduksi bahwa salah satu dari T atau P merepresentasikan huruf vokal. Kemungkinan plainteksnya adalah CHEESE, MISSES, dan CANNON.

Contoh kasus 4: Kriptanalis mempunyai potongan chiperteks

HATTPT

dan diketahui informasi bahwa pesan tersebut adalah nama negara. Dengan cepat kriptanalis menyimpulkan bahwa polygram tesrebut adalah GREECE.

Dalam hal ini, kriptanalis dapat membatasi jumlah kemungkinan huruf plainteks yang dipetakan menjadi T.

Kriptanalis mungkin mendeduksi bahwa salah satu dari T atau P merepresentasikan huruf vokal. Kemungkinan plainteksnya adalah CHEESE, MISSES, dan CANNON.

Metode Statistik dalam Kriptanalisis

  • Metode yang paling umum digunakan dalam memecahkan chiperteks adalah menggunakan statistik.
  • Dalam hal ini, kriptanalis menggunakan tabel frekuensi kemunculan huruf-huruf dalam teks bahasa Inggris. Tabel 2 memperlihatkan frekuensi kemunculan huruf-huruf abjad yang diambil dari sampel yang mencapai 300.000 karakter di dalam sejumlah novel dan suratkabar.

Tabel 2. Frekunsi kemunculan (relatif) huruf-huruf

dalam teks Bahasa Inggris

Huruf % Huruf %
A
B

C

D

E

F

G

H

I

J

K

L

M

8,2

1,5

2,8

4,2

12,7

2,2

2,0

6,1

7,0

0,1

0,8

4,0

2,4

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

6,7

7,5

1,9

0,1

6,0

6,3

9,0

2,8

1,0

2,4

2,0

0,1

0,1

  • Tabel 2 di atas pada mulanya dipublikasikan di dalam Chiper-Systems: The Protection of Communications dan dikompilasi oleh H. J. Beker dan F.C. Piper
  • Terdapat sejumlah tabel frekuensi sejenis yang dipublikasikan oleh pengarang lain, namun secara umum persentase kemunculan tersebut konsisten pada sejumlah tabel.
  • Bila chiper abjad-tunggal digunakan untuk meng-engkripsi pesan, maka kemunculan huruf-huruf di dalam plainteks tercermin pada tabel 2 di atas. Misalnya bila di dalam chiper abjad-tunggal huruf R menggantikan huruf E, maka frekuensi R di dalam chiperteks sama dengan frekuensi E di dalam plainteksnya.

Contoh 7. Misalnya terdapat chiperteks yang panjang sebagai berikut:

DIX DR TZX KXCQDIQ RDK XIHPSZXKPIB TZPQ TXGT

PQ TD QZDM TZX KXCJXK ZDM XCQPVN TZPX TNSX DR

HPSZXK HCI LX LKDUXI. TZX MDKJ QTKFHTFKX DR

TZX SVCPITXGT ZCQ LXXI SKXQXKWXJ TD OCUX TZX XGXKHPQX XCQPXK. PR MX ZCJ MKPTTXI TZX. HKNSTDBKCOPI BKDFSQ DR RPWX VXTTXKQ TZXI PT

MDFVJ ZCWX LXXI ZCKJXK. TD HDIWPIHX

NDFKQXVWXQ DR TZPQ SCPKQ SCPKQ DR KXCJXKQ

HCI SKDWPJX XCHZ DTZXK MPTZ HKNSTDBKCOQ

MPTZ TZPQ VXTTXK BKDFSIB