• Tidak ada hasil yang ditemukan

Implementasi Algoritma Rijndael Dan Rsa Pada Pengamanan Data Teks

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Rijndael Dan Rsa Pada Pengamanan Data Teks"

Copied!
18
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1. Kriptografi

Kriptografi berasal dari bahasa Yunani, cryptosdan graphein. Cryptosberarti rahasia

dan graphein berarti tulisan. Menurut terminologinya kriptografi adalah ilmu dan seni

untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat yang lain.

Kriptografi telah dikenal sejak ribuan tahun lalu, bahkan beberapa ahli mengatakan

ilmu penyembunyian pesan ini telah dikenal sejak zaman mesir kuno, masyarakat

mesir menulisnya dalam bentuk hieroglyphy yang bentuk tulisannya tidak standard

dalam aturan penulisan pesan. (Konheim, 2007).

Kriptografi dapat pula diartikan sebagai ilmu atau teknik-teknik matematika

yang berhubungan dengan aspek keamanan informasi seperti kerahasian, integritas

data, serta otentikasi. Prinsip dasar kriptografi adalah menyembunyikan informasi

dalam bentuk sedemikian rupa sehingga hanya orang-orang yang berhak saja yang

dapat mengetahui isi informasi yang disembunyikan itu. (Smart, 2004).

Dalam algoritma kriptografi dikenal beberapa komponen yaitu:

1. Enkripsi

merupakan suatu proses pengubahan pesan asli yang disebut plainteks

menjadi suatu kode yang tidak bisa dimengerti atau disebut juga

(2)

2. Dekripsi

merupakan proses pengubahan cipherteks menjadi plainteks. Algoritma

yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang

digunakan untuk enkripsi.

3. Kunci

Berfungsi untuk melakukan enkripsi dan dekripsi. Berdasarkan jenis kunci

yang digunakan kriptografi terbagi dua yaitu algoritma kriptografi simetris

dan algoritma kriptografi asimetris.

4. Plainteks

merupakan pesan asli (clearteks). Agar pesan tidak dapat dimengerti

maknanya oleh pihak lain, maka pesan akan diproses menggunakan

algoritma kriptografi untuk menjadi kode-kode yang tidak bisa dipahami.

5. Cipherteks

merupakan bentuk pesan yang telah disandikan sehingga tidak bisa dibaca

karena berupa karakter yang tidak mempunyai makna.

Dari lima komponen dalam kriptografi tersebut saling berhubungan. Plainteks

dan cipherteks merupakan hasil pemetaan dari fungsi enkripsi dan dekripsi dengan

menggunakan sebuah kunci. Misalkan P menyatakan plainteks, C menyatakan

cipherteks, dan k menyatakan kunci, maka fungsi enkripsi dan dekripsi dapat ditulis

Ek (P) = C maka Dk (C) = P sehingga Dk (Ek(P)) = P. (Munir, 2006).

2.1.1. Algoritma kriptografi kunci simetris

Dalam algoritma ini kunci pada saat penyandian pesan sama dengan kunci pada saat

pendekripsian pesan. Jadi pembuat pesan dan penerimanya harus menyepakati kunci

yang akan digunkan. Masalah yang paling jelas disini terkadang bukanlah masalah

pengiriman cipherteks nya, melainkan masalah bagaimana menyampaikan kunci

simetris tersebut kepada pihak yang diinginkan karena sekali saja kunci tersebut

diketahui oleh pihak yang lain maka pesan tersebut akan mudah untuk dienkripsi dan

(3)

Contoh algoritma kunci simetris yang terkenal salah satunya adalah DES

(Data Encryption Standard), AES Rijndael, dan IDE, kelemahan pada algoritma kunci

simetris, kunci harus didistribusi dengan aman, jika ada n pengguna maka dibutuhkan

jumlah kunci sebanyak n(n-1)/2 kunci. Jika kunci berhasil ditemukan oleh pihak yang

tidak berhak, maka sistem kriptografi tidak lagi aman. Dibalik kelemahan di atas,

terdapat juga keuntungan dari penggunaan algoritma ini yaitu prosesnya lebih cepat

jika dibandingkan dengan kriptografi asimetri. Keuntungan inilah yang menjadi dasar

mengapa algoritma ini masih banyak digunakan dan terus dikembangkan.

Gambar 2.1 Skema Kriptografi Simetri (Munir, 2006)

2.1.2. Algoritma kriptografi kunci asimetri

Whitfield Diffie dan Martin Hellman memperkenalkan konsep kriptografi kunci

publik (kunci asimetris) pada tahun 1976. Pada algoritma asimetris kunci terbagi

menjadi dua bagian yaitu:

1. Kunci umum (public key): kunci yang boleh diketahui semua orang

(dipublikasikan).

2. Kunci rahasia (private key): kunci yang dirahasiakan (hanya boleh

diketahui oleh satu orang saja).

(4)

Seseorang dapat mengirim sebuah pesan rahasia dengan menggunakan kunci

publik tetapi pesan cipherteks hanya dapat didekripsi dengan kunci rahasia yang

dimiliki penerima pesan.

Gambar 2.2 Skema Kriptografi Asimetri (Munir, 2006)

Aplikasi kunci publik dapat diimplementasi menjadi tiga kategori:

1. Kerahasian data

Kriptografi kunci-publik dapat digunakan untuk menjaga kerahasiaan data

melalui mekanisme enkripsi dan dekripsi. Contoh algoritma untuk aplikasi

ini adalah RSA, Knapsack, dan Elgamal.

2. Tanda-tangan digital

Kriptografi kunci publik dapat digunakan untuk membuktikan otentikasi

pesan maupun otentikasi pengirim. Contoh algoritma untuk aplikasi ini

adalah RSA, DSA, dan Elgamal.

3. Pertukaran kunci (key exchange)

Algoritma kriptografi kunci publik dapat digunakan untuk pengiriman

kunci simetri (sessionkey). Contoh algoritmanya adalah RSA dan

Diffie-hellman.

Dalam implementasinya, sistem kriptografi kunci publik bukan pengganti

sistem kriptografi simetris. Sistem kriptografi kunci publik tidak digunakan untuk

mengengkripsi pesan, melainkan untuk mengenkripsi kunci pada sistem kriptografi

simetris. Dengan sistem kriptografi kunci publik maka pertukaran kunci pada sistem

kriptigrafi simetris dapat dilakukan dengan aman.

Enkripsi

Ek1(P)=C

Kunci publik K1

Plainteks P User A

Ciphertext C Dekripsi

Dk2(C)=P

User B Kunci privat K2

(5)

2.2. Jenis-Jenis Serangan Terhadap Kriptografi

Serangan terhadap sistem kriptografi dapat dikelompokkan dengan beberapa cara:

1. Berdasarkan keterlibatan penyerang dalam komunikasi:

a. Serangan aktif

Pada jenis serangan ini, penyerang mengintervensi komunikasi secara

langsung dan ikut mempengaruhi sistem untuk keuntungan dirinya.

Misalnya penyerang mengubah aliran pesan seperti menghapus sebagian

ciphertext, mengubah ciphertext, menyisipkan potongan ciphertext palsu,

me-replay pesan lama, mengubah informasi yang tersimpan, dan

sebagainya. Serangan yang termasuk jenis serangan aktif adalah

man-in-the-middle attack.

b. Serangan pasif

Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara

pengirim dan penerima, namun penyerang menyadap semua pertukaran

pesan antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan

sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa

metode penyadapan data antara lain:

1) Wiretapping: penyadap mencegat data yang ditransmisikan pada

saluran komunikasi dengan menggunakan sambungan perangkat keras.

2) Electromagnetic eavesdropping: penyadap mencegat data yang

ditransmisikan melalui saluran wireless, misalnya radio dan

microwave.

2. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis:

a. Ciphertext-only attack

Ini adalah jenis serangan yang paling umum namun paling sulit karena

informasi yang tersedia hanyalah ciphertext saja.Tugas kriptanalis adalah

menemukan plaintext sebanyak mungkin dari ciphertext tersebut dengan

(6)

b. Known-plaintext attack

Ini adalah jenis serangan dimana kriptanalis memiliki pasangan plainteks

dan cipherteks yang berkoresponden. Beberapa pesan yang formatnya

terstruktur membuka peluang kepada kriptanalis untuk menerka plainteks

dari cipherteks yang bersesuaian.

c. Chosen-plaintext attack

Serangan jenis ini lebih hebat dari pada known-plaintext attack, karena

kriptanalis dapat memilih plainteks yang dimilikinya untuk dienkripsikan,

yaitu plainteks yang lebih mengarahkan penemuan kunci.

d. Chosen-ciphertext attack

Ini adalah jenis serangan dimana kriptanalis memilih cipherteks untuk

didekripsikan dan memiliki akses ke plainteks hasil dekripsi (misalnya

terhadap mesin elektronik yang melakukan dekripsi secara otomatis). Jenis

serangan ini biasanya dipakai pada sistem kriptografi.

e. Chosen-text attack

Ini adalah jenis serangan yang merupakan kombinasi chosen-plaintext dan

chosen-ciphertext attack.

3. Berdasarkan teknik yang digunakan dalam menemukan kunci:

a. Exhaustive attack atau brute force attack

Ini adalah serangan untuk mengungkap plainteks atau kunci dengan

mencoba semua kemungkinan kunci.

b. Analytical attack

Kriptanalis menganalisis kelemahan algoritma kriptografi untuk

mengurangi kemungkinan kunci yang tidak mungkin ada. Analisis dapat

menggunakan pendekatan matematik dan statistik dalam rangka

(7)

2.3. Algoritma AES Rijndael

Pada tahun 1997 NIST (National Institute of Standards and Technology) berniat ingin

mencari pengganti algoritma DES, hal ini dikarenakan dalam tempo 96 hari 70 ribu

PC berhasil membobol kunci DES, kemudian pada tahun 1998 hanya dalam tempo 22

hari, sehingga dibuat suatu mesin khusus untuk memecahkan algoritma DES. Mesin

tersebut terbukti dapat memecahkan 25% kunci DES dalam waktu 2,3 hari dan dapat

memecahkan seluruh kunci DES dalam waktu rata-rata 4,3 hari. Karena alasan

tersebut NIST ingin mengadakan kompetisi yang diikuti para kriptografer seluruh

dunia agar segara mendapatkan pengganti dari algoritma DES.(Arriyus, 2008).

Pada tanggal 9 Agustus 1999, NIST melalui seleksi yang sangat ketat

mengumumkan 5 finalis yang akan memasuki seleksi akhir yaitu MARS, RC6,

Rijndael, Serpent, dan Twofish. Pada seleksi akhir tanggal 2 Oktober 2000 maka

terpilihlah Rijndael sebagai pemenang. Algoritma Rijndael dibuat oleh Dr. Vincent

Rijmen dan Dr. Joan Daemen. Evaluasi terhadap algoritma Rijndael tersebut dapat

dilihat dari beberapa sudut pandang berikut ini:

1. Dari segi general security

a. Belum ada serangan yang serius dalam memecahkan skema dari

Rijndael

b. Rijndael menggunakan komponen S-Box non linear.

c. Rijndael memiliki struktur matematika yang bisa terus mengalami

perkembangan.

2. Dari segi enkripsi dekripsi

a. Memiliki kode yang sangat rumit.

b. Enkripsi dekripsi Rijndael berbeda satu dengan yang lainnya.

c. Rijndael mendukung penuh ukuran blok dan ukuran kunci 128 bit,

192bit, dan 256 bit.

Algoritma Rijndael menggunakan substitusi, permutasi, dan sejumlah putaran

yang dikenakan pada tiap blok yang akan dienkripsi/dekripsi. Untuk setiap

(8)

Algoritma Rijndael mampu menangani panjang kunci dan ukuran blok yang

berbeda, panjang kunci dan ukuran blok yang telah ditentukan adalah 128, 192, dan

256. Ukuran blok dapat dihitung dengan (Nb= block length / 32) dan panjang kunci

(Nk= key length / 32). Nilai Nb dan Nk yang akan dipakai mempengaruhi jumlah

putaran (Nr) yang terjadi pada saat proses enkripsi dan dekripsi. Tabel 2.1 akan

menunjukan perbedaan jumlah putaran (Nr) berdasarkan panjang kunci dan ukuran

blok yang digunakan. (Mollin, 2007).

Tabel 2.1 Perbandingan Jumlah Putaran pada Rijndael (Rijman & daemen, 2002)

Nr Nb= 4 Nb= 6 Nb= 8

Nk= 4 10 12 14

Nk= 6 12 12 14

Nk= 8 14 14 14

Algoritma Rijndael memiliki tiga para meter yaitu:

1. Plainteks : array yang berukuran 16 byte, yang berisi data masukan.

2. Cipherteks : array yang berukuran 16 byte, yang berisi hasil enkripsi.

3. Key : array yang berukuran 16 byte, yang berisi kunci ciphering.

Algoritma Rijndael beroprasi pada orientasi byte. Tiap elemen dari arraystate

diisi dengan 8 bit teks (1 byte) dalam notasi HEX. Urutan pengisian dimulai dari

kolom awal (c=0) sampai kolom terakhir ( c=3) dan dari baris awal (r=0) sampai baris

akhir (s=3). Setiap state pasti mempunyai jumlah baris yang tetap, yaitu 4 baris,

(9)

2.3.1. Proses enkripsi algoritma Rijndael

Proses enkripsi untuk algoritma Rijndael yang beroperasi pada panjang blok 128-bit

dengan kunci 128-bit, total putaran (Nr) yang dilakukan hingga diperoleh cipherteks

adalah 10 kali putaran. Secara garis besar proses enkripsi algoritma Rijndael

diperlihatkan pada Gambar 3.3.

Gambar 2.3 Diagram Proses Enkripsi Rijndael

Urutan proses enkripsi Rijndael dalam mengamankan plainteks yaitu:

1. Key Expantion

Pada tahap ini dilakukan ekspansi kunci sesuai dengan panjang kunci dan

panjang ukuran blok yang akan digunakan, hasil ekspansi ini disebut dengan

(10)

2. Addroundkey

Untuk proses Addroundkey yang pertama dilakukan XOR antara state awal

(plaintext) dengan kunci utama, sedangkan Addroundkey yang selanjutnya

pada tiap putaran, merupakan hasil key ekspantion dari kunci utama

(sessionkey).

3. Putaran (Nr) sebanyak Nr-1

Pada proses ini akan dilakukan beberapa putaran, jumlah putaran telah

ditentukan seperti yang telah dijelaskan sebelumnya. Pada tahap ini dilakukan

9 kali putaran, yaitu:

a. Sub Bytes

Pada proses ini dilakukan subtitusi menggunkan table S-box. Dua digit

bilangan HEX yang merupakan representasi 1 byte dari tiap teks menjadi

koordinat untuk substitusi pada S-box. Digit pertama sebagai koordinat x

dan digit kedua sebagai koordinat y, perpotongan baris x dengan kolom y

merupakan nilai yang akan diambil. (Rijmen & Daemen, 2002).

(11)

b. ShiftRows

Proses pergeseran baris array state dengan menggeser baris ke-r dalam

array state ke kiri sebanyak r byte. Baris ke-0 dari blok tidak mengalami

pergeseran. Baris ke-1 bergeser 1 byte ke kiri, baris ke-2 bergeser 2 byte ke

kiri, sampai akhirnya didapatkan hasil terakhir setelah menggeser baris

ke-3 sebanyak ke-3 byte ke kiri. Berikut adalah table jumlah pergeseran

berdasarkan blok Nb. (Rijmen & Daemen,2002).

Tabel 2.3 Jumlah Pergeseran Pada Tahap Shift Rows (Rijmen & Daemen,2002)

Nb C0 C1 C2 C3

4 0 1 2 3

6 0 1 2 3

8 0 1 4 4

c. MixColoumns

Yaitu proses pengacakan data di masing-masing kolom array state.

Transformasi MixColumns menggunakan operasi perkalian matriks dengan

operasi perkalian dan penjumlahan menggunakan operator pada GF(28)

dengan irreducible polynomial ( x8 + x4 +x3 + x + 1). Matriks tersebut

berdasarkan polinom a(x) mod (x4 + 1) dengan polinom a(x) yang

(12)

Transformasi ini dinyatakan sebagai perkalian matriks:

s’(x) = a(x)s(x)

s’0,c = ({02} •s0,c) ⊕ ({03}•s1,c ) ⊕s2,c⊕s3,c s’1,c = s0,c⊕ ({02} •s1,c) ⊕ ({03}•s2,c ) ⊕s3,c s’2,c = s0,c⊕s1,c⊕ ({02} •s1,c) ⊕ ({03}•s3,c ) s’3,c = ({03}•s0,c ) ⊕s0,c⊕s1,c⊕ ({02} •s3,c)

Gambar 2.4Perkalian Matriks MixColumn() Rijndael

d. Addround key

Dilakukan dengan fungsi XOR antara array state sebelumnya dengan

round key. Proses ini akan terus berulang sebanyak Nr-1 sesuai besarnya

blok data dan panjang kunci.

Setelah semua proses dilakukan sebanyak Nr-1, proses terakhir adalah final

round. Pada tahap ini proses MixColumns tidak dilakukan.

4. Final round

Proses untuk putaran terakhir hanya dilakukan tiga tahap saja, proses dari

ketiga tahap tersebut sama seperti proses pada tahap sebelumnya yaitu:

a. SubBytes. b. ShiftRows.

c. AddRoundKey.

S’0,c 02 03 01 01 S’0,c

S’1,c =

01 02 03 01 S’1,c

S’2,c 01 01 02 03 S’2,c

(13)

2.3.2. Proses dekripsi algoritma Rijndael (AES)

Proses dekripsi algoritma Rijndael tidak jauh berbeda dengan proses enkripsi namun

berbeda pada urutan prosesnya saja. Untuk urutan proses dekripsi yaitu:

1. Key Expantion

Pada proses dekripsi juga dilakukan ekspansi kunci. Kunci pada proses

enkripsi kemudian diekspansi terlebih dahulu untuk menghasilkan

RoundKey yang akan digunakan pada setiap putaran.

2. AddRoundKey

Dilakukan proses XOR antara state awal (cipherteks) dengan key terakhir

hasil ekspansi. Tahap ini disebut juga initial round.

(14)

3. Putaran sebanyak Nr-1 kali Proses yang dilakukan pada setiap putaran

adalah:

a. InvShiftRow

Pergeseran baris-baris array state ke kanan dengan aturan pergesaran

sama seperti pada tahap enkripsi.

b. InvByteSub

Dilakukan substitusi byte dengan menggunakan tabel substitusi

kebalikan (inverse S-box). Tabel substitusi dapat dilihat pada Tabel 2.4.

(15)

c. AddRoundKey

Pada proses ini dilakukan XOR antara state sekarang dengan round key.

d. InvMixColumn

Seperti pada proses MixColumn, InvMixColumn juga dilakukan

pengacakan di masing-masing data pada kolom array state.

4. Final round

Proses untuk putaran terakhir hanya dilakukan tiga tahap saja, proses dari

ketiga tahap tersebut sama seperti proses pada tahap sebelumnya, yaitu:

a. InvShiftRow

b. InvSubByte

c. AddRoundKey

2.3.3. Key expantion

Algoritma Rijndael (AES) membuat suatu ekspansi kunci untuk menghasilkan suatu

key schedule. Jika ekspansi kunci yang diperlukan Rijndael (AES) Nb(Nr+1) word,

sehingga bisa digunakan AES 128 bit, maka 4(10+1)=40 word=44x32 bit=1408 bit

subkey. Ekspansi dari 128 menjadi 1408 bit subkey, proses ini disebut dengan key schedule. Subkey ini diperlukan karena setiap round merupakan suatu inisial dari Nb word untuk Nr=0 dan 2 Nb untuk Nr=1, 3 untuk Nr=2,…,11 Nb untuk Nr=10, dari

operasi ini akan didapatkan schedule kunci yang berisi array linier 4 byte word

(16)

2.4.Algoritrma Kriptografi RSA

Sistem kriptografi asimetris pertama kali dipublikasikan pada tahun 1997 oleh

Whitfield Diffie dan Martin Hellman dari Stanford University. Penelitian mereka

membahas tentang pendistribusian kunci rahasia pada saluran komunikasi umum,

metode ini kemudian dikenal dengan nama algoritma Diffie Hellman. Algoritma ini

beranjak dari hasil penelitian sistem kriptografi asimetris yang pertama kali dilakukan

oleh James H. Ellis, Clifford Cocks, dan Malcom Williamson pada tahun1970. Namun

sayangnya algoritma tersebut dirahasiakan dan tidak dipublikasikan.

Berkat penemuan tersebut pada tahun 1976 tiga orang ilmuan dari MIT

(Massachusset Institute Of Technology) yaitu Ron Rivest, Adi Shamir, dan Leonard

Adleman, mencoba mengembangkan teknik algoritma kriptografi kunci publik,

algoritma tersebut kemudian dikenal dengan naman RSA. (Munir, 2006).

RSA merupakan salah satu algoritma kriptografi yang bersifat asimetris,

artinya setiap pengguna memiliki sepasang kunci, satu kunci untuk enkripsi dan satu

kunci lagi untuk dekripsi. Kunci enkripsi (public-key) bersifat tidak rahasia sedangkan

untuk kunci dekripsi dirahasiakan (private-key). Untuk kunci publik disimbulkan

dengan e dan untuk kunci privat disimbulkan dengan d. karena kunci enkripsi tidak

sama dengan kunci dekripsi itulah kriptografi RSA disebut kunci asimetris. Kekuatan

algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan menjadi

faktor primanya.

Pada algoritma RSA terdapat 3 langkah utama yaitu key generation

(pembangkitan kunci), enkripsi, dan dekripsi. Kunci pada RSA mencakup dua buah

kunci, yaitu public key dan private key. Public key digunakan untuk melakukan

enkripsi, dan dapat diketahui oleh orang lain. Sedangkan private key tetap

dirahasiakan dan digunakan untuk melakukan dekripsi. Besaran besaran yang

digunakan pada RSA adalah sebagai berikut :

1. p dan q bilangan prima (dirahasiakan)

2. n= p .q (tidak dirahasiakan)

(17)

4. e (kunci enkripsi) (tidak rahasia)

5. d( kunci dekripsi ) (dirahasiakan)

6. m (Plainteks) (dirahasiakan)

7. c ( Cipherteks ) (tidak rahasia)

Proses pembangkitan kunci atau RSA adalah sebagai berikut:

1. Pilih dua buah bilangan prima sembarang p dan q. Jaga kerahasiaan p dan

q ini.

2. Hitung n = p * q. Besaran n ini tidak dirahasiakan.

3. Hitung φ(n)= (p-1) * (q-1). Sekali φ(n) telah dihitung, p dan q dapat

dihapus untuk mencegah diketahuinya oleh pihak lain.

4. Pilih sebuah bilangan bulat untuk kunci publik e, yang relatif prima

terhadap n (GCD(e, φ(n)) = 1) dengan syarat e (p-1), e (q-1), dan e < n.

5. Kunci publik (Public Key) = (n,e)

6. Hitung kunci privat (d). Kunci privat dapat dihitung dengan persamaan:

dengan syarat k dan d adalah anggota bilangan bulat. Nilai k = 1, 2, 3, ...,n

diperoleh nilai d yang bulat. Nilai itu yang akan dipakai sebagai kunci

pribadi untuk dekripsi pesan.

Proses enkripsi dapat dilakukan dengan:

Sedangkan proses dekripsi dilakukan dengan:

Dalam implementasi sebenarnya, nilai p dan q diharapkan sangat besar sekali

(misalnya 100 digit) agar pekerjaan memfaktorkan n menjadi faktor primanya menjadi

sangat sukar, sehingga lebih susah untuk ditembus.

(18)

2.4.1. Algoritma pembangkit bilangan prima

Algoritma pembangkit bilangan prima dalam kriptografi kunci publik sangat berperan

penting dalam meningkatkan keamanan, besarnya nilai bilangan prima yang mampu

dibangkitkan akan meningkatkan tingkat kerumitan terhadap pemecahan kode rahasia

dari algoritma kunci publik itu sendiri. Algoritma Lehmann adalah salah satu

algoritma pembangkit bilangan prima yang bisa digunakan, algoritma ini

menggunakan beberapa kali pengujian terhadap suatu bilangan prima P sehingga

diperoleh persentasi peluang bilangan tersebut adalah prima. Langkah-langkah

algoritma Lehmann dapat dilihat sebagai berikut:

1. Pilih bilangan prima p yang ingin diuji keprimaannya, misalkan 71.

2. Bangkitkan bilangan acak a yang rentang nilainya 1 <a<p. misalkan 43.

3. Hitung L (legendre).

�= 2�−

adalah bilngan prima sebesar 50%.

5. Bila � ≠1 (����) atau � ≠ −1 (����) maka nilai p pasti bukan

prima.

Apabila pengujian diatas diulangi sebanyak t kali dengan nilai a yang berbeda,

maka peluang p adalah prima mempunyai kesalahan tidak lebih dari 1/2t.

Gambar

Gambar 2.1 Skema Kriptografi Simetri (Munir, 2006)
Gambar 2.2 Skema Kriptografi Asimetri (Munir, 2006)
Tabel 2.1 Perbandingan Jumlah Putaran pada Rijndael  (Rijman & daemen, 2002)
Gambar 2.3 Diagram Proses Enkripsi Rijndael
+5

Referensi

Dokumen terkait

Algoritma Rabbit menggunakan 128 bit kunci rahasia dan 64 bit Initialization Vector (IV) sebagai masukan untuk membangkitkan blok keluaran yang terdiri dari 128 bit acak

AES Advance Encrytion Standard AES atau bisa juga disebut Rijndael merupakan algoritma kunci simetris blok cipher yang menggunakan kunci kriptografi 128, 192 dan 256 bit untuk

Seluruh pegawai administrasi Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membantu penulis dalam

[r]

 Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut (di luar proses pembangkitan round key ):.. AddRoundKey : melakukan

Dengan blok input atau blok data sebesar 128- bit , key yang digunakan pada algoritma AES tidak harus mempunyai besar yang sama dengan blok input. Perbedaan panjang

Dalam implementasi algoritma Rijndael dalam mengamankan data citra digital, dilakukan beberapa uji coba untuk beberapa variasi panjang kunci input, jenis kunci input dan

Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit adalah sebagai berikut di luar proses pembangkitan round key:  AddRoundKey: melakukan XOR antara