• Tidak ada hasil yang ditemukan

Makalah Algoritma Kriptografi Modern1

N/A
N/A
Protected

Academic year: 2021

Membagikan "Makalah Algoritma Kriptografi Modern1"

Copied!
41
0
0

Teks penuh

(1)

Algoritm

Algoritma

a K

Kriptografi

riptografi & C

& Contohnya

ontohnya

Mata

Mata KKuliuli ah : Sah : S isteistem Keamm Keamanan Jaringananan Jaringan

Dosen Pe

Dosen Pembmbimbing : Deimbing : De fiana Arfiana Arnaldy, Mnaldy, M.Si.Si

Disusun oleh : Disusun oleh :

Eka Risky Firmansyah Eka Risky Firmansyah

1110091000043 1110091000043

Tekni

Tekni k Infork Informatimatika 5 ka 5 BB

Fak

Fakultas Sultas S ains dan Teknologiains dan Teknologi

U

Universitas Islam Neniversitas Islam Negeri Sgeri S yarif Hidayarif Hidayatuyatullll ah Jakartah Jakartaa

2012 2012

(2)

KATA PENGANTAR

KATA PENGANTAR

 Bismillah

 Bismillahirrahmanirrahiim. Assalamualaikum, wr. wbirrahmanirrahiim. Assalamualaikum, wr. wb..

Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta salam Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta salam semoga senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para keluarga, semoga senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para keluarga, sahabat dan pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, penyusun dapat sahabat dan pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, penyusun dapat menyelesaikan penyusunan makalah ini yang berjudul “Algoritma Kriptografi & Contohnya”. menyelesaikan penyusunan makalah ini yang berjudul “Algoritma Kriptografi & Contohnya”. Makalah ini disusun untuk memenuhi tugas mata kuliah “Sistem Keamanan Makalah ini disusun untuk memenuhi tugas mata kuliah “Sistem Keamanan Jaringan”. Penyusun mengucapkan terimakasih kepada Bapak Defiana Arnaldy, M.Si. selaku Jaringan”. Penyusun mengucapkan terimakasih kepada Bapak Defiana Arnaldy, M.Si. selaku dosen pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian karya dosen pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian karya tulis ini.

tulis ini.

Penyusun berharap makalah ini dapat menambah pengetahuan pembaca dan Penyusun berharap makalah ini dapat menambah pengetahuan pembaca dan memberikan gambaran mengenai materi terkait yaitu Algoritma Kriptografi. Sehingga memberikan gambaran mengenai materi terkait yaitu Algoritma Kriptografi. Sehingga  p

 pembacembaca a dapdapat at mengmengggunakan unakan makalmakalah ah ini ini sebagsebagai ai literatur literatur ppendukung endukung dalam pdalam pengengembangembanganan  bidang ilmu s

 bidang ilmu selanjutnyelanjutnya ya yang ang terterkait dengkait dengan pan p engengggunaan unaan algalgoritma oritma kripkripttogografi.rafi.

Penyusun menyadari bahwa makalah ini masih jauh dari kesempurnaan, oleh karena Penyusun menyadari bahwa makalah ini masih jauh dari kesempurnaan, oleh karena  p

 penyenyusun usun mengmengharapkan harapkan saran saran dan dan kritik kritik yyang ang memmembangbangun un untuntuk uk pperbaikaerbaikan n makalmakalah ah ini.ini. Besar harapan penyusun agar penulisan makalah ini dapat berguna bagi siapapun yang Besar harapan penyusun agar penulisan makalah ini dapat berguna bagi siapapun yang menjadikan makalah i

menjadikan makalah ini ni sebasebaggai bahai bahan lian litteratueratur r mengmengenai enai matermateri i tterkait.erkait.

Wassalamualaikum, wr. wb Wassalamualaikum, wr. wb..

Penyusun Penyusun

(3)

KATA PENGANTAR

KATA PENGANTAR

 Bismillah

 Bismillahirrahmanirrahiim. Assalamualaikum, wr. wbirrahmanirrahiim. Assalamualaikum, wr. wb..

Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta salam Puji dan syukur senantiasa kita panjatkan kehadirat Allah SWT, shalawat serta salam semoga senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para keluarga, semoga senantiasa dilimpahkan kepada Nabi Muhammad SAW, juga untuk para keluarga, sahabat dan pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, penyusun dapat sahabat dan pengikutnya sampai akhir zaman. Karena atas rahmat-Nya, penyusun dapat menyelesaikan penyusunan makalah ini yang berjudul “Algoritma Kriptografi & Contohnya”. menyelesaikan penyusunan makalah ini yang berjudul “Algoritma Kriptografi & Contohnya”. Makalah ini disusun untuk memenuhi tugas mata kuliah “Sistem Keamanan Makalah ini disusun untuk memenuhi tugas mata kuliah “Sistem Keamanan Jaringan”. Penyusun mengucapkan terimakasih kepada Bapak Defiana Arnaldy, M.Si. selaku Jaringan”. Penyusun mengucapkan terimakasih kepada Bapak Defiana Arnaldy, M.Si. selaku dosen pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian karya dosen pengampu, teman-teman dan semua pihak yang membantu dalam penyelesaian karya tulis ini.

tulis ini.

Penyusun berharap makalah ini dapat menambah pengetahuan pembaca dan Penyusun berharap makalah ini dapat menambah pengetahuan pembaca dan memberikan gambaran mengenai materi terkait yaitu Algoritma Kriptografi. Sehingga memberikan gambaran mengenai materi terkait yaitu Algoritma Kriptografi. Sehingga  p

 pembacembaca a dapdapat at mengmengggunakan unakan makalmakalah ah ini ini sebagsebagai ai literatur literatur ppendukung endukung dalam pdalam pengengembangembanganan  bidang ilmu s

 bidang ilmu selanjutnyelanjutnya ya yang ang terterkait dengkait dengan pan p engengggunaan unaan algalgoritma oritma kripkripttogografi.rafi.

Penyusun menyadari bahwa makalah ini masih jauh dari kesempurnaan, oleh karena Penyusun menyadari bahwa makalah ini masih jauh dari kesempurnaan, oleh karena  p

 penyenyusun usun mengmengharapkan harapkan saran saran dan dan kritik kritik yyang ang memmembangbangun un untuntuk uk pperbaikaerbaikan n makalmakalah ah ini.ini. Besar harapan penyusun agar penulisan makalah ini dapat berguna bagi siapapun yang Besar harapan penyusun agar penulisan makalah ini dapat berguna bagi siapapun yang menjadikan makalah i

menjadikan makalah ini ni sebasebaggai bahai bahan lian litteratueratur r mengmengenai enai matermateri i tterkait.erkait.

Wassalamualaikum, wr. wb Wassalamualaikum, wr. wb..

Penyusun Penyusun

(4)

DAFTAR ISI

DAFTAR ISI

KA

KATTA PENGANTAR A PENGANTAR ... .. 11

DAFTAR ISI

DAFTAR ISI... ... 22

BAB I PENDAHULUAN

BAB I PENDAHULUAN... ... 33 I.1

I.1 AALGORITMALGORITMA K K RIPTOGRAFIRIPTOGRAFI... ... 33 I.2

I.2 JJENISENISAALGORITMALGORITMAK K RIPTOGRAFIRIPTOGRAFI... 4... 4 I.3

I.3 AALGORITMALGORITMA K K RIPTOGRAFIRIPTOGRAFIK K LASIK LASIK ... ... 55 I.4

I.4 AALGORITMALGORITMA K K RIPTOGRAFIRIPTOGRAFIMMODERNODERN... 6... 6

BAB II PEMBAHASAN

BAB II PEMBAHASAN... ... 88 II.1

II.1 K K RIPRIPTTOGOGRAFIRAFI SSIMETRIIMETRI... ... 88

 I.

 I.  Block Cip Block Cipher her ... ... 88 1.

1. Data Encryption Standard (DES)Data Encryption Standard (DES)... ... 88 2.

2. International Data Encryption Algorithm (IDEA)International Data Encryption Algorithm (IDEA)... ... 1111 3.

3. Advanced Encryption Standard (AES)Advanced Encryption Standard (AES)... ... 1515

 II 

 II  Stream Cipher Stream Cipher ... ... 1616 1.

1. On TOn Timime Pad (OTP)e Pad (OTP)... ... 1616 2.

2. A5A5... ... 1717 3.

3. RC4RC4... ... 1818 II.2

II.2 K K RIPRIPTTOGOGRAFIRAFI AASIMETRISIMETRI... ... 2020

1.

1.  RSA  RSA (Rivest—Shamir—Adleman)(Rivest—Shamir—Adleman)... ... 2121

2.

2.  Diffie Diffie-He-Hellman llman (DH)(DH) ... ... 2424

3.

3.  Ell Elliptic Curve Cryiptic Curve Cryptptography (ECC)ography (ECC)... ... 2525

4.

4.  Digital S Digital Signignaature Algoture Algoririthm (DSA)thm (DSA)... 25... 25 II.3

II.3 K K RIPRIPTTOGOGRAFIRAFI FFUNGSIUNGSIHHAASHSH... .. 2828

1.

1.  MD5 (Message Digest 5) MD5 (Message Digest 5)... ... 2828

2.

2. SHA1 (Secure Hash SHA1 (Secure Hash AlgoAlgorithm)rithm) ... 33... 33

BAB III

BAB III KKEESS IMPULIMPULAN AN & S& S ARANARAN... ... 3939 III.1

III.1 K K ESIMPULANESIMPULAN... ... 3939 III.2

III.2 SSARANARAN... ... 3939

DAF

(5)

BAB

BAB II

PENDAHULUAN

PENDAHULUAN

I.1

I.1 Algoritma Algoritma KriptografiKriptografi

Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan masalah Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara matematis dan benar. Sedangkan kriptografi (

yang disusun secara matematis dan benar. Sedangkan kriptografi (cryptographycryptography) berasal dari) berasal dari kata “

kata “cryptocrypto” yang berarti “” yang berarti “ secret  secret ” (rahasia) dan “” (rahasia) dan “ graphy graphy” yang berarti “” yang berarti “writing writing ” (tulisan).” (tulisan). Kriptografi merupakan suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau Kriptografi merupakan suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau  p

 pesan esan ttetap etap aman saat aman saat dikirimdikirimkan, kan, dari pdari p engengirim ke irim ke ppenerimenerima ta t anpanpa menga mengalamalami gangi ganggguan dariuan dari  p

 pihak ihak ketigketiga. a. SSehingehinggga a algalgoritma oritma kripkriptografi tografi merupakan merupakan langlangkah-langkah-langkah kah loglogis is bagbagaimaaimanana menyembuny

menyembunyikan ikan ppesan daesan dari orari orangng-orang -orang yyang ang titidak dak berhak atas pberhak atas p esan tersebut.esan tersebut.[1][1] Prinsip-prinsip yang mendasari kriptografi yakni :

Prinsip-prinsip yang mendasari kriptografi yakni : 1.

1. ConfidelityConfidelity  (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan  (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis y

matematis yang maang mampu mengmpu mengubah ubah data hingdata hinggga a menjamenjadi di sulit untsulit unt uk dibaca uk dibaca dan ddan dipipahamiahami.. 2.

2.  Data  Data integritintegrityy (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).

lain). 3.

3.  Auth Authenticenticationation (ot(otentik) entik) yyaitu aitu layanan layanan yyang ang berhubungberhubungan dengan dengan an identifikasi.identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi.

keaslian data/informasi. 4.

4.  Non-repudiat Non-repudiationion  (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak  (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut  berasal diriny

 berasal dirinya). (Alferd J. Ma). (Alferd J. M enezes, 1996).enezes, 1996).

Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu : Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu : 1.

1. Enkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan pengamananEnkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut

data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plain plaintext text , yang, yang diubah menjadi kode-kode yang tidak dimengerti. Enskripsi bisa diartikan dengan cipher diubah menjadi kode-kode yang tidak dimengerti. Enskripsi bisa diartikan dengan cipher atau kode.

(6)

2. Dekripsi, merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (tesk-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma untuk enkripsi.

3. Kunci, yang dimaksud adalah kunci yang dipakai untu melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia ( private key) dan kunci umum ( public key).

Secara umum fungsi tersebut digambarkan :

Gambar 1 - Proses Enkripsi dan Dekripsi

Secara matematis, p roses atau fungsi tersebut :

1. Enkripsi (E) : E(M) = C 2. Dekripsi (D) : D(C) = M

Keterangan : M adalah plaintext (message) dan C adalah ciphertext . [2]

I.2 Jeni s Algoritma Kriptografi

Berdasarkan kunci y ang dipakainya, algoritma kriptografi dibagi menjadi tiga jenis : 1. Algoritma Simetri

Algoritma y ang memakai kunci simetri di antarany a adalah :

a.  Blok Chiper  :  Data Encryption Standard   (DES),  International Data Encryption  Algorithm (IDEA), Advanced Encryption Standard  (AES).

 b. Stream Chiper  : On Time Pad  (OTP), A5, RC2, RC4, RC5, dan RC6 2. Algoritma Asimetri

Algoritma yang memakai kunci public di antaranya adalah : Digital Signature Algorithm

(DSA), RSA,  Diffle-Hellman  (DH),  Elliptic Curve Cryptography  (ECC), Kriptografi Quantum, dan lain sebagainya.

3. Fungsi Hash

(7)

I.3 Algoritma Kriptografi Klasi k

Algoritma kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk mengamankan data. Teknik ini telah digunakan beberapa abad yang lalu. Teknik dasar yang biasa digunakan adalah sebagai berikut :

1. Substitusi

Penggantian setiap karakter teks-asli dengan karakter lain berdasarkan tabel substitusi yang dibuat, dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan dekripsi. Contohnya : tabel subsitusi Caesar Chipher  dan ROT 13

SISTEM VLVWHP (M enggunanakn Caesar Chipher ) 2. Blocking

M embagi  plaintext  menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen. Dengan menggunakan enkripsi blocking  dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini.

Gambar 2 - Contoh Blocking

3. Permutasi

Sering juga disebut transposisi, teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu. Prinsipnya adalah berlawanan dengan teknik substitusi. Dalam teknik substitusi, karakter berada pada posisi yang tetap tapi identitasnya yang diacak. Pada teknik permutasi, identitas karakternya tetap, namun posisinya yang diacak. Sebelum dilakukan permutasi, umumnya  plaintext  terlebih dahulu dibagi menjadi blok- blok dengan panjang yang sama.

(8)

4. Ekspansi

Suatu metode sederhana untuk mengacak pesan adalah dengan memanjangkan pesan itu dengan aturan tertentu. Salah satu contoh penggunaan teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di akhir kata itu dan menambahkan akhiran "an". Bila suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran "i".

Gambar 4 - Contoh Ekxpansi

5. Pemampatan

M engurangi panjang pesan atau jumlah bloknya. Contoh sederhana ini menggunakan cara menghilangkan setiap karakter ke-tiga secara berurutan. Karakter-karakter yang dihilangkan disatukan kembali dan disusulkan sebagai "lampiran" dari pesan utama, dengan diawali oleh suat u karakter khusus, dalam contoh ini digunakan "&".

Gambar 5 - Contoh Pemampatan

I.4 Algoritma Kriptografi Modern

Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher  substitusi atau cipher  transposisi dari algoritma kript ografi klasik). Op erasi dalam mode bit berarti semua data dan informasi (baik kunci,  plainteks, maupun ciphertext ) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1.

(9)

7

Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian bit yang menyatakan plaintext   dienkripsi menjadiciphertext  dalam  bentuk rangkaian bit, demikian sebaliknya.

Enkripsi modern berbeda dengan enkripsi konvensional. Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya, berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer mauapun yang bukan. Hal ini sangat berguna untuk melindungi privacy, data integrity, authentication  dan non-repudiation. Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner.[3]

(10)

BAB II

PEMBAHASAN

II.1 Kriptografi S ime tri

Sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan enkripsi maupun dekripsi. Algoritma ini sudah ada sejak lebih dari 4000 tahun yang lalu. Bila mengirim pesan dengan menggunakan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang terkirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang tersebut akan dapat melakukan enkripsi dan dekripsi terhadap pesan.[4]

Gambar 6 - Kriptografi Simetri [5]

I. Block Cipher

Yaitu proses penyandiannya berorientasi padasekumpulan bit atau byte data (per  blok). Berikut ini merupakan beberapa algoritma kriptografi yang dikembangkan

menggunakan krip tografi simetri dan merupakan pengembangan dari krip tografi klasik.

1. Data Encryption Standard (DES)

Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada algoritma LUCIFER yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat. [6]

DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher 

 blok. DES beroperasi p ada ukuran blok 64 bit. DES mengenkripsikan 64 bit p lainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key)

(11)

atau upa-kunci ( subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.

Skema global dari algoritma DES adalah sebagai berikut :

1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).

2. Hasil permutasi awal kemudian di-enciphering - sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal y ang berbeda.

3. Hasil enciphering  kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.

Gambar 7 - Skema Global DES

Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal K i. Keluaran dai fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru langsung diambil dari  blok R sebelumnya. Ini adalah satu putaran DES. Secara matematis, satu p utaran DES

dinyatakan sebagai :

  Li = Ri – 1

(12)

Plainteks IP  L0 R0  f   ) , ( 0 1 0 1  L  f  R  K   R    L1 = R0  K 1  f 

) , ( 1 2 1 2  L  f  R  K   R    L2 = R1  K 2 ) , ( 14 15 14 15  L  f  R  K   R    L15 = R14  K 16 ) , ( 15 16 15 16  L  f  R  K   R   L 16 = R15 IP-1 Cipherteks  f 

(13)

Keamanan DES

Isu-isu y ang menyangkut keamanan DES : 1. Panjang kunci

Panjang kunci eksternal DES hanya 64 bit atau 8 karakter, itupun yang dipakai hanya 56 bit. Tahun 1998, Electronic Frontier Foundation (EFE) merancang dan membuat perangkat keras khusus untuk menemukan kunci DES secaraexhaustive  search key  dengan biaya $250.000 dan diharapkan dapat menemukan kunci selama 5 hari. Tahun 1999, kombinasi perangkat keras EFE dengan kolaborasi internet yang melibatkan lebih dari 100.000 komputer dapat menemukan kunci DES kurang dari 1 hari.

2. Jumlah putaran

Berdasarkan penelitian, DES dengan jumlah putaran yang kurang dari 16 ternyata dapat dipecahkan dengan known-plaintext attack   lebih mangkus daripada dengan

brute force attack .

3. Kotak-S

Pengisian kotak-S DES masih menjadi misteri tanpa ada alasan mengapa memilih konstanta-konstanta di dalam kotak itu.

4. Kunci Lemah dan Kunci Setengah Lemah

DES mempunyai beberapa kunci lemah (weak key). Kunci lemah menyebabkan kunci-kunci internal p ada setiap putaran sama (K1 = K2 = … = K16). Akibatny a, enkripsi dua kali berturut-turut terhadap plainteks menghasilkan kembali plainteks semula. Kunci lemah terjadi bila bit-bit di dalam Ci dan Di semuanya 0 atau 1, atau setengah dari kunci seluruh bitnya 1 dan setengah lagi seluruhnya 0. Kunci eksternal (dalam notasi HEX) yang menyebabkan terjadinya kunci lemah adalah (ingat bahwa setiap bit kedelapan adalah bit paritas).

2. International Data Encryption Algorithm (IDEA)

Adalah algoritma enkripsi blok kunci yang aman dan rahasia yang dikembangkan oleh James Massey dan Xuejia Lai. Algoritma ini berkembang pada 1992 dari algoritma semula yang disebut dengan Proposed Encryption Standard and The Inproved Proposed Encryption Standard . IDEA beroperasi p ada blok plaintext  64  bit dan menggunakan kunci 128 bit. Algoritma IDEA menggunakan delapanround 

(14)

dan beroperasi pada subblok 16 bit dengan menggunakan kalkulasi aljabar yang dapat digunakan untuk implementasi hardware. Operasi ini adalah penjumlahan modulo 216, perkalian modulo 216 + 1, dan XOR. Dengan kunci 128 bitnya, cipher  IDEA lebih sulit untuk dibobol daripada DES. [7]

Pada Algoritma IDEA, plaintext memiliki panjang 64 bit dan kunci sepanjang 128 bit. Metodologi dari algoritma IDEA menggunakan operasi yang berbeda seperti  berikut ini :

 Bit p er bit XOR 16 bit sub-block

 Penambahan 16 bit integer modulo 216

 Perkalian 16 bit integer modulo 216+1

 Operasi ini tidak berlaku hukum distributif atau hukum asosiatif.

Langkah-l angkah Enkripsi IDEA adalah sebagai berikut :

 Blok pesan terbuka dengan lebar 64-bit, X, dibagi menjadi 4 sub-blok 16-bit, X1, X2, X3, X4, sehingga X = (X1, X2, X3, X4). Keempat sub-blok 16-bit itu ditransformasikan menjadi sub-blok 16-bit, Y1, Y2, Y3, Y4, sebagai pesan rahasia 64-bit Y = (Y1, Y2, Y3, Y4) yang berada dibawah kendali 52 subblok kunci 16- bit y ang dibentuk dari blok kunci 128 bit.

 Keempat sub-blok 16-bit, X1, X2, X3, X4, digunakan sebagai masukan untuk  putaran pertama dari algoritma IDEA. Dalam setiap putaran dilakukan operasi XOR, penjumlahan, perkalian antara dua sub-blok 16-bit dan diikuti pertukaran antara sub-blok 16-bit putaran kedua dan ketiga. Keluaran putaran sebelumnya menjadi masukan putaran berikutnya. Setelah putaran kedelapan dilakukan transformasi keluaran y ang dikendalikan oleh 4 sub-blok kunci 16-bit.

 Pada setiap putaran dilakukan operasi-operasi sebagai berikut : 1. Perkalian X1 dengan sub-kunci pertama, A = X1 ¤ K1 2. Penjumlahan X2 dengan sub-kunci kedua, B = X2 + K2 3. Pejumlahan X3 dengan sub kunci ketiga, E = A © C 4. Perkalian X4 dengan sub kunci keempat, C = X3 + K3 5. Operasi XOR hasil langkah 1 dan 3, D = X4 ¤ K4 6. Operasi XOR hasil langkah 2 dan 4, F = B © D

(15)

8. Penjumlahan hasil langkah 6 dengan langkah 7, H = G + F 9. Perkalian hasil langkah 8 dengan sub-kunci keenam, J = H ¤ K6 10. Penjumlahan hasil langkah 7 dengan 9, L = J + G

11. Operasi XOR hasil langkah 1 dan 9, R1 = A © J 12. Operasi XOR hasil langkah 3 dan 9, R2 = C © J 13. Op erasi XOR hasil langkah 2 dan 10, R3 = B © L 14. Operasi XOR hasil langkah 4 dan 10, R4 = D © L

Ket : © = Xor, ¤ = Perkalian Modulo 216 + 1, + = Penambahan modulo 216.

(16)

Keluaran setiap putaran adalah 4 sub-blok yang dihasilkan pada langkah 11, 12, 13, dan 14 dan menjadi masukan putaran berikutny a. Setelah putaran kedelapan terdapat transformasi keluaran, y aitu :

1. Perkalian X1 dengan sub-kunci pertama 2. Penjumlahan X2 dengan sub-kunci ketiga 3. Penjumlahan X3 dengan sub-kunci kedua 4. Perkalian X4 dengan sub-kunci keempat

Terakhir, keempat sub-blok 16-bit 16-bit yang merupakan hasil operasi 1, 2, 3, dan 4 digabung kembali menjadi blok p esan rahasia 64-bit.

Untuk proses De skripsi IDEA :

Proses dekripsi menggunakan algoritma yang sama dengan proses enkripsi tetapi 52 buah sub-blok kunci yang digunakan masing-masing merupakan hasil turunan 52 buah sub-blok kunci enkripsi.

(17)

3. Advanced Encryption Standard (AES)

 Advanced Encryption Standard   (AES) merupakan standar enkripsi dengan kunci-simetris yang diadopsi oleh p emerintah Amerika Serikat. Standar ini terdiri atas 3 blok cipher, yaitu AES-128, AES-192 and AES-256, yang diadopsi dari koleksi yang lebih besar yang awalnya diterbitkan sebagai Rijndael. M asing-masing cipher memiliki ukuran 128-bit, dengan ukuran kunci masing-masing 128, 192, dan 256 bit. AES telah dianalisis secara luas dan sekarang digunakan di seluruh dunia, seperti halnya dengan pendahulunya, Data Encryption Standard  (DES). [8]

AES diumumkan oleh Institut Nasional Standar dan Teknologi (NIST) sebagai Standar Pemrosesan Informasi Federal (FIPS) publikasi 197 (FIPS 197) pada tanggal 26 November 2001 setelah proses s tandardisasi selama 5 tahun, di mana ada 15 desain enkripsi yang disajikan dan dievaluasi, sebelum Rijndael terpilih sebagai yang paling cocok. AES efektif menjadi standar pemerintah Federal pada tanggal 26 Mei 2002 setelah persetujuan dari Menteri Perdagangan. AES tersedia dalam berbagai paket enkripsi yang berbeda. AES merupakan standar yang pertama yang dapat diakses  publik dan sandi-terbuka yang disetujui oleh NSA unt uk informasi rahasia.

Rijndael dikembangkan oleh dua kriptografer Belgia, Joan Daemen dan Vincent Rijmen, dan diajukan oleh mereka untuk proses seleksi AES. Rijndael (diucapkan [rɛinda ː l]) adalah permainan kata dari kedua nama penemu.

(18)

Proses shift dalam AES

Ada 10, 12, atau 14 putaran (round ) dalam AES. Jumlah putaran ini sesuai dengan ukuran kunci yang digunakan. Setiap putarab mengandung :

 Penggantian Byte (SubByte) yang sama seperti DES

 Peralihan = Pertukaran baris

 Campur Jalur = Peralihan Kiri & XOR Bit-bit.

 Penambahan Subkunci = XOR Bagian Kunci dengan Keputusan Putaran

II S tream Cipher

Yaitu proses penyandiannya berorientasi p adasatu bit atau satu by te data. Berikut ini merupakan beberapa algoritma kriptografi yang dikembangkan menggunakan kriptografi simetri dan merupakan p engembangan dari kriptografi klasik.

1. On Time Pad (OTP)

One Time Pad  (OTP) atau yang sering disebut sebagai Vernam cipher karena ditemukan oleh Mayor J. Maugborne dan G. Vernam ditahun 1917. Metode ini telah diklaim sebagai satu-satunya algoritma kriptografi sempurna yang tidak dapat dipecahkan. Suatu algoritma dikatakan aman, apabila tidak ada cara untuk menemukan plaintext -nya Sampai saat ini, hanya algoritma One Time Pad   (OTP) yang dinyatakan tidak dapat dipecahkan meskipun diberikan sumber daya yang tidak terbatas. Algoritma One Time Pad   adalah salah satu jenis algorima simetri (konvensional).[9]

Jumlah kunci sama panjangnya dengan jumlah plainteks. Jika anda ingin agar cipherteks sulit untuk di pecahkan maka pemakaian kunci seharusnya :

 Jangan gunakan kunci yang berulang

 Pilihkan kunci yang random

Pemakaian One Time Pad   digunakan pada sederetan abjad A..Z dengan memberikan nilai urutan abjad yaitu A=0, B=1, C=2, D=3, E=4…..sampai Z. Rumus melakukan One Time Pad ini yaitu :

 Enkripsi : E(x) = (P(x) + K(x) ) Mod 26

(19)

Contoh Enkripsi Pesan :

 Pesan : BUDIDARM A

 Kunci : ABCDEFGH I

M aka langkah-langkahnya sep erti di bawah ini :

 Plainteks 1(B) 20(U) 3(D) 8(I) 3(D) 0(A) 17(R) 12(M) 0(A)

 Kunci 0(A) 1(B) 2(C) 3(D) 4(E) 5(F) 6(G) 7(H) 8(I)

 --- +

 Hasil mod 26 1 21 5 11 7 5 23 19 8

 Chiperteks B V F L H F X T I

Jadi Chiperteks yang di hasilkan yaitu : BVFLHFXTI Deskripsi pesan, perhatikan langkah di bawah ini :

 Chiperteks 1(B) 21(V) 5(F) 11(L) 7(H) 5(F) 23(X) 19(T) 8(I)

 Kunci 0(A) 1(B) 2(C) 3(D) 4(E) 5(F) 6(G) 7(H) 8(I)

- Hasil mod 26 1 20 3 8 3 0 17 12 0

 Plainteks B U D I D A R M A

Jadi Plainteks yaitu : BUDIDARM A

2. A5

Algoritma A5 adalah cipher aliran yang digunakan untuk mengenkripsi pesan dalam transmisi udara. Cipher aliran ini diinisialisasi setiap frame dikirim. Cipher aliran ini diinisialisasi dengan kunci sesi, Kc, dan jumlah frame yang akan dienkripsi. Kunci sesi yang sama digunakann sepanjang panggilan berlangsung, tetapi 22 bit nomor frame berubah selama proses berlangsung, kemudian membangkitkan

(20)

Kunci yang digunakan dalam algoritma ini adalah 64 bit Kc, ditambah input  berupa nomer frame TDM A dalam suatu multiframe. Outp ut y ang dihasilkan berupa sepasang 114 bit codeword   (S1 dan S2) untuk arahdownlink  danuplink . Selanjutnya masing-masing codeword   di-XOR dengan 114 bit plain text  untuk menghasilkan 114  bit chipertext  yang akan dikirimkan.

Jaringan GSM saat ini menggunakan algoritma A3, A8, dan A5 dalam sistem  pengamananny a. Algoritma A3 dan A8 digunakan dalam proses autentikasi, yaitu  proses pengenalan identitas pelanggan, yang terjadi pada M S ( Mobile Station) dan

AUC ( Authentication Centre). Sedangkan algoritma A5 digunakan dalam proses  pengiriman informasi pada link radio antara M S dengan BTS ( Base Transceiver Station). Namun pada sistem pengamanan dengan menggunakan algoritma ini ditemukan kelemahan-kelemahan yang memungkinkan terjadinya penyadapan data ataupun penipuan identitas pelanggan.digunakan pula jaringan feistel atau dan chiper  berulang.

3. RC4

RC4 merupakan salah satu jenis stream cipher , yaitu memproses unit atau input data, p esan atau informasi pada satu saat. Unit atau data pada umumnya sebuah

byte  atau bahkan kadang kadang bit (byte  dalam hal RC4). Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data, pesan atau informasi tertentu sebelum diproses, atau menambahkan by te tambahan untuk mengenkrip.[11]

RC4 merupakan enkripsi stream simetrik proprietary  yang dibuat oleh RSA  Data Security Inc (RSADSI). Penyebarannya diawali dari sebuah source code yang diyakini sebagai RC4 dan dipublikasikan secara 'anonymously' pada tahun 1994. Algoritma yang dipublikasikan ini sangat identik dengan implementasi RC4 pada  produk resmi. RC4 digunakan secara luas pada beberapa aplikasi dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada yang dapat memecahkan/membongkarnya, hanya saja versi ekspor 40 bitnya dapat dibongkar dengan cara "brute force" (mencoba semua kunci yang mungkin). RC4 tidak dipatenkan oleh RSADSI, hanya saja tidak diperdagangkan secara bebas (trade  secret ).

(21)

Algoritma RC4 cukup mudah untuk dijelaskan. RC4 mempunyai sebuah S- Box, S0,S1,...,S255, yang berisi permutasi dari bilangan 0 sampai 255, dan permutasi

merupakan fungsi dari kunci dengan panjang yang variabel. Terdapat dua indeks yaitu i dan j, yang diinisialisasi dengan bilangan nol. Untuk menghasilkan random by te langkahnya adalah sebagai berikut :

 i = ( i + 1 ) mod 256

  j = ( j + Si ) mod 256

 swap Si dan S j

 t = (Si + S j) mod 256

 K = St

Byte K di XOR dengan plaintext  unt uk menghasilkanciphertext  atau di XOR dengan cipherteks untuk menghasilkan plaintext . Enkripsi sangat cepat kurang lebih 10 kali lebih cepat dari DES. Inisialisasi S-Box juga sangat mudah. Pertama isi secara  berurutan S0  = 0, S1  = 1,...,S255 = 255. Kemudian isi array 256 byte lainnya dengan kunci yang diulangi sampai seluruh array K 0, K 1,...,K 255 terisi seluruhnya. Set indeks j dengan nol, Kemudian lakukan langkah berikut :

 for i = 0 to 255

  j = (j + Si + Ki) mod 256

 swap Si dan S j

Salah satu kelemahan dari RC4 adalah terlalu tingginya kemungkinan terjadi tabel S-box yang sama, hal ini terjadi karena kunci user diulang-ulang untuk mengisi 256 bytes, sehingga 'aaaa' dan 'aaaaa' akan menghasilkan permutasi yang sama. Untuk mengatasi ini maka pada implementasinya nanti kita menggunakan hasil hash 160 bit SHA dari password kita untuk mencegah hal ini terjadi. Kekurangan lainnya ialah karena enkripsi RC4 adalah XOR antara data bytes dan pseudo-random byte stream

yang dihasilkan dari kunci, maka penyerang akan mungkin untuk menentukan  beberapa byte pesan orisinal dengan meng-XOR dua set cipher byte, bila beberapa dari pesan input diketahui (atau mudah untuk ditebak). Untuk mengatasinya pada aplikasinya kita menggunakan initialization vector (IV) yang berbeda-beda untuk setiap data, sehingga bahkan untuk file yang sama akan dihasilkan ciphertext   yang

(22)

 berbeda. IV ini tidak perlu dirahasikan karena digunakan hanya agar setiap p roses enkripsi akan menghasilkan ciphertext  yang berbeda.

Untuk lebih meningkatkan keamanan dari metoda ini dapat juga mengembangkan inisialisasi kunci yang baru yang kita sebut saja inisialisasi SK ( strengtened key), pada proses ini kunci user di-expand   hingga 260 byte (tetapi kemudian hanya 256 byte saja yang digunakan) dengan menggunakan SHA-1, caranya pertama kunci user dijadikan kunci, kemudian 1-20 byte pertama pada buffer diproses dengan SHA kemudian digestnya diletakan pada 20 byte pertama, kemudian diambil byte 1-40 diproses dengan SHA dan hasilnya diletakan mulai pada byte 20,  berikutny a by te 1-60 hasilnya diletakkan pada mulai byte 40, dan seterusny a.

Kemudian buffer ini dienkrip dengan RC4, lalu buffer dijadikan kunci kembali,  proses terakhir ini diulang sebanyak 16 kali untuk mencoba mencampur dengan baik

sehingga dihasilkan kunci yang se-random mungkin.

II.2 Kriptografi Asimetri

Sering juga disebut dengan algoritma kunci  public, dengan arti kata kunci yang digunakan melakukan enkripsi dan dekripsi berbeda. Pada algoritma asimetri kunci terbagi menjadi dua bagian, yaitu :

a. Kunci umum ( public k ey), kunci yang boleh semua orang tahu (dipublikasikan).

 b. Kunci rahasia ( private key), kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang atau orang tertentu).

Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci  public  orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsikannya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsikan pesan tersebut. Algoritma asimetri bisa mengirimkan  pesan dengan lebih aman daripada algoritma simetri.

Gambar 9 - Kriptografi Asimetris

ENKRIPSI DESKRIPSI

Plaintext Chipertext Plaintext

(23)

1. RS A (Rivest—S hamir—Adle man)

Merupakan algoritma yang paling populer dari algoritma kriptografi kunci-publik yang pernah dibuat. Algoritma RSA dibuat oleh 3 orang peneliti dari MIT ( Massachussets Institute of Technology) pada tahun 1976, yaitu: Ron Rivest, Adi Shamir, dan Leonard Adleman. [12]

Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap t erjamin.

Besaran-besaran yang digunakan pada algoritma RSA : 1.  p danq bilangan prima (rahasia)

2. r  = p  q (tidak rahasia)

3. (r ) = ( p – 1)(q – 1) (rahasia) 4.  PK  (kunci enkripsi) (tidak rahasia) 5. SK  (kunci dekripsi) (rahasia)

6.  X  (plainteks) (rahasia)

7. Y  (cipherteks) (tidak rahasia)

 Algoritma RSA didasarkan pada teorema Euler yang menyatakan bahwa :

a (r )  1 (modr ) (1)

yang dalam hal ini :

1. a harus relatif prima terhadapr 

2. (r ) = r (1 – 1/ p1)(1 – 1/ p2) … (1 – 1/ pn), yang dalam hal ini p1, p2, …, pn adalah faktor prima darir .

 (r ) adalah fungsi yang menentukan berapa banyak dari bilangan-bilangan 1, 2, 3, …,

r  yang relatif prima terhadapr .

 Berdasarkan sifat am  bm  (mod r ) untuk m bilangan bulat  1, maka persamaan (1) dapat ditulis menjadi a m(r )  1m (modr ) atau am(r )  1 (modr )  (2)

 Bila a diganti dengan X , maka persamaan (2) menjadi X m(r )  1 (mod )  (3)

 Berdasarkan sifat ac  bc (mod r ), maka bila persamaan (3) dikali dengan X   menjadi:

 X m(r ) + 1 X  (modr )  (4)

yang dalam hal ini X  relatif prima terhadapr .

(24)

AtauSK  PK  = m(r ) + 1  (6)

 Sulihkan (6) ke dalam persamaan (4) menjadi: XSK  PK  X  (modr )  (7)

 Persamaan (7) dapat ditulis kembali menjadi ( X PK )SK  X  (modr )  (8)

yang artinya, perpangkatan X   dengan PK   diikuti dengan perpangkatan dengan SK 

menghasilkan kembali X   semula.

 Berdasarkan persamaan (8), maka enkripsi dan dekripsi dirumuskan sebagai berikut :

 E  PK ( X ) = Y  X   PK 

 modr   (8)

 DSK (Y ) = X  Y SK  modr   (9)

 Karena SK    PK = PK   SK , maka enkripsi diikuti dengan dekripsi ekivalen dengan dekripsi diikuti enkripsi : E SK ( DSK ( X )) = DSK ( E  PK ( X ))  X 

 PK 

 mod r   (10)

 Oleh karena X  PK  mod r  ( X + mr ) PK  mod r   untuk sembarang bilangan bulatm, maka tiap plainteks X , X + r , X + 2r , …, menghasilkan cipherteks yang sama. Dengan kata lain, transformasinya dari banyak ke satu. Agar transformasinya satu-ke-satu, maka X 

harus dibatasi dalam himpunan {0, 1, 2, …, r   – 1} sehingga enkripsi dan dekripsi tetap benar seperti pada persamaan (8) dan (9).

Prosedur Membuat Pasangan Kunci

1. Pilih dua buah bilangan prima sembarang, p dan q.

2. Hitung r = p  q. Sebaiknya p  q, sebab jika p = q  maka r = p2  sehingga p  dapat diperoleh dengan menarik akar p angkat dua darir .

3. Hitung(r ) = ( p – 1)(q – 1).

4. Pilih kunci publik, PK , yang relatif prima terhadap(r ).

5. Bangkitkan kunci rahasia dengan menggunakan persamaan (5), yaitu SK  PK  1 (mod(r )).

Perhatikan bahwa SK  PK   1 (mod (r )) ekivalen dengan SK  PK   = 1 + m(r ),

sehingga SK  dapat dihitung dengan

 PK 

m

SK 

1

 

(

)

 (11) Akan terdapat bilangan bulatm yang menyebabkan memberikan bilangan bulatSK .

Contoh :  Misalkan plainteks yang akan dienkripsikan adalah X   = HARI INI atau dalam sistem desimal (pengkodean ASCII) adalah 7265827332737873. Pecah X  menjadi  blok yang lebih kecil, misalnya X  dip ecah menjadi enam blok yang berukuran 3 digit:

(25)

o  x2 = 582  x5 = 787 o  x3 = 733  x6 = 003

 Nilai-nilai xi ini masih terletak di dalam rentang 0 sampai 3337 – 1 (agar transformasi

menjadi satu-ke-satu). Blok-blok plainteks dienkripsikan sebagai berikut:

 72679 mod 3337 = 215 = y1  58279 mod 3337 = 776 = y2  73379 mod 3337 = 1743 = y3  27379 mod 3337 = 933 = y4  78779 mod 3337 = 1731 = y5  00379 mod 3337 = 158 = y6

Jadi, cipherteks y ang dihasilkan adalah Y  = 215 776 1743 933 1731 158.

Dekripsi dilakukan dengan menggunakan kunci rahasia SK   = 1019. Blok-blok cipherteks didekripsikan sebagai berikut:

 2151019 mod 3337 = 726 = x1  7761019 mod 3337 = 582 = x2  17431019 mod 3337 = 733 = x3

 …

Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula P   = 7265827332737873 yang dalam karakter ASCII adalah P  = HARI INI.

Kekuatan dan Keamanan RSA

 Keamanan algoritma  RSA  terletak pada tingkat kesulitan dalam memfaktorkan  bilangan non p rima menjadi faktor p rimanya, yang dalam hal inir  = p  q.

 Sekali r   berhasil difaktorkan menjadi p  dan q, maka (r ) = ( p  – 1) (q  – 1) dapat dihitung. Selanjutnya, karena kunci enkrispi PK   diumumkan (tidak rahasia), maka kunci dekripsiSK  dapat dihitung dari persamaan PK  SK  1 (mod(r )).

 Penemu algoritma RSA  menyarankan nilai p  dan q  panjangnya lebih dari 100 digit. Dengan demikian hasil kali r = p  q  akan berukuran lebih dari 200 digit. Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit

(26)

membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).

 Untunglah algoritma yang paling mangkus untuk memfaktorkan bilangan yang besar  belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan bulat menjadi faktor primanya, maka algoritma  RSA  tetap direkomendasikan untuk menyandikan pesan.

2.  Diffie-Hellman (DH)

Diffie – Hellman pertama kali memperkenalkan algoritma kunci publik pada tahun 1976. Algoritma ini memiliki keamanannya dari kesulitan menghitung logaritma diskrit dalan finite field , dibandingkan kemudahan dalam menghitung bentuk eksponensial dalam

 finite field   yang sama. Algoritma ini dapat digunakan dalam mendistribusikan kunci  publik yang dikenal dengan protokol pertukaran kunci.[13]

Penjelasan protokol pertukaran kunci ini dapat diilustrasikan antara dua orang, misalkan saja Tera  dan Jana, yang keduanya sepakat mengenai bilangan prima yang  besar misalkan n  dan g   dimana g   merupakan modulo n. Selanjutnya akan terdapat dua  buah integer yang tidak dirahasiakan atau merupakan kunci publik dan dapat

didistribusikan dalam saluran bebas. Proses berikutnya dijelaskan dalam tahapan-tahapan di bawah ini :

Algoritma Pertukaran Kunci D iffie -Hellman

Berikut ini algoritma pertukaran kunci Diffien – Hellman yang diilustrasikan dua orang user Tera dan Jana

1. Tera  memilih secara acak sebuah bilangan integer  x   yang besar dan mengirimkannnya ke Jana. X  = g  x modn

2. Jana  memilih secara acak sebuah bilangan integer y yang besar dan mengirimkannya ke Tera.Y = g  y modn

3. Tera menghitung nilai k 1 = Y x modn

(27)

maka kedua nilai k 1  dan k 2  adalah sama untuk g  xy  mod n, sehingga k   adalah kunci rahasia Tera dan Jana yang dihitung secara terpisah.

3.  Ell iptic Curve Cryptography (ECC)

Pada tahun 1985, Neil Koblitz dan Viktor Miller secara terpisah memproposalkan kriptosistem kurva elips ( Elliptic Curves Cryptosystem - ECC ) yang menggunakan masalah logaritma diskrit pada titik-titk kurva elips yang disebut dengan ECDLP ( Elliptic Curves Discrete Logarithm Problem). Kriptosistem kurva ellips ini dapat digunakan pada  beberepa keperluan sep erti :

 Skeme enkripsi (ElGamal ECC)

 Tanda tangan digital (ECDSA – Elliptic Curves Digital Signature)

 Protokol pertukaran kunci (Diffie Hellman ECC)

Kriptosistem kurva elips (elliptic curves cryptosystem) atau disingkat dengan ECC, merupakan salah satu sistem kriptografi asimetris yang menggunakan persoalan logaritma diskrit (discrete logarithm problem). Struktur kurva elips digunakan sebagai grup operasi matematis untuk melangsungkan proses enkripsi dan deskripsinya. Pada tulisan ini diuraikan teknik dasar ECC yang diimplementasikan pada protokol pertukaran kunci  publik Diffie-Hellman dan Skema enkripsi ElGamal. Jumlah bit yang digunakan pada  parameter-p arameter ECC berkisar antara 32 bit sampai dengan 256 bit dengan kenaikan

masing-masing sebesar 32 bit.

Pada pertukaran kunci, hasil implementasinya memperlihatkan pertukaran kunci  publik antara dua user dan menghitungnya dimasing-masing user yang akan menghasilkan kunci rahasia bersama. Sementara pada skema enkripsi, hasil implementasi telah menunjukan pesan berupa bilangan integer besar dipetakan dalam titik kurva yang kemudian dienkripsi berhasil dibuka kembali pada proses deskripsinya.

4.  Digital S ignature Algorithm (DS A)

Pada bulan Agustus 1991, NIST (The National Institute of Standard and Technology) mengumumkan algoritma sidik dijital yang disebut Digital Signature Algorithm  (DSA). DSA dijadikan sebagai bakuan ( standard ) dari Digital Signature Standard   (DSS). DSS adalah standard, sedangkan DSA adalah algoritma. Standard tersebut menggunakan algoritma ini, sedangkan algoritma adalah bagian dari standard (selain DSA, DSS menggunakan Secure Hash Algorithm atau SHA sebagai fungsi hash). DSA termasuk ke

(28)

dalam sistem kriptografi kunci-publik. Meskipun demikian, DSA tidak dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama: [14]

1. Pembentukan sidik dijital ( signature generation), dan

2. Pemeriksaan keabsahan sidik dijital ( signature verivication).

Sebagaimana halnya pada algoritma kriptografi kunci-publik, DSA menggunakan dua  buah kunci, y aitu kunci p ublik dan kunci rahasia. Pembentukan sidik dijital menggunakan kunci rahasia pengirim, sedangkan verifikasi sidik dijital menggunakan kunci publik  pengirim. DSA menggunakan fungsi hash  SHA (Secure Hash Algorithm) untuk

mengubah pesan menjadi message digest   yang berukuran 160 bit (SHA akan dijelaskan  pada kuliah selanjutnya).

Parameter DSA

DSA dikembangkan dari algoritma Elgamal. DSA menggunakan beberapa parameter sebagai berikut:

1.  p, adalah bilangan prima dengan panjang L bit, yang dalam hal ini 512 L  1024 dan

 L harus kelipatan 64. Parameter p bersifat publik dan dapat digunakan bersama-sama oleh orang di dalam kelompok.

2. q, bilangan prima 160 bit, merupakan faktor dari p – 1. Dengan kata lain, ( p – 1) mod

q = 0. Parameterq bersifat p ublik.

3.  g = h( p  – 1)/q mod p, yang dalam hal ini h < p – 1 sedemikian sehinggah( p – 1)/q mod p > 1. Parameter g  bersifat publik.

4.  x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci rahasia. 5.  y = g  x mod p, adalah kunci publik.

6. m, pesan yang akan diberi sidik digital. Pembentukan S epasang Kunci

1. Pilih bilangan p rima p dan q, yang dalam hal ini ( p – 1) mod q = 0.

2. Hitung g  = h( p – 1)/q mod p, yang dalam hal ini 1 <h < p – 1 dan h( p – 1)/q mod p > 1. 3. Tentukan kunci rahasia x, yang dalam hal ini x < q.

4. Hitung kunci publik y = g  xmod p.

Pembentukan S idik Dijital ( Signing )

1. Ubah pesanm menjadi message digest  dengan fungsihash SHA, H . 2. Tentukan bilangan acakk  < q.

(29)

3. Sidik dijital dari pesanm adalah bilangan r  dan s. Hitungr  dan s sebagai berikut:

r  = ( g k  mod p) modq

 s = (k  – 1( H (m) + x * r)) modq

4. Kirim pesanm dan sidik dijitalr  dan s.

Verifikasi Keabsahan S idik Dijital (Verifying )

1. Hitung

w = s – 1 modq

u1= ( H (m) *w) modq u2= (r  *w) modq

v = (( g u1 * yu2) mod p) modq)

2. Jika v = r , maka sidik dijital sah, yang berarti bahwa pesan masih asli dan dikirim oleh pengirim yang benar.

Contoh Perhitungan DSA a.  Pembentukan Sepasang Kunci

1. Pilih bilangan p rima p dan q, yang dalam hal ini ( p – 1) mod q = 0.

 p = 59419

q = 3301 (memenuhi 3301 * 18 = 59419 – 1)

2. Hitung g  = h( p – 1)/q mod p, yang dalam hal ini 1 <h < p – 1 danh( p – 1)/q mod p > 1.

 g  = 18870 (dengan h = 100)

3. Tentukan kunci rahasia x, yang dalam hal ini x < q.

 x = 3223

4. Hitung kunci publik y = g  x mod p.

 y = 29245

 b.  Pembentukan Sidik Digital (Signing)

1. Hitung nilai hash dari pesan, misalkan H (m) = 4321 2. Tentukan bilangan acakk  < q.

k  = 997

k  – 1 = 2907 (mod 3301)

3. Hitungr  dan s sebagai berikut:

r  = ( g k  mod p) modq = 848

 s = (k  – 1( H (m) + x * r)) modq

= 7957694475 mod 3301 = 183

(30)

c. Verifikasi Keabsahan Sidik Digital  1. Hitung  s – 1= 469 (mod 3301) w = s – 1mod q = 469 u1= ( H (m) *w) modq 2026549 mod 3301 = 3036 u2= (r  *w) modq = 397712 mod 3301 = 1592

v = (( g u1 * yu2) mod p) modq) = 848 mod 3301 = 848 2. Karena v = r , maka sidik digital sah.

Imple mentasi DS A

 Adanya batasan bahwa nilai p mempuny ai panjang 512 sampai 1024 bit danq  160- bit, menyebabkan DSA hampir tidak mungkin diimplementasikan dalam perangkat

lunak. Panjang bit yang besar ini dimaksudkan agar upaya untuk memecahkan  parameter yang lain sangat sulit dilakukan.

 Compiler C   hanya sanggup menyatakan bilangan bulat hingga 232. Oleh karena itu,  bila DSA diimplementasikan dalam perangkat lunak, batasan panjang bit p  dan q

diubah hingga maksimum nilai p danq adalah 232.

II.3 Kriptografi Fungsi Hash

Sering disebut dengan funsi satu arah (one-way function), message digest , fingerprint , fungsi kompresi dan message authentication code  (MAC), merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan  biner dengan panjang y ang tetap. Fungsi hash biasanya diperlukan bila ingin membuat sidik  jari dari suatu pesan. Sidik jari pada p esan merupakan suatu tanda bahwa pesan tersebut  benar-benar berasal dari orang-orang yang diinginkan.

1. MD5 ( Message Digest  5)

MD5 adalah salah satu dari serangkaian algoritma (merupakan salah satu fungsi hash)

message digest  yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja analitik menunjukkan bahwa pendahulu MD5, yaitu MD4 mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin).[15]

Pada tahun 1993, den Boer dan Bosselaers memberikan awal, bahkan terbatas, hasil dari penemuan  pseudo-collision  dari fungsi kompresi MD5. Dua vektor inisialisasi  berbeda I  dan J  dengan beda 4-bit diantara keduanya.

(31)

 MD5compress( I , X ) = MD5compress( J , X )

Pada tahun 1996 Dobbertin mengumumkan sebuah kerusakan pada fungsi kompresi MD5. Dikarenakan hal ini bukanlah serangan terhadap fungsihash M D5 sepenuhnya, hal ini menyebabkan para pengguna kriptografi menganjurkan pengganti seperti WHIRLPOOL, SHA-1 atau RIPEMD-160.

Ukuran dari hash  — 128-bit — cukup kecil untuk terjadinya seranganbrute force.. MD5CRK adalah proyek distribusi mulai Maret 2004 dengan tujuan untuk menunjukkan kelemahan dari MD5 dengan menemukan kerusakan kompresi menggunakanbrute force attack . Bagaimanapun juga, MD5CRK berhenti pada tanggal 17 Agustus 2004, saat [[kerusakan hash]] pada MD5 diumumkan oleh Xiaoyun Wang, Dengguo Feng, Xuejia Lai dan Hongbo Yu. Serangan analitik mereka dikabarkan hanya memerlukan satu jam dengan menggunakan IBM P690 cluster.

Pada tanggal 1 Maret 2005, Arjen Lenstra, Xiaoyun Wang, and Benne de Weger mendemontrasikan kunstruksi dari dua buah sertifikat X.509 dengan public key  yang  berbeda dan hash M D5 yang sama, hasil dari demontrasi menunjukkan adanya kerusakan.

Konstruksi tersebut melibatkan private key untuk kedua public key t ersebut. Dan beberapa hari setelahnya, Vlastimil Klima menjabarkan dan mengembangkan algortima, mampu membuat kerusakan MD5 dalam beberapa jam dengan menggunakan sebuah komputer notebook. Hal ini menyebabkan MD5 tidak bebas dari kerusakan.

Dikarenakan MD5 hanya menggunakan satu langkah pada data, jika dua buah awalan dengan hash yang sama dapat dibangun, sebuah akhiran yang umum dapat ditambahkan  pada keduanya untuk membuat kerusakan lebih masuk akal. Dan dikarenakan teknik  penemuan kerusakan mengijinkan p endahuluan kondisi hash  menjadi arbitari tertentu,

sebuah kerusakan dapat ditemukan dengan awalan apapun. Proses tersebut memerlukan  pembangkitan dua buah file perusak sebagai file template, dengan menggunakan blok 128-byte dari tatanan data pada 64-byte batasan, file-file tersebut dapat mengubah dengan  bebas dengan menggunakan algoritma penemuan kerusakan.

Saat ini dapat diketahui, dengan beberapa jam kerja, bagaimana proses pembangkitan kerusakan MD5. Yaitu dengan membangkitkan dua byte string  dengan hash  yang sama. Dikarenakan terdapat bilangan yang terbatas pada keluaran MD5 (2128), tetapi terdapat  bilangan yang tak terbatas sebagai masukannya, hal ini harus dipahami sebelum

(32)

kerusakan dapat ditimbulkan, tapi hal ini telah diyakini benar bahwa menemukannya adalah hal yang sulit.

Sebagai hasilnya bahwa hash  MD5 dari informasi tertentu tidak dapat lagi mengenalinya secara berbeda. Jika ditunjukkan informasi dari sebuah public key, hash

M D5 tidak mengenaliny a secara berbeda jika terdapat public key  selanjutnya yang mempunyaihash M D5 y ang sama.

Bagaimanapun juga, penyerangan tersebut memerlukan kemampuan untuk memilih kedua pesan kerusakan. Kedua pesan tersebut tidak dengan mudah untuk memberikan serangan preimage, menemukan p esan denganhash M D5 y ang sudah ditentukan, ataupun

 serangan preimage kedua, menemukan pesan dengan hash  MD5 yang sama sebagai  pesan yang diinginkan.

 Hash  MD5 lama, yang dibuat sebelum serangan-serangan tersebut diungkap, masih dinilai aman untuk saat ini. Khususnya padadigital signature lama masih dianggap layak  pakai. Seorang user boleh saja tidak ingin membangkitkan atau mempercayai signature

 baru menggunakan M D5 jika masih ada kemungkinan kecil pada teks (kerusakan dilakukan dengan melibatkan pelompatan beberapa bit pada bagian 128-byte pada masukan hash) akan memberikan perubahan yang berarti. Penjaminan ini berdasar pada  posisi saat ini dari kriptoanalisis. Situasi bisa saja berubah secara tiba-tiba, tetapi

menemukan kerusakan dengan beberapa data yang belum-ada adalah permasalahan yang lebih susah lagi, dan akan selalu butuh waktu untuk terjadinya sebuah transisi.

Cara Kerja MD5

MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran 32 bit. Keluaran algoritma diset menjadi 4 blok yang masing-masing berukuran 32 bit yang setelah digabungkan akan membentuk nilai hash 128 bit.

(33)

Gambar 10 - MD5

MD5 terdiri atas 64 operasi, dikelompokkan dalam empat putaran dari 16 operasi.

 F  : Adalah fungsi nonlinear, satu fungsi digunakan pada tiap -tiap p utaran.

  M  : Menujukkan blok 32-bit dari masukan pesan, dan

  K  : M enunjukkan konstanta 32-bit, berbeda untuk tiap-tiap op erasi.

 <<<s:M enunjukkan perp utaran bit kiri oleh s; s bervariasi untuk t iap-tiap operasi.

 : Menunjukan tambahan modulo 232.

Contoh

Berikut dapat dilihat satu buah operasi dari MD-5 dengan operasi yang dipakai sebagai contoh adalah FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<<s). Bila Mj menggambarkan pesan ke-j dari sub blok (dari 0 sampai 15) dan <<<s menggambarkan bit akan digeser ke kiri sebanyak s bit, maka keempat operasi dari masing-masing ronde adalah :

 FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + M j + ti) <<< s )

 GG(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + G(b,c,d) + M j + ti) <<< s)

 HH(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + H(b,c,d) + M j + ti) <<< s)

 II(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + I(b,c,d) + M j + ti) <<< s)

Konstanta ti didapat dari integer 232. abs(sin(i)), dimana i dalam radian.

Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer,

(34)

 b bisa saja nol dan tidak harus selalu kelipatan delapan. Pesan dengan panjang b bit dap at digambarkan sep erti berikut :m_0 m_1 …..m_(b-1)

Langkah - langkah yang dibutuhkan untuk untuk menghitung intisari pesan. Adapun langkah–langkah tersebut adalah :

1. Penambahan Bit

Pesan akan ditambahkan bit-bit tambahan sehingga panjang bit akan kongruen dengan 448, mod 512. Hal ini berarti pesan akan mempunyai panjang yang hanya kurang 64  bit dari kelipatan 512 bit. Penambahan bit selalu dilakukan walaupun panjang dari  pesan sudah kongruen dengan 448, mod 512 bit. Penambahan bit dilakukan dengan menambahkan “1” di awal dan diikuti “0” sebanyak yang diperlukan sehingga  panjang pesan akan kongruen dengan 448, mod 512.

2. Penambahan Panjang Pesan

Setelah penambahan bit, pesan masih membutuhkan 64 bit agar kongruen dengan kelipatan 512 bit. 64 bit tersebut merupakan perwakilan dari b (panjang pesan sebelum penambahan bit dilakukan). Bit-bit ini ditambahkan ke dalam dua word (32  bit) dan ditambahkan dengan low-order terlebih dahulu. Penambahan pesan ini biasa

disebut juga MD Strengthening atauPenguatan MD.

3. Inisialisasi MD5

Pada MD5 terdapat empat buah word 32 bit register yang berguna untuk menginisialisasi message digest  pertama kali. Register-register ini diinisialisasikan dengan bilangan hexadesimal.

 word A: 01 23 45 67  word B: 89 AB CD EF  word C: FE DC BA 98  word D: 76 54 32 10

Register-register ini biasa disebut dengan namaChain variabel atauvariabel rantai.

4. Proses Pesan di dalam Blok 16 Word 5. Keluaran MD5

(35)

Keluaran dari MD5 adalah 128 bit dari word terendah A dan tertinggi word D masing-masing 32 bit.

MD5 memproses variasi panjang pesan kedalam keluaran 128-bit dengan panjang yang tetap. Pesan masukan dipecah menjadi dua gumpalan blok 512-bit; Pesan ditata sehingga panjang pesan dapat dibagi 512. Penataan bekerja sebagai berikut: bit tunggal  pertama, 1, diletakkan pada akhir pedan. Proses ini diikuti dengan serangkaian nol (0) yang diperlukan agar panjang pesan lebih dari 64-bit dan kurang dari kelipatan 512. Bit- bit sisa diisi dengan 64-bit integer untuk menunjukkan panjang pesan yang asli. Sebuah  pesan selalu ditata setidaknya dengan 1-bit tunggal, sep erti jika panjang p esan adalah kelipatan 512 dikurangi 64-bit untuk informasi panjang (panjang mod(512) = 448), sebuah blok baru dari 512-bit ditambahkan dengan 1-bit diikuti dengan 447 bit-bit nol (0) diikuti dengan panjang 64-bit.

Algoritma MD5 yang utama beroperasi pada kondisi 128-bit, dibagi menjadi empat

word   32-bit, menunjukkan A, B, C   dan D. Operasi tersebut di inisialisasi dijaga untuk tetap konstan. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit, masing-masing blok melakukan pengubahan terhadap kondisi.Pemrosesan blok  pesan terdiri atas empat tahap, batasan putaran; tiap p utasan membuat 16 operasi serupa  berdasar pada fungsi non-linear F , tambahan modular, dan rotasi ke kiri. Gambar satu mengilustrasikan satu operasi dalam putaran. Ada empat macam kemungkinan fungsi F ,  berbeda dari yang digunakan pada tiap-t iap p utaran:

dan operasi XOR, AND, OR, dan NOT adalah sebagai berikut :

2. S HA1 ( Secure Hash Algorithm)

SHA adalah fungsi hash  satu-arah yang dibuat oleh NIST dan digunakan bersama DSS ( Digital Signature Standard ). Oleh NSA, SHA dinyatakan sebagai standard fungsi

(36)

hash satu-arah. SHA didasarkan pada MD4 yang dibuat oleh Ronald L. Rivest dari MIT. SHA disebut aman ( secure) karena ia dirancang sedemikian sehingga secara komputasi tidak mungkin menemukan pesan yang berkoresponden dengan message digest   yang diberikan.

Algoritma SHA menerima masukan berupa pesan dengan ukuran maksimum 264 bit (2.147.483.648  gigabyte) dan menghasilkan message digest   yang panjangnya 160 bit, lebih panjang dari message digest   yang dihasilkan oleh MD5. Gambaran pembuatan

message digest  dengan algoritma SHA diperlihatkan pada gambar dibawah :

Pesan 1000...000 Panjang Pesan

 K  bit < 26 4

 Padding bits K   L x 512 bit = N  x 32 bit

01

...

q

...

 L - 1

512 512 512 512 HSHA HSHA  ABCD 512 512 160 160 160 HSHA 512 160 160 HSHA 512 160 160  Message Digest  (1 - 512 bit)

Gambar 11 - Pembuatan Message Digest dengan Algoritma SHA

Langkah-langkah pembuatanmessage digest  secara garis besar adalah :

1. Penambahan bit-bit pengganjal ( padding bits).

 Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang  pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Ini berarti panjang  pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512.

Angka 512 ini muncul karena SHA memperoses pesan dalam blok-blok yang  berukuran 512.

(37)

 Pesan dengan panjang 448 bit pun tetap ditambah dengan bit-bit pengganjal. Jika  panjang pesan 448 bit, maka p esan tersebut ditambah dengan 512 bit menjadi 960  bit. Jadi, panjang bit-bit p engganjal adalah antara 1 sampai 512.

 Bit-bit p engganjal t erdiri dari sebuah bit 1 diikuti dengan sisany a bit 0.

2. Penambahan nilai panjang pesan semula.

 Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.

 Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi 512 bit.

3. Inisialisasi penyangga (buffer ) MD.

 SHA membutuhkan 5 buah penyangga (buffer) yang masing-masing panjangnya 32 bit (MD5 hanya mempunyai 4 buah penyangga). Total panjang penyangga adalah 5 x 32 = 160 bit. Keempat p enyangga ini menampung hasil antara dan hasil akhir.

 Kelima penyangga ini diberi nama A, B, C, D, dan E. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:

o A = 67452301

o B = EFCDAB89

o C = 98BADCFE

o D = 10325476

o E = C3D2E1F0

4. Pengolahan pesan dalam blok berukuran 512 bit.

 Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1).

 Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HSHA. Gambaran proses HSHA diperlihatkan  pada gambar berikut :

(38)

) , , ( AB CDE Y   K 0  f   AB CDE  q  A B C D

...

 A B C  D + + + +  MDq  MDq + 1 16 0 Y q 51 2  E   A B C D E  ) , , ( AB CDE Y   K 1  f 

 AB CDE  q

) , , ( AB CDE Y   K 79  f 

 AB CDE  q

 E 

Gambar 12 - Pengolahan Blok 512 bit (Proses HSHA)

 Proses H SHA  terdiri dari 80 buah putaran (MD5 hanya 4 putaran), dan masing-masing putaran menggunakan bilangan penambah K t , yaitu:

o Putaran 0  t  19  K  = 5A827999 o Putaran 20 t  39  K  = 6ED9EBA1 o Putaran 40 t  59  K  = 8F1BBCDC o Putaran 60 t  79  K  = CA62C1D6

 Pada gambar diatas, Y q  menyatakan blok 512-bit ke-q  dari pesan yang telah

ditambah bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula. MDq

adalah nilai message digest  160-bit dari proses H SHA ke-q. Pada awal proses, M Dq

 berisi nilai inisialisasi penyangga M D.

 Setiap putaran menggunakan operasi dasar yang sama (dinyatakan sebagai fungsi

(39)

ai -1 bi-1 ci-1i-1 ei -1  f  + + + + ai bi cii ei  K  CLS 5 CLS 30

Gambar 13 - Operasi Dasar SHA dalam Satu Putaran

 Operasi dasar SHA yang diperlihatkan pada gambar tersebut dapat ditulis dengan  persamaan sebagai berikut :

a, b, c, d , e  (CLS5(a) + f t (b, c,d ) + e + W t  + K t ), a, CLS30(b), c, d 

yang dalam hal ini :

o a, b, c, d , e = lima buah p eubah peny angga 32-bit (berisi nilai penyangga A, B,

C , D, E )

o t  = putaran, 0  t  79 o  f = fungsi logika

o CLS s = circular left shift  sebanyak s bit

o W  = word 32-bit yang diturunkan dari blok 512 bit yang sedang diproses o  K  = konst anta penambah

o + = operasi penjumlahan modulo 232 atau dapat dinyatakan dalam kode

 p rogram berikut : for t 0 to 79 do

TEMP(a <<< 5) + f t (b, c, d ) + e + W t  + K t )

e  d  d  c

(40)

c b <<< 30

b  a

a  TEMP endfor

y ang dalam hal ini, <<< menyatakan operasi pergeserancircular left shift.

 Fungsi f t   adalah fungsi logika yang melakukan operasi logika bitwise. Operasi

logika yang dilakukan dapat dilihat p ada tabel dibawah. Tabel Fungsi logika f t  pada setiap putaran

Putaran  f t (b, c, d )

0 .. 19 (b  c)  (~b  d )

20 .. 39 b  c  d 

40 .. 59 (b  c)  (b  d )  (c  d )

60 .. 79 b  c  d 

Catatan: operator logika AND, OR, NOT, XOR masing-masing dilambangkan dengan , , ~, 

  Nilai W 1  sampai W 16  berasal dari 16 word pada blok yang sedang diproses, sedangkan nilai W   berikutnya didapatkan dari persamaan W = W   – 16  W   – 14 W t  – 8 W t – 3

 Setelah putaran ke-79, a, b, c, d , dan e  ditambahkan ke A, B, C , D, dan E  dan selanjutnya algoritma memproses untuk blok data berikutnya (Y q+1). Keluaran akhir dari algoritma SHA adalah hasil peny ambungan bit-bit di A, B,C , D, dan E .

Algoritma SHA mengambil pesan yang panjangnya kurang dari 264 bit dan menghasilkan message digest  160-bit. Sehingga algoritma ini lebih lambat daripada MD5, namun message digest   yang lebih besar membuatnya semakin aman dari bruteforce collision dan serangan inversi.

(41)

BAB III

KESIMPULAN & SARAN

III.1 Kesimpulan

Dari pembahasan yang telah diuraikan sebelumnya, dapat diambil suatu kesimpulan sebagai berikut, yaitu :

 Algoritma kriptografi digunakan untuk menyembunyikan atau mengamankan pesan dari orang-orang y ang tidak berhak atas pesan tersebut.

 Algoritma memiliki tiga fungsi dasar, yaitu enkripsi, deksrip si dan kunci.

 Berdasarkan kuncinya, algoritma kriptografi dibagi menjadi simetri (block & stream), asimetri dan fungsi hash.

 Pada algoritma kriptografi klasik digunakan beberapa teknik dasar, yaitu substitusi,

blocking , permutasi, ekspansi, dan pemampatan. Serta belum menggunakan komputer yang datanya dikirimkan berbentuk bit (biner) namun masih berupa karakter.

 Seiring perkembangan teknologi, digunakan komputer untuk mengirimkan pesan atau data yang dikirimkan dalam bentuk biner sehingga muncul algoritma kriptografi modern.

 Beberapa algoritma kriptografi yang digunakan yaitu DES, IDEA, AES, OTP, A5, RC4, RSA, DH, ECC, DSA, M D5, SHA1. Namun yang paling sering digunakan yaitu AES, RSA dan MD5.

 Masing-masing algoritma tersebut memiliki cara kerja sendiri serta memiliki kelemahan dan kelebihan dibandingkan dengan algoritma lainnya.

III.2 Saran

Penyusun menyarankan untuk pengembangan makalah selanjutnya agar dapat disertai implementasi algoritma tersebut dengan menggunakan bahasa pemrograman tertentu beserta simulasi langkah-perlangkah.

Gambar

Gambar 1 - Proses Enkripsi dan Dekripsi
Gambar 2 - Contoh Blocking
Gambar 4 - Contoh Ekxpansi
Gambar 6 - Kriptografi Simetri [5]
+7

Referensi

Dokumen terkait

Saya menyadari bahwa dalam menyelesaikan tugas akhir ini tidak terlepas.. dari bimbingan, bantuan dan dukungan dari

The House of Lords and House of Commons meet in separate rooms at the Palace of Westminster (commonly known as the Houses of Parliament) in London the

Berdasarkan hasil analisis ekologis pada penelitian ini menunujukkan bahwa di lokasi Gilisulat, kondisi mangrove alarni masih bagus, sedangkan pada penelitian Idrus

Karena dengan berkreasi akan ada sesuatu yang baru yang dapat dikatakan

Bagi perusahaan pada umumnya masalah rentabilitas adalah lebih penting dari pada masalah laba, karena laba yang besar saja belum merupakan dapat diketahui

Pada plant 3 tersebut diperlukan pengukuran kapasitas yang akurat, sehingga perlu dilakukan perhitungan kapasitas pada moulding center dan pouring center serta

Skripsi Brillian Rosy dengan judul “Pelaksanaan Penilaian Kinerja Pegawai Puskesmas Demangan Kecamatan Taman Kota Madiun”. Berdasarkan hasil penelitian dapat

pada kata majemuk yang salah satu unsurnya adalah kanji 月(tsuki;getsu;gatsu). Bab IV merupakan bab penutup, berisi kesimpulan hasil penelitian dan