algoritma kriptografi aprilia putri ariesta, bayu ramadhan...

44
1 ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan Shafiyuddin, Edwardus Natalio Bagas W, Fadhil Yusni Ramadhan, Dyah Ayu Permata Sari Jurusan Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Airlangga Surabaya, Indonesia Abstrak Pengamanan data menjadi kebutuhan utama dalam pengolahan proses bisnis modern ini, menyebabkan perkembangan ilmu kriptografi yang terus dikembangkan oleh para ahli. Perlombaan bagi penyerang dengan seorang pengaman data untuk mempertahankan eksistensinya dalam beradu algoritma, disisi lain algoritma kriptografi yang telah dikembangkan hingga saat ini diantaranya Algoritma Simetri yaitu sebuah algoritma yang memakai kunci simetri di antaranya adalah : Blok Chiper : Data Encryption Standard (DES), International Data Encryption Algorithm (IDEA), Advanced Encryption Standard (AES); Stream Chiper : On Time Pad (OTP), A5, RC2, RC4, RC5, dan RC6.; Algoritma Asimetri yaitu algoritma yang memakai kunci public di antaranya adalah : Digital Signature Algorithm (DSA), RSA, Diffle-Hellman (DH), Elliptic Curve Cryptography (ECC).; Fungsi Hash yaitu MD5 dan SHA1. Keyword : algoritma kriptografi, enkripsi, dekripsi 1. Pendahuluan Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara matematis dan benar. Sedangkan kriptografi (cryptography) berasal dari kata “cryptoyang berarti “secret” (rahasia) dan graphyyang berarti “writing” (tulisan). Kriptografi merupakan suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Sehingga algoritma kriptografi merupakan langkah-langkah logis

Upload: others

Post on 06-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

1

ALGORITMA KRIPTOGRAFI

Aprilia Putri Ariesta, Bayu Ramadhan Shafiyuddin, Edwardus Natalio Bagas

W, Fadhil Yusni Ramadhan, Dyah Ayu Permata Sari

Jurusan Sistem Informasi, Fakultas Sains dan Teknologi, Universitas Airlangga

Surabaya, Indonesia

Abstrak

Pengamanan data menjadi kebutuhan utama dalam pengolahan proses bisnis modern

ini, menyebabkan perkembangan ilmu kriptografi yang terus dikembangkan oleh

para ahli. Perlombaan bagi penyerang dengan seorang pengaman data untuk

mempertahankan eksistensinya dalam beradu algoritma, disisi lain algoritma

kriptografi yang telah dikembangkan hingga saat ini diantaranya Algoritma Simetri

yaitu sebuah algoritma yang memakai kunci simetri di antaranya adalah : Blok

Chiper : Data Encryption Standard (DES), International Data Encryption

Algorithm (IDEA), Advanced Encryption Standard (AES); Stream Chiper : On

Time Pad (OTP), A5, RC2, RC4, RC5, dan RC6.; Algoritma Asimetri yaitu

algoritma yang memakai kunci public di antaranya adalah : Digital Signature

Algorithm (DSA), RSA, Diffle-Hellman (DH), Elliptic Curve Cryptography

(ECC).; Fungsi Hash yaitu MD5 dan SHA1.

Keyword : algoritma kriptografi, enkripsi, dekripsi

1. Pendahuluan

Algoritma merupakan urutan langkah-langkah logis untuk menyelesaikan

masalah yang disusun secara matematis dan benar. Sedangkan kriptografi

(cryptography) berasal dari kata “crypto” yang berarti “secret” (rahasia) dan

“graphy” yang berarti “writing” (tulisan). Kriptografi merupakan suatu ilmu

yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman

saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari

pihak ketiga. Sehingga algoritma kriptografi merupakan langkah-langkah logis

Page 2: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

2

bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas

pesan tersebut. Prinsip-prinsip yang mendasari kriptografi yakni :

1) Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap

rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak

penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan

cara membuat suatu algoritma matematis yang mampu mengubah data

hingga menjadi sulit untuk dibaca dan dipahami.

2) Data integrity (keutuhan data) yaitu layanan yang mampu

mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau

penambahan) data yang tidak sah (oleh pihak lain).

3) Authentication (otentik) yaitu layanan yang berhubungan dengan

identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman

data maupun otentikasi keaslian data/informasi.

4) Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah

suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya

(menyangkal bahwa pesan tersebut berasal dirinya). (Alferd J. M enezes,

1996).

Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu :

1) Enkripsi, merupakan hal yang sangat penting dalam kriptografi,

merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya.

Pesan asli disebut plaintext, yang diubah menjadi kode-kode yang tidak

dimengerti. Enskripsi bisa diartikan dengan cipher atau kode.

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

Page 3: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

3

2. Prespektif Teoritis

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 :

enggunanakn Caesar Chipher).

2) Blocking : Membagi 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.

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.

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

5) Pemampatan : Mengurangi panjang pesan atau jumlah bloknya. Contoh

sederhana ini menggunakan cara menghilangkan setiap karakter ke-tiga

secara berurutan. Karakter-karakter yang dihilangkan disatukan kembali

Page 4: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

4

dan disusulkan sebagai "lampiran" dari pesan utama, dengan diawali oleh

suatu karakter khusus, dalam contoh ini digunakan "&".

Sedangkan algoritma kriptografi modern umumnya beroperasi dalam

mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher

substitusi atau cipher transposisi dari algoritma kriptografi klasik). Operasi

dalam mode bit berarti semua data dan informasi (baik kunci, plainteks,

maupun ciphertext) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1.

Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam

bentuk rangkaian bit. Rangkaian bit yang menyatakan plaintext dienkripsi

menjadi ciphertext 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. Pembahasan

1) Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) merupakan standar enkripsi

dengan kunci-simetris yang diadopsi oleh pemerintah 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. Masing-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).

AES diumumkan oleh Institut Nasional Standar dan Teknologi (NIST)

sebagai Standar Pemrosesan Informasi Federal (FIPS) publikasi 197 (FIPS

Page 5: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

5

197) pada tanggal 26 November 2001 setelah proses standardisasi 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 untuk 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.

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

Page 6: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

6

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 pada blok plaintext 64 bit dan menggunakan kunci 128 bit.

Algoritma IDEA menggunakan delapan round dan beroperasi pada subblok

16 bit dengan menggunakan kalkulasi aljabar yang dapat digunakan untuk

implementasi hardware. Op erasi ini adalah penjumlahan modulo 216,

perkalian modulo 216 + 1, dan XOR. Dengan kunci 128 bitnya, cipher

IDEA lebih sulit untuk dibobol daripada DES.

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 per 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-langkah 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 yang 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

Page 7: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

7

yang 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) Op erasi XOR hasil langkah 1 dan 3, D = X4 ¤ K4

6) Op erasi XOR hasil langkah 2 dan 4, F = B © D

7) Perkalian hasil langkah 5 dengan sub-kunci kelima, G = E ¤ K5

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) Op erasi XOR hasil langkah 1 dan 9, R1 = A © J

12) Op erasi XOR hasil langkah 3 dan 9, R2 = C © J

13) Op erasi XOR hasil langkah 2 dan 10, R3 = B © L

14) Op erasi XOR hasil langkah 4 dan 10, R4 = D © L

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

216.

Keluaran setiap putaran adalah 4 sub-blok yang dihasilkan pada langkah

11, 12, 13, dan 14 dan menjadi masukan putaran berikutnya. Setelah

putaran kedelapan terdapat transformasi keluaran, yaitu :

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 pesan rahasia 64-bit.

Page 8: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

8

Untuk proses Deskripsi 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

3) RSA (Rivest—S hamir—Adleman)

Merupakan algoritma yang paling populer dari algoritma kriptografi

kunci-publik yang pernah dibuat. Algoritma RSA dibuat oleh 3 orang

peneliti dari M IT (Massachussets Institute of Technology) pada tahun

1976, yaitu: Ron Rivest, Adi Shamir, dan Leonard Adleman.

Keamanan algoritma RSA terletak pada sulitny a 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 terjamin.

1.

Besaran-besaran yang digunakan pada algoritma RSA :

p dan q 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)

Page 9: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

9

Page 10: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

10

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

dipecah menjadi enam blok yang berukuran 3 digit:

o x1 = 726 x4 = 273

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 yang dihasilkan adalah Y = 215 776 1743 933 1731 158.

Page 11: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

11

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.

Page 12: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

12

4) Knapsack Merkle-Hellman (MH)

Algoritma Knapsack Merkle-Hellman(MH) merupakan algoritma

asimetris, disebut asimetris karena algoritma ini memliki kunci publik dan

kunci privat untuk proses enkripsi dan dekripsinya. Algoritma ini

mempunyai tiga proses mekanisme :

1. Proses pertama pertama adalah proses pembangkitan kunci publik

dan kunci privat

2. Proses enskripsi

3. Proses deskripsi

Sebelum melakukan krtiga proses tersebut ada beberapa mekanisme

algoritma, anatara lain:

1. Pertama kita mengambil serangkaian superincreasing s bilangan

bulat positif dengan cara pilih bilagan inisial(terkecil). Pilih

bilangan selanjutnya dengan bilangan yang lebih besar daripada

yang pertama. Kemudian pilih bilangan yang lebih besar daripada

penjumlahan bilangan pertama dan kedua. Teruskan proses ini dari

Page 13: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

13

memilih bilanganbilangan baru yang lebih besar daripada jumlah

semua bilangan yang sebelumnya dipilih

2. Setelah memilih knapsack yang sederhana S = [s1, s2,…,sm], kita

memilih sebuah bilangan pengali b dan di modulus p.

Bilangan mod seharusnya adalah angka yang lebih besar

daripada jumlah semua si dan merupakan bilangan prima

Pengali tidak mempunyai factor persekutuan dengan modulus.

3. Mencari kunci publik, kita mengganti setiap bilangan si dalam

knapsack sederhana dengan ketentuan

4. Proses Enkripsi

a. Pesan plaintext P bisa dituliskan dalam bentuk: P = [p1, p2,...,

pk]

b. Membagi pesan ke dalam blok bit-bit m , P0 = [pl , p2,..., pm],

P1 = [pm+1,..., p2m], dan selanjutnya. (m adalah bilangan

pembatas dalam knapsack)

c. Memilih nilai dengan mengubah dari bentuk 1 bit kedalam Pi

selanjutnya Pi disajikan sebagai vector yang dipilih untuk

element t.

d. Nilai ciphertext merupakan: Pi * t, target menggunakan blok Pi

untuk memilih vector

5. Proses Dekripsi : Penerima tahu knapsack sederhana dan nilai dari

a dan p yang ditranformasi ke dalam knapsack sulit.

a. Dengan nilai a-1 kemudian a* a-1 = 1 mod p. Dalam contoh

kami, 7-1 mod 17 adalah 5, mulai 5 * 8 mod 17 = 40 mod 17 =

(17 * 7) + 1 mod 17 = 1.

b. Ingat bahwa H adalah knapsack sulit yang terjadi dari

knapsack sederhanaS. H adalah memperoleh S dengan H= w *

S mod n

c. Pesan ciphertext di dapat dari algoritma enkripsi: C = H * P =

w * S * P mod n

Page 14: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

14

d. Untuk mengubah cipher, pengali C dari w-1 , mulai w-1 * C =

w-1* H * P = w-1 * w * S * P mod n=S * P mod n

e. Sekarang penerima dapat memecahkan masalah knapsack

sederhana dengan knapsack S dan target w-1 * Ci untuk

beberapa bilangan ciphertext Ci

f. Dimulai w-1 * Ci = S * P mod n, solusi untuk target w-1 * Ci

adalah blok plaintext Pi , dimana adalah pesan asli yang di

enkripsi.

Kelebihan algoritma asymmetries ini adalah proses pendistribusian

kunci pada media yang tidak aman seperti internet, tidak memerlukan

kerahasian. Karena kunci yang didistribusikan adalah kunci publik.

Sehingga jika kunci ini sampai hilang atau diketahui oleh orang lain yang

tidak berhak, maka pesan sandi yang dikirim akan tetap aman.

Sedangkan kunci private tetap disimpan (tidak didistribusikan).

MerkleHellman Knapsack punya Kelebihan lain pada efisiensi jumlah

kunci publik. Jika terdapat n user, maka hanya membutuhkan 1 (satu)

kunci publik, sehingga untuk jumlah user yang sangat banyak, sistem ini

sangat efisien. Dengan adanya pertukaran kunci dalam enkripsi - dekripsi

data dengan kriptosistem kurva elliptik adalah mengamanan data yang

berupa teks untuk menghindari adanya penyadapan yang dilakukan oleh

pihak-pihak yang tidak berkepentingan

5) 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 keystream yang unik untuk setiap

frame.

Page 15: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

15

Kunci yang digunakan dalam algoritma ini adalah 64 bit Kc, ditambah

input berupa nomer frame TDM A dalam suatu multiframe. Output yang

dihasilkan berupa sepasang 114 bit codeword (S1 dan S2) untuk arah

downlink dan uplink. 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 pengamanannya. Algoritma A3 dan A8 digunakan dalam proses

autentikasi, yaitu proses pengenalan identitas pelanggan, yang terjadi pada

MS (Mobile Station) dan AUC (Authentication Centre). Sedangkan

algoritma A5 digunakan dalam proses pengiriman informasi pada link

radio antara MS 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.

6) RC4

RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit

atau input data, pesan 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,

Page 16: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

16

pesan atau informasi tertentu sebelum diproses, atau menambahkan byte

tambahan untuk mengenkrip.

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

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 byte langkahnya adalah sebagai

berikut :

i = ( i + 1 ) mod 256

j = ( j + Si ) mod 256

swap Si dan Sj

t = (Si + Sj) mod 256

K = St

Byte K di XOR dengan plaintext untuk menghasilkan ciphertext 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 K0, K1,...,K255 terisi seluruhnya. Set indeks j dengan nol,

Page 17: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

17

Kemudian lakukan langkah berikut :

for i = 0 to 255

j = (j + Si + Ki) mod 256

swap Si dan Sj

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 berbeda. IV

ini tidak perlu dirahasikan karena digunakan hanya agar setiap proses

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,

berikutnya byte 1-60 hasilnya diletakkan pada mulai byte 40, dan

seterusnya. Kemudian buffer ini dienkrip dengan RC4, lalu buffer

dijadikan kunci kembali, proses terakhir ini diulang sebanyak 16 kali

Page 18: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

18

untuk mencoba mencampur dengan baik sehingga dihasilkan kunci yang se-

random mungkin.

7) Pretty Good Privacy (PGP)

PGP (Pretty Good Privacy) adalah Suatu metode program enkripsi

informasi yang memiliki tingkat keamanan cukup tinggi bersifat rahasia

dengan menggunakan “Private-Public Key” sebagai dasar autentifikasinya

sehingga jangan sampai dengan mudah diketahui oleh orang lain yang

tidak berhak. PGP dikembangkan oleh Phill Zimmermann pada akhir

tahun1980. Program yang dibuat oleh Phill Zimmerann memiliki 2 versi

yaitu “USA Version “ dan “International Version”. PGP versi USA hanya

dapat digunakan di wilayah USA dan oleh warganegara USA saja. PGP

versi USA ini menggunakan algoritma RSA (yang telah menjadi hak

paten) dalam enkripsinya. Sedangkan versi internasional menggunakan

algoritma MPILIB yang diciptakan khusus oleh Phill Zimmermann

sendiri. PGP Versi internasional bisa digunakan oleh seluruh dunia.

Dasar – Dasar PGP

Pada dasarnya, PGP merupakan program yang digunakan untuk

mengenkripsi satu atau lebih dokumen. Dengan PGP tersebut, hanya orang

– orang tertentu saja yang bisa membaca file – file enkripsi tersebut.

PGP (Pretty Good Privacy) dibuat dengan berdasarkan konsep Private Key

Cryptography sebagai dasar otorisasinya. Private Key Cryptography ini

digunakan untuk mengenkripsi dalam suatu hubungan komunikasi antara

dua mesin. Dalam menjaga kerahasiaan data, kriptografi

mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi

(ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian

dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah

sampai di penerima, ciphertext tersebut ditranformasikan kembali ke

dalam bentuk plaintext agar dapat dikenali. Sehingga dalam penulisannya

lebih dikenal dalam bentuk enkripsi (encryption) dan deskripsi

Page 19: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

19

(descryption).

Gbr. Enkripsi Public Key

Enkripsi (encryption) merupakan suatu proses di mana sebuah

pesan (plaintext) ditranformasikan atau diubah menjadi bentuk pesan lain

(chipertext) menggunakan suatu fungsi matematis dan enkripsi password

khusus yang lebih dikenal sebagai key. Sementara Deskripsi (descryption)

merupakan proses kebalikan, dari chiphertext dirubah kembali ke plaintext

dengan menggunakan fungsi matematis dan key.

Pada saat kita membuat kunci, PGP akan menciptakan duah buah

kunci yaitu private key dan public key yang merupakan sebuah pasangan

bersesuaian. Private Key adalah kunci yang hanya diketahui oleh kita

sendiri sedangkan Public Key adalah kunci yang kita beritahukan kepada

orang – orang yang kita percaya. Public key digunakan sebagai dasar

proses pengenkripsian dokumen – dokumen yang hanya bisa dibuka oleh

orang yang memiliki private key yang bersesuaian.

Prinsip Kerja PGP

PGP bekerja dengan menggabungkan beberapa bagian yang terbaik

dari key konvensional dan public key cryptography, jadi PGP ini

adalah sebuah a hybrid cryptosystem. Ketika seorang pengguna

mengenkrip sebuah plaintext dengan menggunakan PGP, maka awal PGP

akan mengkompress plaintet ini. Data yang dikompress menghebat waktu

dan media transmisi dan lebih penting adalah keamanan kriptograpik yang

kuat. Kebanyakan teknik analisis sandi mengeksplotasi pola yang

ditemukab dalam plaintext untuk men-crack chipernya. Kompressi

Page 20: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

20

mengurangi pola-pola ini dalam plaintext, dengan cara demikian perbaikan

yang lebih baik untuk menghambat analisa kode-kode.

PGP membuat sebuah session key, dimana sebuah kunci rahasia

pada saat itu. Kunci adalah sebuah bilangan acak yang dihasilkan dari

gerakan acak dari mouse dan tombol yang anda tekan. Session Key ini

berkerja dengan sangat aman, algoritma enkripsi konvesional yang cepat

untuk meng-enkrip plaintext. Hasilnya adalah berupah chiper text. Sekali

data dienkripsi, lalu session key ini dienkripsi lagi menggunakan kunci

publik penerima. session key yang terenkripsi kunci publik key penerima

dikirim dengn chipertext ke penerima.

Gbr. Cara Kerja Enkripsi PGP

Proses deskripsi bekerja sebaliknya, Penerima menerima pesan lalu

membuka pesan tersebut dengan kunci privatnya, namun pesan tersebut

masih terenkripsi dengan session key. Dengan Menggunakan PGP,

penerima mendekrip chipertext yang terenkripsi secara konvensional.

Kombinasi dari 2 metode enkripsi menggabungkan kehandalan dari

enkripsi kunci publik dengan kecepatan pada enkripsi konvensional.

Enkripsi Konvensional kuarang lebih 1000x lebih cepat dari enkripsi kunci

publik. Jadi enkripsi kunci publik memberikan sebuah solusi pada

distribusi kunci dan masalah transmisi data. Dengan menggunakan

keduanya, perfoma dan distribusi kunci dapat ditingkatkan tanpa

mengorbankan sesuatu dalam keamanan.

Page 21: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

21

Prinsip – prinsip kerja dari PGP itu sendiri adalah :

1. PGP menggunakan teknik yang disebut Public-key encryption dengan

dua kode yang saling berhubungan secara intrinsik, namun tidak

mungkin untuk memecahkan satu dan yang lainnya.

2. Jika membuat suatu kunci, secara otomatis akan dihasilkan sepasang

kunci yaitu public key dan secret key. Kita dapat memberikan public

key ke manapun tujuan yang kita inginkan, melalui telephone, internet,

keyserver, dsb. Secret key yang disimpan pada mesin kita dan

menggunakan messager decipher akan dikirimkan ke kita. Jadi

orang yang akan menggunakan public key kita (yang hanya dapat

didekripsi oleh oleh secret key kita), mengirimkan messages kepada

kita , dan kita akan menggunak an secret key untuk membacanya.

3. PGP menggunakan dua kunci yaitu kunci public (proses enkripsi) dan

privet (proses deskripsi).

4. menggunakan dua kuci tersebut dikarenakan adanya conventional

crypto, disaat terjadi transfer informasi kunci, suatu secure channel

diperlukan. Dan jika kita memiliki suatu secure channel, tapi mengapa

kita menggunakan crypto? Namun dengan public-key syistem, tidak

akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci

yang dilihat oleh orang lain adalah yang digunakan hanya untuk

enkripsi dan hanya pemiliknya saja yang mengetahui kunci rahasia

tersebut.

Alasan pemakaian PGP

1. Keamanan,PGP dapat digunakan untuk berkomunikasi secara aman,

baik itu rencana bisnis, keuangan, atau hal – hal pribadi lain yang ingin

dijaga kerahasiaannya. Kita dapat menggunakan PGP dengan e-mail

untuk alasan yang sama pada waktu kita mengirim surat dengan

menggunakan amplop. Mungkin teman seprofesi atu anggota keluarga

ingin tahu bahwa informasi yang dikirim terjaga kerahasiaannya dan

Page 22: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

22

kiriman benar – benar berasal dari kita. Barang kali kita pernah

mengirim e-mail kepada orang yang salah dan kita ingin mereka tidak

membacanya. Hal ini sangat sulit untuk dilakukan, kemungkinan sudah

banyak orang yang sudah mengetahui isi dari e-mail kita. Jadi untuk

amannya e-mail maupun informasi yang kita kirim hendaknya disertai

dengan software PGP.

2. Fleksibel, karena PGP sudah plug-in untuk semua program browser dan

banyak digunakan oleh semua program e-mail, maka PGP sangat

fleksibel untuk digunakan. PGP selain melindungi e-mail juga file kita

dan berjalan pada semua sistem operasi.

3. Gratis, PGP dapat diperoleh secara gratis untuk penggunaan pribadi.

Kita dapat mendownload softwarenya pada saat kita terhubung dengan

internet. Semua kunci pribadi dapat kita peroleh dan tidak ada biaya

tambahan yang dibebankan untuk pembuatan sertifikat maupun tanda

tangan digital yang disertakan. Pada PGP untuk melakukan proses

enkripsi digunakan kunci rahasia yang berbeda dengan kunci rahasia

yang digunakan pada proses deskripsi. Jadi terdapat dua buiah kunci

rahasia, satu untuk deskripsi, satu untuk enkripsi. Hal inilah yang

dikenal dengan kriptografi asimertrik. Selain asimterik ada juga

kriptografi simetrik yang hanya menggunakan 1 buah kunci rahasia.

Dengan demikian, siapa saja yang ingin menggunakan PGP akan

membutuhkan 2 buah kunci. Pertama, kunci untuk proses enkripsi

(kunci publik). Disebut kunci publik karena kunci yang digunakan

untuk enkripsi ini akan diberitahukan kepada umum. Orang yang akan

mengirimkan e-mail rahasia kepada kita harus mengetahui kunci publik

ini. Kedua, kunci untuk proses deskripsi (kunci pribadi). Disebut kunci

pribadi karena kunci ini hanya diketahui oleh kita sendiri.

Page 23: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

23

Ilustrasi Pemakaian PGP

Public-key sangat lambat bila dibandingkan dengan konvensional,

jadi PGP akan mengkombinasikan dua algoritma, yaitu RSA and IDEA,

untuk melakukan enkripsi plaintext kita.

Sebagai contoh, Badrun (pemilik PGP) ingin mengenkripsi suatu

file yang diberi nama plain.txt sedemikian sehingga hanya si Matangin

yang dapat mendekripsi-nya. Maka Badrun mengirimkan PGP perintah

(command line) untuk melakukan enkripsi :

pgp -e plain.txt Matangin

Pada command line ini, pgp adalah file executable, -

e berarti memberitahukan PGP untuk meng-encrypt

file, plain.txt adalah nama plaintext, dan dul merepresentasikan public

key suatu tujuan (Matangin) yang diinginkan Badrun untuk

mengenkripsi message-nya. PGP menggunakan suatu random number

generator, dalam file randseed.bin untuk menghasilkan suatu kunci

(session key) temporary IDEA. Session key itu sendiri dienkripsi

dengan kunci RSA public yang direpresentasikan

oleh Matangin yang disematkan pada plaintext. Kemudian, PGP

menggunakan session key untuk mengenkripsi message, ASCII-

armors dan menyimpan seluruhnya sebagai cipher.asc. Bila Matangin

ingin membaca pesannya, ia mengetikkan command.

pgp cipher.asc

PGP menggunakan secret key milik Matangin, yang merupakan

kunci RSA, untuk men-dekripsi sessi kunci yang mana, yang jika

dipanggil oleh Badrun akan dienkripsi oleh public key. kemudian,

conventional crypto digunakan dalam bentuk session key untuk

mendekripsi sisa dari message. Alasan prinsip ini adalah sebagai

pengganti/kompensasi dari RSA karena "RSA is too slow, it's not

stronger, and it may even be weaker." (-PGP

Documentation, pgpdoc2.txt).

Page 24: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

24

Enkripsi PGP

Enkripsi dilakukan dengan mengacak pesan plaintext secara

sistematis sehingga tidak dapat terbaca tanpa alat khusus. Dalam teknologi

enkripsi yang umum saat ini, digunakan sepasang kunci untuk

mengenkripsi dan mendeenkripsi (menguraikan sandi) pesan yang hendak

disampaikan. Sepasang kunci ini dinamakan kunci publik dan kunci privat.

Dua kunci ini dibangkitkan secara simultan oleh komputer dan digunakan

berpasangan. Untuk dapat mengenkripsi pesan, orang yang menulis pesan

memerlukan kunci publik (public key). Kunci publik ini disebarkan oleh

pemiliknya agar orang yang ingin menulis pesan padanya bisa

mengenkripsi pesan menggunakan kunci publik tersebut. Setelah

dienkripsi, pesan tersebut tidak bisa diuraikan lagi, kecuali memakai kunci

privat. Kunci privat disimpan dan harus dirahasiakan oleh pemiliknya.

Kunci ini digunakan untuk menguraikan pesan yang dienkripsi dengan

menggunakan kunci publik. Karena hanya satu orang (pemilik kunci) yang

menyimpan kunci privat tersebut, maka hanya dia yang bisa membaca

pesan tersebut.

Enkripsi untuk File-File Biner

Untuk mereka yang terbiasa bekerja dengan file-file biner, pada

usenet mengetahui istilah uuencode. Uuenconde adalah suatu program,

yang terutama untuk UNIX, namun sekarang berkembang sehingga dapat

mengubah file-file biner seperti

.GIF or .AU menjadi ASCII text yang sesuai dengan format

pengiriman usenet. Feature ini juga dimiliki oleh PGP.

File config.txt

(mungkin disebut pgp.ini atau .pgprc ;tergantung protokol local)

memiliki suatu option untuk berapa banyak baris file ASCII yang

dapat dimuat. Jika jumlah ini tercapai, PGP akan memecah-mecah

file armored .asc menjadi .as1, .as2, .as3, ... dan semuanya harus

digabungkan satu sama lain secara bersama-sama dan menjalankan

Page 25: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

25

PGP dalam suatu file yang besar. Untuk mengenkripsi suatu file biner,

gunakan command berikut:

pgp -a picture.gif

atau option TextMode diset ke ON:

pgp -a picture.gif +textmode=off

Implementasi PGP dalam TandaTangan Digital

Tanda tangan digital ini berguna untuk memastikan keaslian pesan

yang disampaikan, bahwa suatu pesan yang disampaikan pada kita benar-

benar berasal dari pengirim seperti yang tertulis pada header e-mail. Tanda

tangan digital juga menjamin integritas pesan. Teknologi ini

memungkinkan kita mendeteksi bila ada orang yang menyadap pesan dan

mengganti isi pesannya di tengah jalan.

Dibandingkan dengan tandatangan analog, tanda tangan digital

lebih sulit dipalsukan. Tanda tangan digital lebih sering digunakan

daripada enkripsi karena kita sering tidak peduli apakah e-mail kita

disadap atau tidak, tapi kita benar-benar ingin tahu apakah yang mengirim

e-mail pada kita benar-benar orang yang kita maksud. Ini semakin penting

dengan semakin menyebarnya virus yang seolah-olah datang dari orang

yang kita kenal. Berbeda dengan proses enkripsi, dalam tanda tangan

digital kunci privat digunakan untuk menandatangani dokumen atau pesan

yang hendak disampaikan. Penerima pesan atau dokumen dapat

memeriksa keasliannya dengan menggunakan kunci publik yang sudah ada

padanya.

Gbr. Tanda Tangan Digital (Digital Signatures) Sederhana

Page 26: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

26

Fungsi Hash

Hash adalah algoritma yang menghasilkan output yang bersifat

unik dari sebuah input tertentu seperti pesan. Fungsi hash menambahkan

suatu fungsi dalam prosesnya dari skema proses diatas. Fungsi ini akan

membuat suatu panjang variabel output yang sama walau pun berbeda

panjang pesan. Tetapi perubahan satu bit saja akan merubah nilai dari

variabel fix tersebut.

PGP menggunakan kekuatan fungsi hash ini secara kriptografi pada

text biasa yang pengguna menandatanganinya. Ini akan menghasilkan

suatu panjang data yang tetap yang disebut dengan suatu message digest

(pesan singkat), Sekali lagi perubahan sedikit saja pada data akan merubah

nilai dari pesan ini. Lalu PGP menggunakan pesan singkat dan kunci privat

untuk membuat “signature”. PGP mengirimkan signature dan text biasa ini

bersama-sama. Pada sisi penerima pesan, penerima menggunakan PGP

untuk melakukan komputasi ulang digest, lalu membuktikan signaturenya.

PGP dapat mengenkripsi tulisan biasa atau tidak. Menandatangani tulisan

biasa akan berguna jika sebagian penerima tidak tertarik akan atau mempu

untuk membuktikan signature.

Sepanjang suatu jaminan fungsi hash digunakan, tidak ada cara lain

untuk mengambil tanda tangan seseorang dari dokumen yang satu ke

dokumen yang lain atau merubahnya dalam cara apa pun. Perubhan paling

kecil saja dari dokumen akan menghasilkan proses pembuktian keabsahan

menjadi gagal.

Gbr. Pengamanan Tanda Tangan Digital (Secure Digital Signatures)

Page 27: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

27

Cara Mendapatkan Program PGP

Program PGP “International version” merupakan shareware dan dapat

didownload dari beberapa ftp server sebagai berikut :

ftp://ftp.ifi.uio.no/pub/pgp/(primary)

ftp://ftp.ox.ac.uk/pub/crypto/pgp/

ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/

ftp://ftp.informatik.uni-hamburg.de/pub/virus/crypt/pgp/

Program PGP tersedia dalam berbagai platform seperti MS-Dos,

Macintosh, Unix, VMS, OS/2, Atari, dlsb. Untuk platform MS-Dos

sendiri, terdapat dua jenis yaitu pgp263i.zip (16 bit) dan pgp263ix.zip (32

bit). Untuk versi 32 bit, terdapat perbedaan pada kecepatan proses enkripsi

dan pembuatan key dibandingkan dengan versi 16 bit.

PGP juga tersedia sebagai freeware maupun sebagai paket komersil dalam

berbagai versi yang dapat dioperasikan dalam berbagai sistem

operasi (DOS, Windows, UNIX, Mac). Program PGP dapat didownload

gratis dari situs www.pgp.org atau www.pgpi.org.

Instalisasi PGP

Adapun langkah – langkah yang dilakukan jika melalui FTP server adalah:

1. Jika mengambil program PGP dengan platform MS-Dos yang bernama

pgp263i.zip dan kemudian mengekstraknya dengan menggunakan

program Unzip atau Winzip. Pada saat proses ekstraksi berlangsung,

tentukan letak direktori yang akan ditempati oleh program PGP

tersebut. Dalam contoh kali ini, penulis menggunakan direktori C:\pgp

sebagai tempat penyimpanan program PGP. Setelah diekstrak, pada

direktori c:\pgp akan muncul 5 buah file yaitu : readme.1st ; readme.usa

; setup.doc; pgp263ii.zip; pgp263ii.asc. File pgp263ii.zip diekstrak

dengan menggunakan program Unzip atau Winzip dengan direktori

yang sama yaitu C:\pgp. Nah, setelah ekstraksi di atas, program PGP

siap dikonfigurasi.

Page 28: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

28

2. Langkah selanjutnya adalah kita mengkonfigurasi program PGP

tersebut melalui file config.txt.

3. Setelah file config.txt selesai diedit dan disimpan, maka selanjutnya kita

mengkonfigurasikan parameter TZ dan path untuk program PGP. TZ ini

kependekan dari Time Zone dan untuk WIB digunakan nilai GMT-7.

Jika parameter TZ tidak diset maka PGP tidak akan beroperasi. Ada dua

cara untuk mengkonfigurasi parameter tersebut.

Cara pertama, kita langsug ketikan perintah “set TZ=GMT-7” dan “set

path=c:\pgp;%path%” pada prompt DOS.

C:\>SET TZ=GMT-7 [Enter]

C:\>SET PATH=C:\PGP;%PATH% [Enter]

Cara kedua, kita tambahkan kedua perintah di atas pada file

AUTOEXEC.BAT sehingga setiap kali booting, komputer akan

otomatis mengkonfigurasi parameter di atas.

Jika langkah-langkah di atas telah selesai dilakukan, maka instalasi

program PGP telah selesai dan siap digunakan.

Penggunan PGP

PGP memiliki banyak argumen yang mendefinisikan setiap fungsi yang

berbeda-beda. Untuk melihat keseluruhan argumen yang tersedia, gunakan

perintah “pgp -h”. Langkah awal yang harus dilakukan adalah PGP perlu

dikonfigurasikan terlebih dahulu.

1. Langkah – langkah untuk melakukan konfigurasi dalam PGP , sebagai

berikut :

2. Buatlah pasangan kunci, kunci publik dan kunci pribadi

3. Buatlah kunci publik

4. Tambahkan kunci publik penerima.

Page 29: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

29

- Membuat Pasangan Kunci

Perintah untuk menciptakan key baru adalah “PGP –kg”. Dalam membuat

pasangan kunci , langkah – langkahnya sebgai berikut:

1. Definisikan tipe dari masing-masing kunci.

2. Definisikan algoritma dari masing-masing kunci

3. Tentukan ukuran kunci

4. Tentukan identitas publik untuk kunci pemakai

5. Tentukan validasi periode dari penandaan kunci

6. Tentukan Passphrase.

- Membuka Kunci Publik

Kunci publik seharusnya ditukar diantara pengirim dan penerima sebelum

mulai berkomunikasi. Kunci publik dapat dibuka di file teks dan

didistribusikan ke penerima. Kunci publik tersebut dapat dibuka dengan

perintah “pgp –kvc”.

Dengan demikian kita telah memiliki sebuah key dengan MPILIB key

1024 bit. Selanjutnya kita bisa mengekstrak public key kita sehingga bisa

kita bagikan kepada orang-orang yang kita percaya. Perintah ekstraksi

public key adalah “pgp -kxa userid keyfile”.

Nah, file yang berisi public key adalah ‘pubkey.asc’ dan siap dikirimkan

melalui e-mail

- Menambahkan Kunci Publik Penerima

Cara menambahkan publik key yang kita terima ke dalam koleksi publik

yang kita miliki adalah dengan menggunakan perintah “pgp –ka keyfile”.

Setelah melakukan konfirmasi kebenaran kunci publik, kita dapat

menandai kunci tersebut. Ketika melakukan enkripsi terhadap file dengan

menggunakan ID penerima, kita akan melihat peringatan tentang

kebenaran kunci publik. Penandaan akan menghilangkan pesan peringatan

selama proses enkripsi pesan. Sebuah kunci dapat ditandai dengan

menggunakan perintah “pgp-ks userid”. Sedangkan Untuk melihat koleksi

Page 30: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

30

public key milik kita, gunakan kembali perintah “pgp -kvc”.

Berikut merupakan ilustrasi gambar dari pengiriman e-mail dengan

menggunakan konsep Pretty Good Privacy.

Gbr. Proses pengiriman e-mail dengan menggunakan PGP

Cara mengenkripsi mail yang hendak dikirimkan

Salah satu cara adalah menjalankan prosedur seperti Gambar 2.

diatas Kita buat isi mail kita ke dalam sebuah file teks. Kita enkripsi

dengan menggunakan PGP. Kita perintahkan program e-mail untuk

membaca dan mengirimkan file yang telah dienkripsi. Sesampainya di

tujuan, penerima menyimpan isi mail yang masih terenkripsi ke dalam

bentuk file. Penerima menjalankan program PGP untuk mendekripsi file

tersebut. Hasil akhirnya adalah isi mail awal.

Setelah itu Mail ini masih dalam bentuk enkripsi. Kita terima

dengan menggunakan program mail (Eudora, Pegasus, dll) kemudian kita

simpan ke file “mail.asc”. Kita dekripsi mail tersebut dengan perintah

“pgp keyfile”. Proses deskripsi telah selesai yang kemudian akan

munculnya file “mail” kita yang dapat dimengerti.

Resiko Keamanan PGP

Apabila sistem kita sudah memasuki dunia internet, maka

keamanan data pun menjadi hl yang penting. Berbagai cara pengaman

telah dilakukan salah satunya seperti penggunaan aplikasi PGP. Akan

tetapi tidak ada sistem keamanan data yang tidak dapat ditembus. PGP

merupakan salah satu alternatif cara untuk melindungi data. Pada sistem

keamanan data, biaya perlindungan data terhadap nilai dari data menjadi

Page 31: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

31

pertimbangan utama.

Berikut adalah beberapa resiko keamanan yang dihadapi oleh PGP :

1. Kata Kunci dan Private Key yang mudah ditebak

2. Perusakan Public Key

3. File yang tidak dihapus dengan sempurna

4. Virus dan Trojan

5. Swap file dan virtual memori

6. Pelanggaran keamanan secara fisik

7. Serangan

8. Kerusakan atau kesalahan tanggal

9. Analisa lalu lintas jalan

10. Kriptonalisis

PGP dikembangkan oleh Phillip Zimmerman yang melakukan usaha-usaha

berikut.

1. Memilih algoritma kriptografi terbaik yang ada sebagai komponen

dasarpembentuk PGP

2. Mengintegrasikan algoritma-algoritma ini ke dalam aplikasi serba guna

yang independen terhadap sistem operasi dan prosesor yang dijalankan

dengan sekumpulan kecil instruksi yang mudah digunakan.

3. Membuat paket dan dokumentasinya, mencakup kode sumber, dapat

diakses secara gratis melalui internet, bulletin board, dan jaringan

komersial semacam compuserve.

4. Melakukan perjanjian dengan perusahaan untuk memberikan

kompatibilitas yang penuh, versi komersial PGP yang berharga murah.

Page 32: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

32

8) Digital Signature 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

dalam sistem kriptografi kunci-publik. Meskipun demikian, DSA tidak

dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama:

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, yaitu kunci publik 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 selanjutny a).

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 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. Parameter q bersifat publik.

3. g = h(p – 1)/q mod p, yang dalam hal ini h < p – 1 sedemikian sehingga

h(p – 1)/q mod p > 1 Parameter g bersifat publik.

Page 33: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

33

4. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci rahasia.

5. y = gx mod p, adalah kunci publik.

6. m, pesan yang akan diberi sidik digital.

Pembentukan Sepasang Kunci

1. Pilih bilangan prima 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 = gx mod p.

Pembentukan S idik Dijital (Signing)

1. Ubah pesan m menjadi message digest dengan fungsi hash SHA, H.

2. Tentukan bilangan acak k < q.

3. Sidik dijital dari pesan m adalah bilangan r dan s. Hitung r dan s sebagai

berikut:

r = (gk mod p) mod q

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

4. Kirim pesan m dan sidik dijital r dan s.

Verifikasi Keabsahan Sidik Dijital (Verifying)

1. Hitung

w = s– 1 mod q

u1 = (H(m) * w) mod q u2 = (r * w) mod q

v = ((gu1 * yu2) mod p) mod q)

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 prima p dan q, yang dalam hal ini (p – 1) mod q = 0.

Page 34: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

34

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 dan h(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 = gx mod p. y = 29245

b. Pembentukan Sidik Digital (Signing)

1. Hitung nilai hash dari pesan, misalkan H(m) = 4321

2. Tentukan bilangan acak k < q. k = 997 k– 1 = 2907 (mod 3301)

3. Hitung r dan s sebagai berikut:

r = (gk mod p) mod q = 848

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

= 7957694475 mod 3301 = 183

4. Kirim pesan m dan sidik digital r dan s.

c. Verifikasi Keabsahan Sidik Digital

1. Hitung

s– 1 = 469 (mod 3301)

w = s– 1 mod q = 469

u1 = (H(m) * w) mod q 2026549 mod 3301 = 3036

u2 = (r * w) mod q = 397712 mod 3301 = 1592

v = ((gu1 * yu2) mod p) mod q) = 848 mod 3301 = 848

2. Karena v = r, maka sidik digital sah.

Implementasi DSA

Adanya batasan bahwa nilai p mempunyai panjang 512 sampai 1024

bit dan q 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.

Page 35: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

35

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

adalah 232.

9) Digital Certificate

Digital Certificate adalah sertifikasi keamanan seseatu website

supaya pengunjung website bisa terasa aman karena ada sertifikasi dari

Public Key Infrastructur (PKI). Pada saat ini Digital certificate sangat

penting karena jumlah orang yang menggunakan internet sangat banyak

dan terus meningkat setiap tahunya dan website yang sudah ada

sertifikasinya sangat bisa dipercaya dan bisa mengurangi penipuan.

bergantung pada pasangan kunci: satu kunci pribadi untuk dipegang oleh

pemilik dan digunakan untuk menandatangani dan mendekripsi, dan satu

kunci publik yang dapat digunakan untuk enkripsi data yang dikirim ke

pemilik kunci publik atau otentikasi pemegang sertifikat. Sertifikat digital

memungkinkan entitas untuk membagikan kunci publik mereka dengan

cara yang dapat diautentikasi.

Sertifikat digital juga digunakan oleh semua browser web dan

server web untuk memberikan jaminan bahwa konten yang diterbitkan

belum dimodifikasi oleh pelaku yang tidak sah, dan untuk berbagi kunci

untuk mengenkripsi dan mendekripsi konten website. Sertifikat digital

juga digunakan dalam konteks lain, baik online maupun offline, untuk

memberikan jaminan kriptografis dan privasi data.

Sebagian besar sertifikat dikeluarkan oleh certificate authorithy,

CA dianggap pihak ketiga yang tepercaya dalam konteks PKI;

menggunakan pihak ketiga yang tepercaya untuk menerbitkan sertifikat

digital memungkinkan individu untuk memperluas kepercayaan mereka

pada CA dan dapat dipercayanya sertifikat digital yang dikeluarkannya.

Jenis-jenis sertifikat digital :

Page 36: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

36

a. Domain validated ( DV SSL )

Pelamar untuk sertifikat SSL DV hanya perlu menunjukkan bahwa

mereka memiliki hak untuk menggunakan nama domain. Meskipun

sertifikat ini dapat memberikan jaminan bahwa data sedang dikirim

dan diterima oleh pemegang sertifikat, mereka tidak memberikan

jaminan tentang siapa entitas tersebut.

b. Organization validated ( OV SSL )

Memberikan jaminan tambahan tentang pemegang sertifikat; selain

mengonfirmasi bahwa pemohon memiliki hak untuk menggunakan

domain, pemohon sertifikat OV SSL menjalani konfirmasi tambahan

selain kepemilikan mereka atas domain

c. Extended validation

Dikeluarkan hanya setelah pemohon mampu membuktikan identitas

mereka hingga CA merasa cukup. Proses pemeriksaan meliputi

verifikasi keberadaan entitas yang mengajukan sertifikat,

memverifikasi bahwa identitas cocok dengan catatan resmi,

memverifikasi bahwa entitas berwenang untuk menggunakan domain

dan mengonfirmasi bahwa pemilik domain telah mengesahkan

penerbitan sertifikat.

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

M IT (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).

Pada tahun 1993, den Boer dan Bosselaers memberikan awal, bahkan

terbatas, hasil dari penemuan pseudo-collision dari fungsi kompresi M D5.

Dua vektor inisialisasi berbeda I dan J dengan beda 4-bit diantara

keduanya.

Page 37: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

37

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

Pada tahun 1996 Dobbertin mengumumkan sebuah kerusakan pada

fungsi kompresi M D5. Dikarenakan hal ini bukanlah serangan terhadap

fungsi hash 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 serangan

brute force.. M D5CRK adalah proyek distribusi mulai Maret 2004 dengan

tujuan untuk menunjukkan kelemahan dari M D5 dengan menemukan

kerusakan kompresi menggunakan brute force attack. Bagaimanapun juga,

M D5CRK berhenti pada tanggal 17 Agustus 2004, saat [[kerusakan hash]]

pada M D5 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 tersebut. 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 M D5 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 pendahuluan 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

Page 38: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

38

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 M D5. Yaitu dengan membangkitkan dua byte

string dengan hash yang sama. Dikarenakan terdapat bilangan yang

terbatas pada keluaran M D5 (2128), tetapi terdapat bilangan yang tak

terbatas sebagai masukannya, hal ini harus dipahami sebelum kerusakan

dapat ditimbulkan, tapi hal ini telah diyakini benar bahwa menemukannya

adalah hal yang sulit.

Sebagai hasilnya bahwa hash M D5 dari informasi tertentu tidak dapat

lagi mengenalinya secara berbeda. Jika ditunjukkan informasi dari sebuah

public key, hash M D5 tidak mengenalinya secara berbeda jika terdapat

public key selanjutny a yang mempunyai hash M D5 yang sama.

Bagaimanapun juga, penyerangan tersebut memerlukan kemampuan

untuk memilih kedua pesan kerusakan. Kedua pesan tersebut tidak dengan

mudah untuk memberikan serangan preimage, menemukan pesan dengan

hash M D5 yang sudah ditentukan, ataupun serangan preimage kedua,

menemukan pesan dengan hash M D5 yang sama sebagai pesan yang

diinginkan.

Hash M D5 lama, yang dibuat sebelum serangan-serangan tersebut

diungkap, masih dinilai aman untuk saat ini. Khususny a pada digital

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.

Page 39: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

39

Cara Kerja MD5

M D5 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.

Gambar MD5

M D5 terdiri atas 64 operasi, dikelompokkan dalam empat putaran dari 16

operasi.

F : Adalah fungsi nonlinear, satu fungsi digunakan pada tiap-tiap

putaran.

Mi : Menujukkan blok 32-bit dari masukan pesan, dan

Ki : Menunjukkan konstanta 32-bit, berbeda untuk tiap-tiap operasi.

<<<s : Menunjukkan perputaran bit kiri oleh s; s bervariasi untuk tiap-

tiap operasi.

: Menunjukan tambahan modulo 232.

Page 40: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

40

Contoh

Berikut dapat dilihat satu buah operasi dari MD-5 dengan operasi

yang dipakai sebagai contoh adalah FF(a,b,c,d,M j,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,M j,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<< s)

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

s)

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

II(a,b,c,d,M j,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, b bisa saja nol dan tidak harus selalu kelipatan

delapan. Pesan dengan panjang b bit dapat digambarkan seperti 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

Page 41: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

41

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 atau

Penguatan MD.

3. Inisialisasi M D5 : 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 nama Chain variabel atau

variabel rantai.

4. Proses Pesan di dalam Blok 16 Word

5. Keluaran MD5

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, seperti jika

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

Page 42: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

42

menjadi empat word 32-bit, menunjukkan A, B, C dan D. Op erasi

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 putasan

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-tiap putaran:

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

4. Kesimpulan

Kriptografi memiliki berbagai macam algoritma yang memiliki fungsi,

kelebihan, dan kekurangan masing-masing. Pemilihan algoritma ini

didasarkan pada kebutuhan suatu sistem dan tujuan yang ingin dicapai oleh

suatu sistem.

5. Daftar Pustaka

http://gilang-kurniawan.blogspot.com/2012/05/mengenal-kriptografi.html,

diakses pada 5 September 2019 pukul 13.23 WIB.

Defiana Arnaldy, M.Si. Presentasi Kriptografi, Enkripsi dan Dekripsi. Jakarta

: Teknik Informatika UIN Syarif Hidayatullah Jakarta.

Page 43: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

43

http://jyzeet.blogspot.com/2011/07/algoritma-kriptografi-modern.html,

diakses pada 5 September 2019 pukul 13.26 WIB.

http://gilang-kurniawan.blogspot.com/2012/05/kriptografi-2-macam-macam-

algoritma.html, diakses pada 5 September 2019 pukul 13.23 WIB.

http://agoydaywalker.blogspot.com/2011/03/antivirus-nod32.html, diakses

pada 5 September 2019 pukul 13.31 WIB.

http://kur2003.if.itb.ac.id/file/DES.doc, diakses pada 5 September 2019

pukul 18.41 WIB.

http://elib.unikom.ac.id/files/disk1/467/jbptunikompp-gdl-muhammadar-

23306-11- pertemua-a.doc, diakses pada 5 September 2019 pukul 19.41

WIB.

http://id.wikipedia.org/wiki/Advanced_Encryption_Standard, diakses pada 5

September 2019 pukul 13.17 WIB.

http://robisahputra.blogspot.com/2011/07/one-time-pad-cipher.html, diakses

pada 5 September 2019 pukul 20.20 WIB.

http://infofenvin.blogspot.com/2010/03/pretty-good-privacy-pgp.html?m=1,

diakses pada 5 September 2019 pukul 20.22 WIB.

Aminudin. Helmi, Ahmad Faisal. Arifianto, Sofyan.2018. ANALISA

KOMBINASI ALGORITMA MERKLE-HELLMAN KNAPSACK DAN

LOGARITMA DISKRIT PADA APLIKASI CHAT

Hidayat, Akik. Rosyadi, Akmal Rudi. 2016 . Cryptography Asymmetries

Merkle-Hellman Knapsack Digunakan untuk Enkripsi dan Dekripsi Teks

Page 44: ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta, Bayu Ramadhan ...ilmusisteminfo.com/upload/file_pdf/Algoritma Kriptografi 156770257… · ALGORITMA KRIPTOGRAFI Aprilia Putri Ariesta,

44

https://www.beritabebas.com/definisi/digital-certificate/. __.Digital

certificate, diakses pada 5 September 2019 pukul 13.27 WIB.

https://martentamren97.wordpress.com/digital-security/pengertian-digital-

certificate/. Marten. Pengertian Digital Certificate, diakses pada 5

September 2019 pukul 13.38 WIB.