RSA RivestShamirAdleman Algoritma RSA Merupakan algoritma kriptografi untuk

  • Slides: 17
Download presentation
RSA (Rivest—Shamir—Adleman)

RSA (Rivest—Shamir—Adleman)

Algoritma RSA • Merupakan algoritma kriptografi untuk kunci public (public key cryptography) yang umum

Algoritma RSA • Merupakan algoritma kriptografi untuk kunci public (public key cryptography) yang umum digunakan saat ini. • RSA merupakan singkatan dari nama akhir penemu algoritma ini: Ron Rivest, Adi Shamir, dan Len Adleman dari MIT.

Algoritma RSA • Algoritma tersebut dipatenkan oleh MIT pada tahun 1983 di Amerika Serikat

Algoritma RSA • Algoritma tersebut dipatenkan oleh MIT pada tahun 1983 di Amerika Serikat sebagai U. S. Patent 4405829. Paten tersebut berlaku hingga 21 September 2000.

Prinsip RSA • “A” menciptakan sebuah public key yang kemudian dipublikasikan agar semua orang

Prinsip RSA • “A” menciptakan sebuah public key yang kemudian dipublikasikan agar semua orang yang akan mengirim pesan dapat mengenkripsikan pesan data yang akan dikirimkan. Karena public key merupakan one way function maka mustahil bagi orang untuk membalik prosesnya dan mendeskripsikan pesan yang dikirim. • Orang yang menciptakan public key tersebut kemudian dapat mendeskripsikan pesan tersebut dengan menggunakan privat key yang dimilikinya sendiri sehingga dengan menggunakan algoritma ini hanya A sajalah yang dapat mendeskripsikan pesan-pesan data-data yang dikirim.

Rumus dari RSA • Enkripsi – Cipher = Plaintext ^ e (mod n) •

Rumus dari RSA • Enkripsi – Cipher = Plaintext ^ e (mod n) • Dekripsi – Plaintext = Cipher ^ d (mod n) Note: Public Key = e, n Private Key= d, n

Prosedur Pembuatan Key 1. Pilih dua buah bilangan prima sembarang, p dan q. (Diutamakan

Prosedur Pembuatan Key 1. Pilih dua buah bilangan prima sembarang, p dan q. (Diutamakan bilangan prima terbesar) Misal: p = 5, q = 11 2. Hitung n = p q. Sebaiknya p q, sebab jika p = q maka n = p 2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n. n=p. q n = 55 3. Hitung (n) = (p – 1)(q – 1). (n) = (5 -1)(11 -1) (n) = 40

Prosedur Pembuatan Key (Cont. ) 4. Buat kunci publik, PK (Public Key), yang relatif

Prosedur Pembuatan Key (Cont. ) 4. Buat kunci publik, PK (Public Key), yang relatif prima terhadap (r) Relatif prima = “Dua buah bilangan dikatakan relatif prima jika FPB (Faktor Persekutuan Terbesar) dari dua bilangan tersebut adalah 1 algoritma Euclid” Dalam kasus ini (r) = 40, maka, n = 2, => FPB (2, 40) = 2 (Salah) n= 3, => FPB (3, 40) = 1 (BENAR) karena FPB (3, 40) = 1, maka PK = 3

Prosedur Pembuatan Key (Cont. ) 5. Buat kunci private, SK (Secret Key / Private

Prosedur Pembuatan Key (Cont. ) 5. Buat kunci private, SK (Secret Key / Private Key), dengan rumus: SK = 1 + n (n) / PK *Syarat SK = Bilangan Bulat Misal: n=0, 1+0(40)/3 = 1/3 n=1, 1+1(40)/3 = 41/3 n=2, 1+2(40)/3 = 27 (Salah) (BENAR) Karena SK = 27 (Bilangan Bulat), maka SK = 27 Jadi PK = (3, 55) SK = (27, 55)

Contoh 1 ENKRIPSI Plaintext = dhany Ubah kedalam angka (ASCII): D 68 H 72

Contoh 1 ENKRIPSI Plaintext = dhany Ubah kedalam angka (ASCII): D 68 H 72 A 65 Menjadi : 6872657889 N 78 Y 89

Contoh 1 (Cont) • Kemudian Enkripsikan dengan rumus: Cipher = Plaintext ^ e (mod

Contoh 1 (Cont) • Kemudian Enkripsikan dengan rumus: Cipher = Plaintext ^ e (mod n) Misal: Menjadi: Public Key (3, 55) Private Key (27, 55) D = 68 => 68^3(mod 55) = 52 H = 72 => 72^3(mod 55) = 18 A = 65 => 65^3(mod 55) = 10 N = 78 => 78^3(mod 55) = 12 Y = 89 => 89^3(mod 55) = 34 Jadi Cipher Text = 52 18 10 12 34 4 DC 2 LF FF “

Contoh 1 (Cont) • DEKRIPSI Cipher : 4 DC 2 LF FF “ Ubah

Contoh 1 (Cont) • DEKRIPSI Cipher : 4 DC 2 LF FF “ Ubah Kedalam Kode ASCII: 4 DC 2 LF FF “ 52 18 10 12 34 Menjadi: 5218101234

Contoh 1 (Cont) • Kemudian Dekripsikan dengan rumus: Plaintext = Chipertext ^ d (mod

Contoh 1 (Cont) • Kemudian Dekripsikan dengan rumus: Plaintext = Chipertext ^ d (mod n) Misal: Menjadi: 4 DC 2 LF FF “ Public Key (3, 55) Private Key (27, 55) = 52 => 52^27(mod 55) = 18 => 18^27(mod 55) = 10 => 10^27(mod 55) = 12 => 12^27(mod 55) =34=> 34^27(mod 55) Jadi Plain. Text = 68 72 D H A 65 = 68 = 72 = 65 = 78 = 89 N 78 Y 89

Contoh 2 ENKRIPSI Plaintext = Haris Ubah kedalam angka (ASCII): H 72 A 65

Contoh 2 ENKRIPSI Plaintext = Haris Ubah kedalam angka (ASCII): H 72 A 65 R 82 Menjadi : 7265827383 I 73 S 83

Contoh 2 (Cont) • Kemudian Enkripsikan dengan rumus: Cipher = Plaintext ^ e (mod

Contoh 2 (Cont) • Kemudian Enkripsikan dengan rumus: Cipher = Plaintext ^ e (mod n) Misal: Menjadi: Public Key (5, 133) Private Key (65, 133) H = 72 => 72^5(mod 133) = 116 A = 65 => 65^5(mod 133) = 88 R = 82 => 82^5(mod 133) = 24 I = 73 => 73^5(mod 133) = 61 S = 83 => 83^5(mod 133) = 125 Jadi Cipher Text = 116 88 24 61 125 t X CAN = }

Contoh 2 (Cont) • DEKRIPSI Cipher : t X CAN = } Ubah Kedalam

Contoh 2 (Cont) • DEKRIPSI Cipher : t X CAN = } Ubah Kedalam Kode ASCII: t X CAN = } 116 88 24 61 125 Menjadi: 116882461125

Contoh 2 (Cont) • Kemudian Dekripsikan dengan rumus: Plaintext = Chipertext ^ d (mod

Contoh 2 (Cont) • Kemudian Dekripsikan dengan rumus: Plaintext = Chipertext ^ d (mod n) Misal: Menjadi: t X CAN = } Public Key (5, 133) Private Key (65, 133) = 11 => 116^65(mod 133) = 68 => 88^65(mod 133) = 82 => 24^65(mod 133) = 73 => 61^65(mod 133) =83 => 125^65(mod 133) Jadi Plain. Text = 72 65 82 73 83 H A R I S = 72 = 65 = 82 = 73 = 83

Sekian dan Terima Kasih

Sekian dan Terima Kasih