Metode Enkripsi

Enkripsi
Di bidang kriptografi, enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Di pertengahan tahun 1970-an, enkripsi kuat dimanfaatkan untuk pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti Internet e-commerce, jaringan Telepon bergerak dan ATM pada bank.
Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message Authentication Code (MAC) atau digital signature. Penggunaan yang lain yaitu untuk melindungi dari analisis jaringan komputer.



Secara singkat, proses enkripsi adalah proses mengubah teks terang menjadi teks tersandi.
Ciphers
Sebuah cipher adalah sebuah algoritma untuk menampilkan enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur. Alternatif lain ialah encipherment. Informasi yang asli disebuh sebagai plaintext, dan bentuk yang sudah dienkripsi disebut sebagai chiphertext. Pesan chipertext berisi seluruh informasi dari pesan plaintext, tetapi tidak dalam format yang didapat dibaca manusia ataupun komputer tanpa menggunakan mekasnisme yang tepat untuk melakukan dekripsi.
Cipher pada biasanya memiliki parameter dari sebagian dari informasi utama, disebut sebagai kunci. Prosedur enkripsi sangat bervariasi tergantung pada kunci yang akan mengubah rincian dari operasi algoritma. Tanpa menggunakan kunci, chiper tidak dapat digunakan untuk dienkirpsi ataupun didekripsi.
Cipher versus code
Pada penggunaan non teknis, sebuah secret code merupakan hal yang sama dengan cipher. Berdasar pada diskusi secara teknis, bagaimanapun juga, code dan cipher dijelaskan dengan dua konsep. Code bekerja pada tingkat pemahaman, yaitu, kata atau frasa diubah menjadi sesuatu yang lain. Cipher, dilain pihak, bekerja pada tingkat yang lebih rendah, yaitu, pada tingkat masing-masing huruf, sekelompok huruf, pada skema yang modern, pada tiap-tiap bit. Beberapa sistem menggunakan baik code dan cipher dalam sistem yang sama, menggunakan superencipherment untuk meningkatkan keamanan.
Menurut sejarahnya, kriptografi dipisah menjadi dikotomi code dan cipher, dan penggunaan code memiliki terminologi sendiri, hal yang sama pun juga terjadi pada cipher: "encoding, codetext, decoding" dan lain sebagainya. Bagaimanapun juga, code memiliki berbagai macam cara untuk dikembalikan, termasuk kerapuhan terhadap kriptoanalisis dan kesulitan untuk mengatur daftar kode yang susah. Oleh karena itu, code tidak lagi digunakan pada kriptografi modern, dan cipher menjadi teknik yang lebih dominan.
Tipe-tipe cipher
ADa banyak sekali variasi pada tipe enkripsi yang berbeda. Algoritma yang digunakan pada awal sejarah kriptografi sudah sangat berbeda dengan metode modern, dan cipher modern dan diklasifikasikan berdasar pada bagaimana cipher tersebut beroperasi dan cipher tersebut menggunakan sebuah atau dua buah kunci.




Sejarah Cipher pena dan kertas pada waktu lampau sering disebut sebagai cipher klasik. Cipher klasik termasuk juga cipher pengganti dan cipher transposisi. Pada awal abad 20, mesin-mesin yang lebih mutakhir digunakan untuk kepentingan enkripsi, mesin rotor, merupkan skema awal yang lebih kompleks.
Metode enkripsi dibagi menjadi algoritma symmetric key dan algoritma asymmetric key. pada algoritma symmetric key (misalkan, DES dan AES), pengirim dan penerima harus memiliki kunci yang digunakan bersama dan dijaga kerahasiaanya. Pengirim menggunkan kunci ini untuk enkripsi dan penerima menggunakan kunci yang sama untuk dekripsi. Pada algoritma asymmetric key (misalkan, RSA), terdapat dua kunci terpisah, sebuah public key diterbitkan dan membolehkan siapapun pengirimnya untuk melakukan enkripsi, sedangkan sebuah private key dijaga kerahasiannya oleh penerima dan digunakan untuk melakukan dekripsi.
Cipher symmetric key dapat dibedakan dalam dua tipe, tergantung pada bagaimana cipher tersebut bekerja pada blok simbol pada ukuran yang tetap (block ciphers), atau pada aliran simbol terus-menerus (stream ciphers).

4. Sistem Chiper Klasik

(Algoritma Kriptografi yang Bersejarah)

Sebelum komputer ada, kriptografi dilakukan dengan algoritma berbasis karakter.

Algoritma yang digunakan termasuk ke dalam sistem kriptografi simetri dan digunakan jauh sebelum sistem kriptografi kunci publik ditemukan.

Terdapat sejumlah algoritma yang tercatat dalam sejarah kriptografi (sehingga dinamakan algoritma kriptografi klasik), namun sekarang algoritma tersebut sudah usang karena ia sangat mudah dipecahkan.

Tiga alasan mempelajari algoritma kriptografi klasik:

1. Untuk memberikan pemahaman konsep dasar kriptografi.

2. Dasar dari algoritma kriptografi modern.

3. Dapat memahami potensi-potensi kelemahan sistem chiper.

Algoritma kriptografi klasik:

1. Chiper Substitusi (Substitution Chipers)

2. Chiper Transposisi (Transposition Chipers)

1. Chiper Substitusi

· Ini adalah algoritma kriptografi yang mula-mula digunakan oleh kaisar Romawi, Julius Caesar (sehingga dinamakan juga caesar chiper), untuk menyandikan pesan yang ia kirim kepada para gubernurnya.

· Caranya adalah dengan mengganti (menyulih atau mensubstitusi) setiap karakter dengan karakter lain dalam susunan abjad (alfabet).

· Misalnya, tiap huruf disubstitusi dengan huruf ketiga berikutnya dari susunan akjad. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu k = 3).

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

Contoh 1. Pesan

AWASI ASTERIX DAN TEMANNYA OBELIX

disamarkan (enskripsi) menjadi

DZDVL DVWHULA GDQ WHPDQQBA REHOLA

Penerima pesan men-dekripsi chiperteks dengan menggunakan tabel substitusi, sehingga chiperteks

DZDVL DVWHULA GDQ WHPDQQBA REHOLA

dapat dikembalikan menjadi plainteks semula:

AWASI ASTERIX DAN TEMANNYA OBELIX

· Dengan mengkodekan setiap huruf abjad dengan integer sebagai berikut: A = 0, B = 1, …, Z = 25, maka secara matematis caesar chiper menyandikan plainteks pi menjadi ci dengan aturan:

ci = E(pi) = (pi + 3) mod 26 (1)

dan dekripsi chiperteks ci menjadi pi dengan aturan:

pi = D(ci) = (ci – 3) mod 26 (2)

· Karena hanya ada 26 huruf abjad, maka pergeseran huruf yang mungkin dilakukan adalah dari 0 sampai 25. Secara umum, untuk pergeseran huruf sejauh k (dalam hal ini k adalah kunci enkripsi dan deksripsi), fungsi enkripsi adalah

ci = E(pi) = (pi + k) mod 26 (3)

dan fungsi dekripsi adalah

pi = D(ci) = (ci k) mod 26 (4)

Catatan:

1. Pergeseran 0 sama dengan pergeseran 26 (susunan huruf tidak berubah)

2. Pergeseran lain untuk k > 25 dapat juga dilakukan namun hasilnya akan kongruen dengan bilangan bulat dalam modulo 26. Misalnya k = 37 kongruen dengan 11 dalam modulo 26, atau 37 º 11 (mod 26).

3. Karena ada operasi penjumlahan dalam persamaan (3) dan (4), maka caesar chiper kadang-kadang dinamakan juga additive chiper.

Kriptanalisis Terhadap Caesar Chiper

Caesar chiper mudah dipecahkan dengan metode exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).

Contoh 2. Misalkan kriptanalis menemukan potongan chiperteks (disebut juga cryptogram) XMZVH. Diandaikan kriptanalis mengetahui bahwa plainteks disusun dalam Bahasa Inggris dan algoritma kriptografi yang digunakan adalah caesar chiper. Untuk memperoleh plainteks, lakukan dekripsi mulai dari kunci yang terbesar, 25, sampai kunci yang terkecil, 1. Periksa apakah dekripsi menghasilkan pesan yang mempunyai makna (lihat Tabel 1).

Tabel 1. Contoh exhaustive key search terhadap chiperteks XMZVH

Kunci (k)

chipering

‘Pesan’ hasil dekripsi

Kunci (k)

chipering

‘Pesan’ hasil dekripsi

Kunci (k)

chipering

‘Pesan’ hasil dekripsi

0

25

24

23

22

21

20

19

18

XMZVH

YNAWI

ZOBXJ

APCYK

BQDZL

CREAM

DSFBN

ETGCO

FUHDP

17

16

15

14

13

12

11

10

9

GVIEQ

HWJFR

IXKGS

JYLHT

KZMIU

LANJV

MBOKW

NCPLX

ODQMY

8

7

6

5

4

3

2

1

PERNZ

QFSOA

RGTPB

SHUQC

TIVRD

UJWSE

VKXTF

WLYUG

Dari Tabel 1, kata dalam Bahasa Inggris yang potensial menjadi plainteks adalah CREAM dengan menggunakan k = 21. Kunci ini digunakan untuk mendekripsikan chiperteks lainnya.

· Kadang-kadang satu kunci yang potensial menghasilkan pesan yang bermakna tidak selalu satu buah. Untuk itu, kita membutuhkan informasi lainnya, misalnya konteks pesan tersebut atau mencoba mendekripsi potongan chiperteks lain untuk memperoleh kunci yang benar.

Contoh 3. Misalkan potongan chiperteks HSPPW menghasilkan dua kemungkinan kunci yang potensial, yaitu k = 4 menghasilkan pesan DOLLS dan k = 11 menghasilkan WHEEL. Lakukan deksripsi terhadap potongan chiperteks lain tetapi hanya menggunakan k = 4 dan k = 11 (tidak perlu exhaustive key search) agar dapat disimpulkan kunci yang benar.

· Cara lain yang digunakan untuk memecahkan chiperteks adalah dengan statistik, yaitu dengan menggunakan tabel kemunculan karakter, yang membantu mengidentifikasi karakter plainteks yang berkoresponden dengan karakter di dalam chiperteks (akan dijelaskan kemudian).

Jenis-jenis Chiper Subsbtitusi

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))

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.

c. 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.

d. 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

Histogram yang memperlihatkan frekuensi kemunculan relatif huruf-huruf di dalam chiperteks diperlihatkan di bawah ini:

Dengan membandingkan Tabel 2 dengan histogram tersebut, kriptanalis beralasan menerka bahwa H berkoresponden dengan E dan bahwa W berkoresponden dengan T.


Encryption Skipjack pada Clipper Chip sebuah keamanan Yang paling rahasia Pada Pengiriman Data

A. Pengantar

1. Pendahuluan Skipjack.

Salah satu hal yang penting dalam komunikasi menggunakan komputer untuk menjamin kerahasiaan data adalah enkripsi. Enkripsi adalah sebuah proses yang melakukan perubahan sebuah kode yang biasa dimengerti menjadi sebuah kode yang tidak biasa dimengerti (tidak terbaca). Enkripsi dapat diartikan sebagai kode atau chipper. Sebuah chipper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unintelligible). Karena teknik chipper merupakan suatu system yang telah siap untuk di automasi, maka teknik ini digunakan dalam system keamanan komputer dan network.

Skipjack sebagai salah satu chipper merupakan suatu encryption algoritma yang dikembangkan oleh National Security Agency Badan Keamanan Nasional Amerika Serikat ( NSA) untuk Clipper Chip. Tidak banyak diketahui algoritma Skipjack ini, karena itu algoritma Skipjack digolongkan rahasia oleh pemerintah Amerika Serikat.

Algoritma Skipjack diketahui suatu algoritma symmetric, yang menggunakan 80-bit kunci dan mempunyai 32 putaran untuk memproses setiap masing-masing encrypt atau decrypt operasi. Clipper-Chip adalah suatu chip komersil dibuat oleh NSA untuk encryption, dan menggunakan Algoritma Skipjack. AT&T mempunyai rencana untuk menggunakan Clipper Chip untuk encrypted jalur suara telpon.

2. Menjaminkah Skipjack?

Sejauh yang diketahui, NSA tengah menggunakan Skipjack ke encrypt messaging sistemnya, sehingga dirasakan algoritma itu aman. Skipjack menggunakan 80-bit kunci, yang berarti ada 2^80 ( kira-kira 10^24) atau lebih dari 1 kunci mungkin trilyun trilyun untuk digunakan!! Maknanya, diperkirakan lebih dari 400 milyar tahun tiap-tiap kunci algoritma untuk dapat dipecahkan!

Untuk memberi suatu perspektif lebih baik, jika kita mengasumsikan penggunaan 100,000 RISC komputer, masing-masing dengan kemampuan menjalankan motor sekitar 100,000 encryptions per detik, akan diperkirakan sekitar 4 juta tahun suatu kode dapat dipatahkan.

Pengembang Skipjack memperkirakan bahwa biaya daya proses untuk memecahkan algoritma skipjack dibagi dua untuk tiap-tiap delapan belas bulan, dan berdasarkan pada itu algoritma Skipjack akan membutuhkan sedikitnya 36 tahun baru dapat dipatahkan. Oleh karena itu, NSA percaya bahwa tidak ada resiko Skipjack dapat dirusakkan di dalam 30-40 tahun kedepan. Di samping itu, kekuatan Skipjack mampu melawan terhadap suatu serangan cryptanalytic. Untuk itu algoritma Skipjack harus mengarah kepada algoritma yang cryptographic dengan sepenuhnya ditetapkan dan digolongkan RAHASIA.

Gambar 1. Urutan proses pengiriman data

Algoritma yang crytographic mempunyai karakteristik seperti berikut:

1. Symmetric, algoritma 80-bit kunci encryption/decryption;

2. Berfungsi serupa dengan DES ( yaitu., pada dasarnya suatu 64-bit kode membukukan perubahan bentuk yang dapat digunakan pada tempat yang sama dengan empat mode operasi ketika ditetapkan untuk DES di dalam FIPS 81);

3. Mampu memproses dengan 32 putaran encrypt/decrypt pada operasi tunggal;

Chip Clipper pada Algoritma skipjack berisi single-key 64-bit blok encryption algoritma. Algoritmanya menggunakan 80 kunci bit ( bandingkan dengan DES hanya 56 kunci bit) dan mempunyai 32 putaran yang berebut ( bandingkan dengan DES hanya 16 putaran), algoritma ini mendukung 4 mode operasi DES. Algoritma mengambil 32 thick clock, dan di dalam Codebook Elektronik ( ECB) mode berjalan pada 12 Mbits per detik.

Dengan penjelasan seperti diatas, Skipjack dapat dikatakan sangat dipercaya atau sangat menjamin.

3. Spesifikasi Algoritma Skipjack

Standard spesifikasi penggunaan algoritma SKIPJACK di implementasikan pada peralatan elektronik (seperti chip elektronik dengan skala besar) peralatan elektronik tersebut mengandung modul cryptograph yang di integrasikan pada product chip telekomunikasi.

Persetujuan implementasi telah di otorisasi Organizations for Integration into Security Equipment Peralatan tersebut harus di validasi oleh The National Institute of Standards and Technology (NIST) yaitu suatu Institut Teknologi Dan Standard Nasional Amerika Serikat dengan standard FIPS 140-1.

Plaintext

XOR

Transmitted Data

Gambar 2. Frame enkripsi

Spesifikasi algoritma SKIPJACK mempunyai ketentuan fungsi sebagai berikut

  • Data Encryption: Session key harus menggunakan panjang key 80 bits untuk melakukan encryption plain text dengan menggunakan mode operasi salah satu dari yang dispesifikasikan pada FIPS-81: ECB, CBC, OFB(64), CFB (1, 8, 16, 32, 64).
  • Data Encryption: Session key (80 bits) digunakan untuk encrypt data, juga digunakan sebagai decrypt hasil dari ciphertext.

Materi berikut ini menyediakan detail masalah Skipjack dan algoritma KEA. Algoritma ini mendukung single chip cryptoprocessors seperti CLIPPER (hanya Skipjack), CAPSTONE, KEYSTONE, REGENT, KRYPTON, dan FORTEZZA dan PC Card FORTEZZA Plus, dan juga produk lain yang masih famili FORTEZZA.

3.1. Algoritma

Materi ini mendiskusikan algoritma berikut:

SKIPJACK Codebook encryptor/ Algoritma Decryptor

KEA Algoritma Pertukaran Kunci

  1. Mode operasi SKIPJACK.
  2. SKIPJACK adalah sebuah utilizasi codebook 64 bit dari sebuah cryptovariable 80 bit. Mode operasi ini adalah bagian dari deskripsi FIPS-81 dari mode operasi untuk DES. Cakupannya meliputi:

Mode Output Feed-Back (OFB) 64 bit

Mode Cipher Feed-Back (CFB) 64 bit/32 bit/16 bit/8 bit

Codebook 64 bit

Cipher-Block Chaining (CBC) 64 bit

Gambar 3. Mode Diagram Output Feed-Back

Gambar 4. Mode Diagram Cipher Feed-Back

Gambar 5. Mode Diagram Codebook

Gambar 6. Mode Diagram Cipher-Bloch Chaining

4. Spesifikasi SKIPJACK

4.1.Notasi dan Terminologi:

v Set dari semua nilai n-bit

word: Sebuah element dari v16 ; bernilai 16-bit.

Byte: sebuah elemen dari v8 ; bernilai 8-bit.

Permutasi vn : Sebuah invertible(satu-ke-satu dan selanjutnya) fungsi dari Vn ke Vn. Nilai permutasi didalam vn, nilainya tidak dalam bits.

X Ã… Y Nilai exclusive –OR dari X dan Y

X || Y X serangkai dengan Y. Lihat X, Y merupakan bytes, kemudian X || Y = X x 28 + Y adalah sebuah word. Selanjutnya, X adalah high-order byte, dan Y adalah low-order byte.

4.2.Struktur Dasar: SKIPJACK encrypts 4-word (Contoh: 8-byte) data blok pengganti antara dua langkah aturan (A dan B) yang diperlihatkan seperti dibawah ini.

Langkah dari aturan A seperti berikut:

4.2.1. G permutasi W1,

4.2.2. w1 yang baru adalah xor dari keluaran G, sebuah counter, dan w4

4.2.3. words w2 dan w3 pindah satu register ke kanan; contoh menjadi w3, dan w4 berurutan.

4.2.4. w2 yang baru adalah keluaran G

4.2.5. Counter adalah hasil dari kenaikan

Aturan B cara kerjanya sama.

Gambar 7. Langkah-langkah aturan SKIPJACK.

4.3.Langkah-langkah Persamaan Peraturan.

Persamaan dibawah ini, superscript dari langkah-langkah angka.

Aturan A Aturan B

w1k+1 = Gk(w1k) Ã… w4k Ã… counterk w1k+1 = w4k

w2k+1 = Gk(w1k) w 2k+1 = Gk-1 (w1k)

w3k+1 = w2k w3k+1 = w1k Ã… w2k Ã… counterk

w4k+1 = w3k w1k+1 = Gk(w1k) Ã… w4k Ã… counterk

DECRYPT

Aturan A-1 Aturan B-1

w1k-1 = [Gk-1]-1 (w2k) w1k-1 = [Gk-1] (w2k)

w2k-1 = w3k w2k-1 = [Gk-1]-1 (w2k) Ã… w3k Ã… counterk-1

w3k-1 = w4k w3k-1 = w4k

w4k-1 = w1k Ã… w2k Ã… counterk-1 w4k-1 = w1k

4.4.Urutan langkah-langkah:

Algoritma ini totalnya 32 langkah.

4.4.1. Melakukan encripsi: Masukan adalah wi0, 1£ i £ 4 (contoh k = 0 untuk langkah awal). Counter di 1. Langkah menurut aturan A dengan 8 langkah, kemudian berubah ke aturan B dan langkahnya lebih dari 8 langkah. Hasil dengan aturan A dengan 8 langkah, kemudian melengkapi encryption dengan 8 langkah dengan aturan B. Counter increment satu kali pada masing-masing langkah. Keluarannya adalah wi32 , 1£ i £ 4 .

4.4.2. Untuk mendecrypt: Masukan adalah wi32, 1£ i £ 4 , (contoh k=32 untuk memulai langkah). Mulai counter di langkah 32. Langkah menurut aturan B-1 untuk langkah ke delapan, kemudian berubah ke aturan A-1 dan langkah lebih dari 8 kali.

4.4.3. Hasil aturan B-1 untuk 8 langkah selanjutnya, kemudian dilengkapi decrypsinya dengan 8 langkah pada aturan A-1. Counter decrement satu kali setelah setiap langkah. Keluarannya adalah wi0, 1£ i £ 4 .

4.5.Permutasi - G.

Cryptovariable-dependent pemutasi G di v16 adalah empat putaran struktur Feistel. Fungsi putaran adalah mencampur tabel byte-substitusi (permutasi di v8), yang disebut dengan F-tabel. Masing-masing putaran dari G juga gabungan sebuah byte dari cryptovariable. Ada dua karakteristik dari fungsi seperti dibawah ini.

4.5.1. Dengan rekursif (system matematika): Gk (w = g1 || g2) = g5 || g6 dimana g1 = F(g I-1 Ã… cv4k + i-3) Ã… gi-2 adalah (4k + i – 3)th byte didalam penjadwalan criptovariable. Lalu,

g3 = F (g2 Ã… cv4k) Ã… g1

g4 = F (g3 Ã… cv4k+1) Ã… g2

g5 = F (g4 Ã… cv4k+2) Ã… g3

g6 = F (g5 Ã… cv4k+3) Ã… g4

Biasanya untuk kebalikannya, [Gk]-1(w = g5|| g6 =g1 || g2 dimana gi-2 = F (gi-1 Ã… cv4k + I - 3) Ã… gi.

4.5.2. Skemanya:

Gambar 8. Diagram Permutasi – G

4.6.Penjadwalan Cryptovariable.

Criptovariable panjangnya 10 bytes (labelnya dari 0 sampai 9) dan digunakan untuk pemakaian biasa. Lalu penjadwalan subscript diberikan dalam definisi permutasi-G yang diinterpretasikan mod-10.

4.7.F-Tabel:

F-tabel pada SKIPJACK diberikan pada notasi hexadesimal. Order index yang tertinggi 4 bit dari masukan baris dan order terendah index 4 bits pada kolom. Untuk contoh, F(7a) = d6

5. Spesifikasi KEA.

KEA adalah algoritma pertukaran kunci. Semua kalkulasi menggunakan modulus utama 1024-bit. Nilai modulus ini umumnya berhubungan dengan spesifikasi DSS. KEA dasarnya dengan utilizasi protokol Diffie-Helman yang mengurangi nilai akhir dengan sebuah kunci 80 bit.

Operasi KEA menggunakan panjang eksponen 160 bits. Penggunaan eksponen pada KEA oleh pemakai mengunakan komponen spesifik yang rahasia. KEA menyediakan pengamanan setaraf dengan yang disediakan oleh SKIPJACK. Order operasinya 280.

KEA mengharuskan pemakai memvalidasi penerimaan nilai public dari yang lain, tetapi tidak spesifik dalam melakukannya. Alat ini musti menyediakan order data seperti dibawah ini untuk implementasi algoritma pertukaran kunci (KEA).

p modulus utamanya 1024-bit yang menetapkan field dimana p = p1023 p1022 ……p0.

q 160 bit pembagi utama dari p – 1 untuk mengecek komponen public q = q159 q158 …….. q0

g 1024-bit dasar untuk eksponensiasi. Sebuah elemen order q didalam group perkalian dari mod p.

g = g1023 g1022 ……g0

x 160-bit angka rahasia yang dipilih oleh pemakai (0

x = x159 x158 …x0

Y 1024-bit nilai corresponden public dan nilai private x

Y = gx mod p = Y1023 Y1022 ……… Y0

Pad 80-bit nilai pengisi

pad = pad79 pad78 …… pad0

= 72f1a87e92824198abOb hex

r 160-bit angka random

r = r159 r158

Sebuah sinyal syarat untuk penentuan dari inisiator dan penerimaan dari sebuah perubahan tidak begitu penting. Sebuah gambaran dari proses berikut. Untuk dua pemakai A dan B, subscript A dan B digunakan untuk penanda “owner” dari nilai yang seharusnya.

a. Pertukaran A dan B atau isi dari sebuah direktori sertifikat dari terminal terjauh. Dari sertifikat, nilai public Y dari terminal lain dapat berisi sepanjang identifikasi pemakai tergabung dan ada informasi lain.

b. Masing-masing validasi alat kunci public Y ditentukan dan termasuk kunci public yang valid didalam jaringan. Jika validasi sah, proses terhenti. Jika terjadi validasi cek silahkan lakukan langkah c.

c. Masing-masing alat pertukaran merupakan komponen random. Alat A umumnya 160-bit dari angka random private rA dan pengiriman versi angka public seperti berikut:

RA = grA mod p

Alat B umumnya 160-bit rB dan mengirimkan

RB = grA mod p

Masing-masing komponen random public panjangnya 1024-bit

d. Setelah menerima komponen random public dan terakhir kunci public, masing-masing alat mengecek verifikasi kedua penerimaan nilai order q.

Alat A akan menghitung dan memverifikasi:

1 < RB, YB <>

(RB)q º 1 mod p dan (YB)q º 1 mod p

Alat B akan menghitung dan memverifikasi:

1 < RA, YA <>

(RA)q º 1 mod p dan (YA)q º 1 mod p

Jika verifikasi dicek, lanjutkan langkah e. Bila ada verifikasi yang pasti, stop.

e. Alat A akan memegang YB dan menghitung nilai tAB. Alat akan menghitung ekuivalen nilai tBA yang digunakan menerima komponen random.

tAB = (YB)rA mod p = g x B r A mod p

tBA = (RA)xB mod p = g rA x B mod p = g x B rA mod p

f. Masing-masing alat penghitung u dengan cara yang sama harus menghitung t.

uBA = (YA) rB mod p = g xA rB mod p

uAB = (RA) rB mod p = g rB xA mod p = g xA rB mod p

g. Masing-masing alat menghitung w untuk meyakinkan pengecekan:

w =(t + u) mod p ¹ 0

Jika pase pengecekan selesai, lanjutkan langkah h, kalau tidak stop.

h. Hasil ini dibagi dalam dua seksi:

v1 = ( w ) mod 280 v2 = ( w ) mod 280

2 (1024-80) 2 (1024-160)

Contoh, jika angka bit didalam w adalah w1023, …….w0 dari MSB ke LSB, kemudian v1= w1023 …..w944 dan v2= w943 ….w864

i. Kuncinya adalah:

Key = 216( Ev1Ã… pad (Ev1 Ã… pad [v2 mod 2 64])]

216

Ã… [(Ev1 Ã… pad [ v2 mod 2 64]) Ã… (v2 mod 2 16

216

248

Catatan bahwa fungsi ini mewakili encrypsi dari v2 dengan v1 dengan isi XOR.

Gambarnya seperti berikut:

Gambar 9. Diagram Formasi Kunci

Sebuah ringkasan pertukaran KEA diantara alat A dan B seperti dibawah ini:

Alat A: Alat B:

p,q,g keadaan kedua alat p,q,g

xA kunci private masing-masing alat xB




YA Y = gx mod p YB




YB YA

Isi alat public yang lain melalui

Sertifikat atau kiriman dalam msg

rA A dan B umumnya angka random rB










RA R = gr mod p RB




RB RA

Pertukaran angka random public

Check semua nilai yang diterima

tAB = (YB) rA mod p hitung t = g rAxB mod p tBA = (RA) xB mod p

uAB = (RB) xA mod p hitung u = g xArB mod p uBA = (YA) rB mod p

w = (tAB + uAB) mod p hitung w dan check w¹0 w = (tBA + uBA) mod p

v1, v2 kutipan v1 dan v2 dari w v1, v2

Key form kunci dari v1, v2, blok Key

6. Aplikasi E-Mail dari KEA

Untuk aplikasi E-Mail dimana penerima tidak berperan didalam formasi kunci, kontribusi penerima ke pertukaran random ditempatkan dengan kunci publik dari penerima. Berikut, A sedang mengirim dan B sedang menerima pesan E-Mail. Pertama sekali mulai dengan formasi dari pesan E-Mail.

1. Mengirim E-Mail.

a. Alat A isi dari sebuah direktori atau sebuah cache local sertifikat dari sebuah terminal yang jauh. Dari sertifikat, nilai public YB dari terminal B dapat berisi sepanjang identifikasi pemakai tergabung dan ada informasi lainnya.

b. Alat B validasi kunci publik YB yang ditentukan didalam kunci publik yang pemakainya sudah valid di jaringan. Jika validasi ada yang pasti, lanjutkan ke langkah c.

c. Alat A kemudian diverifikasi:

1 <>B <>B )q º 1 mod p

Jika mengecheck verifikasi, lanjutkan ke langkah d. Bila ada verifikasi yang pasti, berhenti.

d. Alat A umumnya angka random rA dan hitungan RA yang ditempatkan didalam paket pesan yang dikirim ke terminal yang jauh.

RA = grA mod p

Komponen random ini panjangnya 1024 bit.

e. Alat A kemudian menerima YB dan hitung nilai tAB.

tAB = (YB) rA mod p = g rAxB mod p = g xAxB mod p

f. Alat A menghitung:

uAB = (YB)xA mod p = gxBxA mod p = g xAxB mod p

g. Alat A kemudian menghitung w dan meyakinkan pengecekan :

w = (tAB + uAB) mod p ¹ 0

Jika pengecdsxekannya sah, lanjutkan langkah h. jika tidak berhenti.

h. Hasil ini dipotong dalam dua seksi;

v1 = ( w ) mod 280 v2 = ( w ) mod 280

2 (1024 - 80) 2(1024 - 160)

contoh, jika angka bits didalam w seperti w1023 …….w0 dari MSB ke LSB, kemudian v1 = w1023 ….w944 dan v2 = w943 ……w864

i. Kunci

Kunci = 216 [Ev1 Ã… pad(Ev1 Ã… pad[v2 mod 264])]

216

Ã… [((Ev1 Ã… pad[v2 mod 264])]

216 Ã… ( v2 mod 216)]

248

Catatan bahwa fungsi ini mewakili enkripsi dari v2 dengan v1 XOR yang diblok.

Gambarnya,

Gambar 10. Diagram Formasi kunci

2. Menerima E-Mail

a. Alat B berisi sertifikat dari terminal jauh, A, menerima pesan E-Mail. Dari sertifikat, nilai public YA dari terminal A yang dapat berisi sepanjang pemakai teridentifikasi dalam gabungan dan ada informasi yang lain.

b. Alat B memvalidasi kunci publik dari YA ditentukan masuk didalam kunci publik dari pemakai yang valid didalam jaringan. Jika validasi pasti/sah, proses dihentikan. Jika masih terjadi pengecekan, lanjutkan langkah c.

c. Alat B menerima komponen random yang dihasilkan dari A.

RA = g rA mod p

Komponen random panjangnya 1024 bit.

d. Alat B akan menghitung dan memverifikasi:

1 < RA, YA < p

(RA)q º 1 mod p dan (YA)q º 1 mod q

Jika verifikasi dicek, lanjutkan langkah e.

e. Alat B akan diberikan RA dan menghitung nilai tBA

tBA = (RA)xB mod p = g rAxB mod p

f. Alat B menghitung:

uBA = (YA)xB mod p = g xAxB mod p

g. Alat B menghitung w dan cek untuk meyakinkan bahwa:

w = (tBA + uBA) mod p ¹ 0

jika ini untuk mengecek nilai, lanjutkan pada langkah h. Jika tidak stop.

h. Untuk mencari hasil dibagi dalam dua seksi

v1 = ( w ) mod 280 v2 = ( w ) mod 280

2 (1024-80) 2 (1024-160)

Contoh, jika angka bit didalam w adalah w1023, …….w0 dari MSB ke LSB, kemudian v1= w1023 …..w944 dan v2= w943 ….w864

i. Kunci:

Kunci = 216 [Ev1 Ã… pad(Ev1 Ã… pad[v2 mod 264])]

216

Ã… [((Ev1 Ã… pad[v2 mod 264])]

216 Ã… ( v2 mod 216)]

248

Catatan bahwa fungsi ini mewakili enkripsi dari v2 dengan v1 XOR yang diblok.

Gambarnya,

Gambar 9. Diagram Formasi kunci

B. ANNEX – Tes Vector

Semua nilai adalah heksadesimal. Data ini tidak termasuk atau ditentukan oleh banyak antar muka biasa. Informasi biasanya dengan Most Significant Bit/Byte/Word ke sebelah kiri. X menggambarkan “don’t care”.

  1. SKIPJACK – MODE CODEBOOK

Plaintext input : 33221100ddccbbaa

Cryptovariable: 00998877665544332211

Langkah lanjutan:

w1 w2 w3 w4

0 33221100 ddccbbaa

1 b0040baf 1100ddcc

2 e6883b46 0baf1100

3 3c762d75 3b460baf

4 4c4547ee 2d753b46

5 b949820a 47ee2d75

6 f0e3dd90 820a47ee

7 f9b9be50 dd90820a

8 d79b5599 be50dd90

9 dd901e0b 820bbe50

10 be504c52 c391820b

11 820b7f51 f209c391

12 c391f9c2 fd56f209

13 f20925ff 3a5efd56

14 fd5665da d7f83a5e

15 3a5e69d9 9883d7f8

16 d7f88990 53979883

17 9c000492 89905397

18 9fdccc59 04928990

19 3731beb2 cc590492

20 7afb7e78 beb2cc59

21 7759bb15 7e7dbeb2

22 fb6445c0 bb157e7d

23 6f7f1115 45c0bb15

24 65a7deaa 111545c0

25 45c0e0f9 bb141115

26 11153913 a523bb14

27 bb148ee6 281da523

28 a523bfe2 35ee281d

29 281d0d84 1adc35ee

30 35eee6f1 25871adc

31 1adc60ee d3002587

32 2587cae2 7a12d300

Keluaran Ciphertext : 2587cae27a12d300

  1. Algoritma pertukaran kunci (KEA)

p = 9d4c6e6d 42ea91c8 28d67d49 94a9f01b 8e5b5b73 0d0faae7 bd569dd1

914e3ad4 759c8053 31eda145 9fb56be8 a8de4736 652a82b2 76e82acd

63f5b78d 0b75a03e b34d397d be7b3740 8f72136a cb0879fe 61c718a3

7f5154b5 078a7649 fb3d4fb4 c481e010 62c5241f 229fa580 423368dd

51090dbf 25351f0c 5800de05 b92ba6a9

q = 97ad85fd 2b371ed0 69818ab3 c6ee8773 d9db029d

g = 595d3443 ec897c82 51e5fa9d 02ab8b75 c0fc57b0 969f880d a366a100

01912a01 96bcb81c 41ac8485 031ac598 b5481eae 2726b719 d8d9915a

61059734 72386c0a 6a2c732c d6700d34 1f54bf28 d12d692d e2fa05f5

5e898c2e 20bb8a26 02db1ba01 7de672e3 b96d9ac2 9a188450 63d918c3

2ed71266 b783311a 0a8d08ac 487bea44

ra = 6201dd56 237c228a 3f54bc7e 794bdf32 41c67ea6

xa = 62319ac4 7dc14518 0abd323c 59e2b600 2781e494

Ya = 2d29ecd0 2e3497a6 7222d8de bc286131 d149f458 1b3e586d 0151024c

02e8b23d a09a430e 2ca5ed1a 4b2d7725 62316e4d 2804d226 788284ed

655ef546 10d38f66 fab1a0a2 e2d3c661 4401901d 9758d566 722aff1f

734b2adb d2b67f13 00ce455f 00968ca7 91a87678 67363d7d 49ee74a2

8dc349d9 fdfdb96b 01f0fc1f 0690ec96

xb = 63decdad 4487eb71 31dff4f5 1cfbae39 446b9b3d

rb = 52bfa1d7 2f1cf0f0fb 0ff6d5df 15fb7483 167eb0e7

Yb = 7730d4bb f3a2efdb 218e7041 3e861020 14cec06c 205f5419 293b65c6

9a971e54 55eb79a0 bdb90ab2 14c5240e de6cfdd5 8c7c19c5 269d57df

f60b61c1 db2ff648 64bee519 87f27003 4bc390ad 73168209 5e42608c

3d7987f9 649fbf71 6887633e b574b39c c73df899 51fc1bd6 d3889d48

fe2244b8 29afd405 06ab9221 ba562c07

Penghitungan oleh A:

Ra = 97c1fd8a 69fc8f34 a74c7ec3 c1ab176a b91fa0ea d0e6b097 06ae07a1

fbf8d0a6 67032ea4 798082b8 caea827b 4f604b71 e6c24469 211363ea

4bd2122f 4aa6af 4aa6afb9 4857ff06 9db03701 2b289057 b4855e70 f8f7ac4f

92falfe7 6c2a5c82 781ee611 1c1fbdf7 a6eb9dc3 59a8fca0 b632ef3a

2af82e52 c0a7f6a6 a2c961ea fe67

Penghitungan oleh B:

Rb = 91f61808 38f03d5b 6be538ff 6e0bf3cb 9d8afbbe ef199334 b389708b

b0c848da 860f0f27 62cc94a8 e496f8fc 94945538 cf6f1719 57cee4f1

e2eca2ba ddb340da f406e636 bbc6368e 4658fbfo 1a41cbef 5adb4086

42d03cec 4e85920c 8e7530bd e2b78cb8 7cbae364 31de373c d2ebaf29

d8412932 8550dd8c f33e03c2 1a5056a0

Hasil untuk pemakai A:

Uab = 1585dbba c06b963d 6ef5a30e 5c40220b 76fe0528 660be31a c496d1cb

0883ba8e 5a0331e9 ce3fe382 f47a353c edc6896d fdb4c0b5 67aafd72

4ba0ff6f 2c0fa428 fcb07a32 bf6fb88e 22c5ca47 7c9bb9cd 882da4f5

4cc57980 c174352f 13434623 ce3df2d4 14a9e0fb 7a905fe8 4ab282d5

e76e703a 55dabb38 27c2979f 08ea28c8

tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66

8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad4 ae4190ce

bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00

be8fee9b f46bf538 86c4a761 4b43adfe 7282efe4 f9e146b7 1e9f89d6

2bd3c7ed 7d127719 ebf0e08 79e0d0d9

w =95b8c6e7 76e0cae7 34f099cc fe2b90fd 550b4471 2e77c55b 54175031

8ea67481 e1e426f9 73c66f78 1e7935ca 289be80a 411b7b8a 15ec8e41

07dbe4de 60cf14df 39509c10 159fbe69 df442d03 4964cc47 be3163f6

0b55481c b5e02a67 9a07ed85 1981a0d2 872cd0e0 7451a69f 69520cac

13423827 d2ed3252 13b37897 82caf9a1

v1 = 95b8c6e7 76e0cae7 34f0xxxx

v2= 99ccfe2b 90fd550b 4471xxxx

v1 XOR pad = e7496e99 e4628b7f 9ffbxxxx

Kunci untuk pemakai A = 740839de e833add4 6b41xxxx

Hasil untuk pemakai B:

tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66

8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad 4 ae4190ce

bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00

be8fce9b f46bf538 86c4a761 4b43adfe 7282efe4 f9c146b7 1e9f89d6

2bd3c7ed 7d127719 ebf0e0f8 79e0d0d9

uab = 1585dbba c06b963d 6ef5a30e 5c40220b 76fe0528 660be31a c496d1cb

0883ba8e 5a0331e9 ce3fe382 f47a353c edc6896d fdb4c0b5 67aafd72

4ba0ff6f 2c0fa428 fcb07a32 bf6fb88e 22c5ca47 7c9bb9cd 882da4f5

4cc57980 c174352f 13434623 ce3df244 14a9e0fb 7a905fe8 4ab282d5

e76e703a 55dabb38 27c2979f 08ea28c8

w = 95b8c6e7 76e0cae7 34f099cc fe2b90fd 550b4471 2e77c55b 54175031

8ea67481 e1e426f9 73c66f78 1e7935ca 289be80a 411b7b8a 15ec8e41

07dbe4de 60cf14df 39509c10 159fbe69 df442d03 4964cc47 be3163f6

0b55481c b5e02a67 9a07ed85 1981a0d2 872cd0e0 7451a69f 69520cac

13423827 d2ed3252 13b37897 82caf9a1

v1 = 95b8c6e7 76e0cae7 34f0xxxx

v2 = 99ccfe2b 90fd550b 4471xxxx

v1 XOR pad = e7496e99 e4628b7f 9ffbxxxx

Kunci untuk pemakai B = 740839de e833add4 6b41xxxx

2. Pertukaran KEA untuk E-Mail

p= 9d4c6e6d 42ea91c8 28d67d49 94a9f01b 8e5b5b73 0d0faae7 bd569dd1 914e3ad4 759c8053 31eda145 9fb56be8 a8de4736 652a82b2 76e82acd 63f5b78d 0b75a03e b34d397d be7b3740 8f72136a cb0879fe 61c718a3 7f5154b5 078a7659 fb3d4fb4 c481e010 62c5241f 229fa580 423368dd 51090dbf 25351f0c 5800de05 b92ba6a9

q= 97ad85fd 2b371ed0 69818ab3 c6ee8773 d9db029d

g= 595d3443 ec897c82 51e5fa9d 02ab8b75 c0fc57b0 969f880d a366a100

01912a01 96bcb81c 41ac8485 031ac598 b5481eae 2726b719 d8d9915a 61059734 72386c0a 6a2c732c d6700d34 1f54bf28 d12d692d e2fa05f5 5e898c2e 20bb8a26 02db1ba0 7de672e3 b96d9ac2 9a188450 63d918c3 2ed71266 b783311a 0a8d08ac 487bea44

ra = 6201dd56 237c228a 3f54bc7e 794bdf32 41c67ea6

xa = 62319ac4 7de14518 0abd322c 59e2b600 2781e494

Ya = 2d29ccd0 2c3497a6 7222d8de bc286131 d149f458 1b3e586d 0151024c

02e8b23d a09a430e 2ca5ed1a 4b2d7725 62316e4d 2804d266 788284ed

655cf546 10d38f66 fab1a0a2 e2d3c661 4401901d 9758d566 722aff1f

734b2adb d2b67f13 00ce455f 00968ca7 91a87678 67363d7d 49ee74a2

8dc349d9 fdfdb96b 01f0fc1f 0690ec96

xb = 63decdad 4487eb71 31dff4f5 1cfbae39 446b9b3d

Yb = 7730d4bb f3a2efdb 218e7041 3e861020 14cec06c 205f5419 293b65c6

9a971e54 55eb79a0 bdb90ab2 14c5240e de6cfdd5 8c7c19c5 269d57df

f60b61c1 db2ff648 64bee519 87f27003 4bc390ad 4bc390ad 73168209 5e42608c 3d7987f9 649fbf71 6887633e b574b39c c73df899 51fc1bd6 d3889d48 fe2244b8 29afd405 06ab9221 ba562c07

Penghitungan oleh A:

Ra = 97c1fd8a 69fc8f34 a74c7ec3 c1ab176a b91fa0ea d0e6b097 06ae07a1

Fbf8d0a6 67032ea4 798082b8 caea827b 4f604b71 e6c24469 211363ea

4bd2122f 4aa6afb6 4857ff06 9db03701 2b289057 b4855e70 f8f7ac4f

92fa1fe7 6c2a5c82 781ee611 1c1fbdf7 a6eb9dc3 59a8fca0 b632ef3a

2af82e52 c0a7f6a6 a2c961ea fc67f418

Hasil untuk pemakai A:

tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66

8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad4 ae4190ce

bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00

be8fce9b f46bf538 86c4a761 4b43adfe4 7282efe4 f9c146b7 1e9f89d6

2bd3c7ed 7d127719 ebf0e0f8 79e0d0d9

uab = 17087175 9f16dfbf b0a0c05e 0ee49abd 49586033 93aa7df3 3d99bc61

68ad318a 7cf81fa8 74f4eb04 4433abe0 6423eb2f 1ebb3cdb 33067152

242d7cf8 987f208d cfdf3797 6398ccd5 6a0bdc1b 2bfd6734 35dedcc9

06bd6d71 a4516738 b91f2a52 689a2d60 802de96d 150fe661 469a2643

18c8d8f5 9ec040ea c623c51a 91d861d1

w = 973b5ca2 558c1469 769bb71c b0d009af 27659f7c 5c166033 cd1a3ac7

eecfeb7e 04d914b8 1a7b76f9 6e32ac6d 9ef949cb 6221f7af e1480220

e0686267 cd3e9144 0c7f5974 b9c8d2b1 268a3ed6 f8c679ae 6be29bc9

c54d3c0d 98bd5c71 3fe3d1b3 b3dddb5e f2b0d952 0ed12d18 6539b019

449ca0e3 1bd2b804 b214a613 0bb932aa

v1 = 973b5ca2 558c1469 769bxxxx

v2 = b71cb0d0 09af2765 9f7cxxxx

v1 XOR pad = e5caf4dc c70e55f1 dd90xxxx

Kunci untuk pemakai A = 97fd1c6b d86bc439 115bxxxx

Hasil untuk pemakai B:

Tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66

8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad4 ae4190ce

bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00

be8fce9b f46bf538 86c4a761 4b43adfe 7282efe4 f9c146b7 1e9f89d6

2bd3c7ed 7d127719 ebf0e0f8 79e0d0d9

uab = 17087175 9f16dfbf b0a0c05e 0ee49abd 49586033 93aa7df3 3d99bc61

68ad318a 7cf81fa8 74f4eb04 4433abe2f 1ebb3cdb 33067152

242d7cf8 987f208d cfdf3797 6398ccd5 6a0bdc1b 2bfd6734 35dedcc9

06bd6d71 a4516738 b91f2a52 689a2d60 802de96d 150fe661 469a2643

18c8d8f5 9ec040ea c623c51a 91d861d1

w = 973b5ca2 558c1469 769bb71c b0d009af 27659f7c 5c166033 cd1a3ac7

eecfeb7e 04d914b8 1a7b76f9 6ef949cb 6221f7af e1480220

e0686267 cd3e9144 0c7f5974 b9c8d2b1 268a3ed6 f8c679ae 6be29bc9

c54d3c0d 98bd5c71 3fe3d1b3 b3dddb5e f2b0d952 0ed12d18 6539b019

449ca0e3 1bd2b804 b214a613 0bb932aa

v1 = 973b5ca2 558c1469 769bxxxx

v2 = b71cb0d0 09af2765 9f7cxxxx

v1 XOR pad = e5caf4dc c70e55f1 dd90xxxx

Kunci untuk pemakai B = 97fd1c6b d86bc439 115bxxxx

C. Kesimpulan.

Cryptography telah berkembang sejak lama, ketika orang menginginkan informasi yang ia kirimkan tidak dapat “dibaca” oleh pihak tak berkepentingan. Cryptography secara tradisional dikenal dengan dua mekanisme, yaitu kunci privat dan kunci publik. Sesuai dengan materi yang penulis buat maka enkripsi Skipjack termasuk dalam kunci privat berupa DES (data encryption standard). Enkripsi secara konvensional tergantung pada beberapa factor:

1. Algoritma enkripsi harus cukup kuat sehingga menjadikan sangat sulit untuk mendekripsikan chipper teks yang diterima dengan chipper teks tersebut terutama oleh orang yang tidak berkepentingan dengan pesan kita.

2. Keamanan dari algoritma enkripsi bergantung pada kerahasiaan dari kuncinya bukan algoritmanya.

Mengingat enkripsi dengan Skipjack secara matematis sangat terjamin, untuk itu dalam bekerja dengan enkripsi ini diperlukan kesepakatan bagi pemegangnya agar aman harus:

1. Kunci harus dirahasiakan.

2. Adalah tidak mungkin atau sangat tidak praktis untuk menterjemahkan informasi yang telah dienkripsi.

3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untuk menentukan kunci.

Dengan demikian apabila kita ingin menekuni bidang enkripsi ini, diperlukan pengetahuan khusus agar kita dapat mengelola dengan baik enkripsi chipper text dari pesan-pesan yang memang perlu dirahasiakan.


1 Response to "Metode Enkripsi"

  1. Reza Pahlevie says:
    19 Desember 2017 pukul 08.26

    Saya kebingungan decrypt tulisan ini apakah bisa dibantu?


    psk nork dwpkffdqkwp, gkrtdtpkwp jwl uongkpkwp mob jrk, psk nork mob kwhom
    j qool groafkn. de mobr usjffkwqkt jrk psk uorrkup tdyk, jwl de mob jrk
    tpkjldfm uowcbkrdwq psotk usjffkwqkt, mob jrk sjggm. mob psdwv oe mobr
    usjffkwqkt jwl qkp kwkrqdykl. mob jrk kiudpkl po prm wkx tofbpdowt. mob
    sjzk ebw. mob jrk jfdzk!

Posting Komentar