1. konsep modulo 2. perpangkatan...

27
FAST EXPONENTIATION 1. Konsep Modulo 2. Perpangkatan Cepat

Upload: dangcong

Post on 13-Mar-2019

286 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

FAST EXPONENTIATION

1. Konsep Modulo2. Perpangkatan Cepat

Page 2: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Fast Exponentiation

Algoritma kunci-publik seperti RSA, Elgamal, Rabin-Williams Cryptosystem, DSA, dan sebagainya, sederhana dalamperhitungannya namun sulit dalam implementasinya dalamperangkat lunak. Hal ini karena algoritma tersebut melakukanoperasi perpangkatan dengan bilangan yang besar.

Metode Fast Exponentiation digunakan untuk menghitung operasipemangkatan besar bilangan bulat modulo dengan cepat.

Page 3: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Konsep Modulo (1) Konsep Modulo merupakan bagian yang dibahas pada

Matematika Diskret. Operasi modulo, misal: a mod b = c mempersyaratkan

nilai-nilai a, b, dan c harus integer (bulat), dengan c merupakan sisa hasil-bagi bulat dari a/b div (a/b)

Contoh: 10/3 = 3, sisa 1 maka 10 mod 3 = 1 Penggunaan kalkulator yang tidak ada fungsi mod-nya

contoh: Berapa 124 mod 5?cara: 124 : 5 = 24.8

240.8

0.8*5 = 4Sehingga, 124 mod 5 = 4, atau bisa ditulis: 124 4 mod 5

Page 4: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Konsep Modulo (2) Jika a mod b, dengan a < b, maka a mod b = a Jika a mod b, dengan a > b/2 dan a < b maka a mod b = a-b =

- (b-a) Contoh: berapakah 31 mod 33?Jawab: a = 31, b = 33, dengan a < b (=31 < 33), sekaligus

a > b/2 (= 31 > 33/2 = 16,5), maka dapat dituliskan:31 mod 33 = 31 31-33 -2 mod 33atau dapat ditulis: 31 31-33 -2 mod 33yang merupakan cara penulisan cepat.

Angka hasil modulo yang kecil lebih disukai lebih mudah penghitungannya pada fast exponentiation.Model penulisan lain (lebih panjang):

31 mod 33 = (31-33) mod 33 = -2 mod 33 = -2

Page 5: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

FAST EXPONENTIATION

Page 6: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Jadi hasil dari 311 mod 35

Page 7: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Contoh1098 mod 111098 mod 11 ≡ 1064+32+2

10 mod 11 ≡ 10 ≡ (-1) mod 11102 ≡ (-1)2 ≡ 1 mod 111032 ≡ (102)16 =116 ≡ 1 mod 111064 ≡ (1032)2 = 12 ≡ 1 mod 11Jadi 1098 mod 11 ≡ 1064+32+2 ≡ 1064. 1032. 102

≡ (1). (1). (1) ≡ 1 mod 11

Page 8: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

57237 mod 71357237 = 57232 5724 572572 mod 713 ≡ 572 ≡ (-141) mod 7135722 ≡ (-141)2 ≡ 630 ≡ (-83) mod 7135724 ≡ (5722) 2 ≡ (-83) 2 ≡ 472 ≡ (-241) mod 7135728 ≡ (5724) 2 ≡ (-241) 2 ≡ 328 mod 71357216 ≡ (5728) 2 ≡ 328 2 ≡ 634 ≡ (-79) mod 71357232 ≡ (57216) 2 ≡ (-79) 2 ≡ 537 ≡ (-176) mod 713Jadi 57237 mod 713 ≡ 57232 5724 572 ≡(-176).(-241).(-141) ≡ (-12) mod 713

Page 9: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Dr. R. Rizal Isnanto, S.T., M.M., M.T.

ENKRIPSI RSA DAN EL GAMAL

Page 10: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

R S ARonald Rivest, Adi Shamir, Leonard Adleman)

RSA PUBLIC KEY ALGORITHM

Page 11: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Everyone knows Bob’s public key. Anyone can do the public operation.

Page 12: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Only Bob knows his own private key. It is not possible to find M, given only C and not the private key. It is not possible to find the private key, given the public key. Therefore, only Bob can do the private operation.

Page 13: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Ide Utama Enkripsi RSA(Rivest, Shamir, Adleman)

1. Key setup Pilih dua buah bilangan prima p,q Hitung n = p.q Pilih e sedemikian hingga 1<e<ф

dengan ф = (p-1)(q-1) Hitung d yang secara relatif prima terhadap ф

kunci publik (n,e)kunci privat (d)

Page 14: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

2. Enkripsic = me mod nm = pesan asli / plaintext

3. Dekripsim = cd mod n

Page 15: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

contoh soal1. Diketahui pada algoritma RSA bahwa key setup yang dilakukan

adalah p=3, q=11 dan e dipilih 17a. Berapa nilai d yang dipilih ?b. Jika m=5 tentukan cipher teksnya !c. Buktikan bahwa dekripsi yang dilakukan akan menghasilkan m

yang sesuai butir b !

Page 16: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Jawab:p=3 q=11n=p.q=(3)(11)=33ф=(p-1)(q-1)=(2)(10)=20e 1<e<ф 1<e<20misal e=17pilih d, 1<d< ф ed=1 mod ф

Kandidat d e.d e.d mod ф keterangan

2 34 34 mod 20 = 14 bukan

3 51 51 mod 20 = 11 Bukan

4 68 68 mod 20 = 8 Bukan

…. … … …

13 221 221 mod 20 = 1 Dipilih

Page 17: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

kunci publik (n,e)=(33,17) kunci privat (d)=(13)b. Enkripsic = me mod n m=5

c=14

Page 18: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

c. Dekripsi

m = 5 (terbukti)

Page 19: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

PR (1 minggu)Diketahui pada algoritma RSA bahwa key setup yang dilakukan adalah p=13, q=17, dan e dipilih = 25.a. Berapa nilai d yang dipilih? (d adalah ganjil sedemikian hingga

159 < d < 190)b. Jika m = 7, tentukan ciphertext c-nya.c. Buktikan bahwa dekripsi yang dilakukan akan menghasilkan m sesuai butir b.

Page 20: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

El Gamal Encryption Diambil dari nama penggagasnya: Taher Elgamal (Mesir)

Page 21: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

Ide Utama Enkripsi El Gamal1. Key setupa. Tentukan bilangan prima pb. hitung α sedemikian hingga 1< α ≤p-1

α(p-1)/2 ≠1 mod pc. pilih a sedemikian hingga 1 ≤ a ≤ p-2hitung αa mod pkunci publik (α, p, αa mod p)kunci privat a

Page 22: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

2. EnkripsiPesan m dengan kisaran {0,1, … , p-1}a. Pilih bilangan bulat k, 1 ≤ k ≤ p-2b. Hitung ߛ = αk mod p dan ߜ = m(αa)k mod ppasangan chiperteks c=(ߜ,ߛ)3. Dekripsi Hitung ߛp-1-a ≡ a-ߛ ≡ α-ak mod p Kemudian tentukan m = ߜ(ߛp-1-a) mod p

Fermat’s Little Theorem: ap-1 ≡ 1 mod puntuk semua 1 < a < p, dengan p bil. prima

Page 23: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

contoh soalPada metode El gamal prima p yang dipilih adalah 23a. Tentukan α yang sesuaib. Jika kunci rahasia yang dipilih adalah a=7 dan k=6 tentukan

chiperteks c sebagai hasil enkripsi dari m=9c. Buktikan hasil dekripsi yang dilakukan akan menghasilkan m

sesuai butir b

Page 24: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

jawaba. p = 23

mencari α untuk 1 < α < 23 2,3,4,…,22coba coba α(p-1)/2 ≠1 mod pα = 2 211 mod 23 = 1 mod 23α = 3 311 mod 23 = 1 mod 23α = 4 411 mod 23 = 1 mod 23 α = 5 511 mod 23 = -1 mod 23 dipilih α = 5

b. a=7 k=6 m=9

c = (ߜ,ߛ)ߛ = αk mod p = 56 mod 23 = 8 mod 23 8=ߛߜ = m (αa)k mod p = 9 (57)6 mod 23 = 16 mod 23 16=ߜ

c = (ߜ,ߛ) = (8,16)

Page 25: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

c. dekripsi

m = ߜ mod 23 (p-1-aߛ)= 16 (815) mod 23= 9

terbukti m = 9

PR (1 minggu)1. Pada metode El Gamal, prima p yang dipilih adalah 19.

a.Tentukan a yang sesuai.b. Jika kunci rahasia yang dipilih a = 5, dan k = 4, tentukan ciphertext c

sebagai hasil enkripsi dari m = 8.c. Buktikan bahwa dekripsi yang dilakukan akan menghasilkan m sesuai butir

Page 26: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

PR: 2. Dengan menggunakan rumus-rumus yang ada, buktikan bahwa:

mod p = m (p-1-aߛ)ߜ3. Pada metode El Gamal, prima p yang dipilih adalah 29.

a. Tentukan a yang sesuai, dengan syarat b. Jika kunci rahasia yang dipilih a = 7, dan k = 6, tentukan ciphertext c

sebagai hasil enkripsi dari m = 9.c. Buktikan bahwa dekripsi yang dilakukan akan menghasilkan m sesuai

butir b.

Page 27: 1. Konsep Modulo 2. Perpangkatan Cepatrizal.blog.undip.ac.id/files/2009/...RSA-DAN-EL-GAMALrev3_dipakai1.pdf · pemangkatan besar bilangan bulat modulo dengan cepat. Konsep Modulo

TERIMA KASIH