Bilangan Prima

2.4. Bilangan Prima

Bilangan bulat positif p (p>1) disebut bilangan prima jika pembaginya hanya 1 dan p. Bilangan selain bilangan prima disebut dengan bilangan komposit.

The Fundamental Theorem of Arithmetic : Setiap bilangan bulat positif yang lebih besar atau

sama dengan 2 dapat dinyatakan sebagai perkalian satu atau lebih bilangan prima.

Contoh :

ISBN: 979-458-766-4 KeTIK 2014 Konferensi Nasional Pengembangan Teknologi Informasi dan Komunikasi

2.5. Algoritma Pembangkitan Kunci pada RSA Langkah-langkah yang digunakan untuk

c i =p e i mod n membangkitkan pasangan kunci di RSA :

1. Pilih dua buah bilangan prima sembarang p

jlhhrf Len(strAsli)

dan q. ( Rahasiakan a&b).

For i = 1 To jlhhrf

2. Hitung n = a * b, dengan a ≠ b. n tidak

hrf Mid(strAsli, i, 1)

rahasia.

aschrf Asc(hrf)

3. Hitung ϕ(n) = (a-1)*(b-1) If Len(aschrf) = 2 Then aschrf = 0 and aschrf

4. Pilih kunci public e, yang relative prima aschrf_gab aschrf_gab and aschrf terhadap ϕ(n). dimana e ≠ ( a-1) e ≠ (b-1).

ascii_blok ascii_blok and aschrf and " "

5. Bangkitkan kunci privat d dengan

Next i kekongruenan d = 1+ k ϕ(n) / e atau d = e -1 m pn - 1

(1 + k. ϕ(n)).

jlhascii Len(aschrf_gab)

Hasil dari algoritma diatas adalah :

jm jlhascii Mod m

1. Kunci public (n, e)

If jm <> 0 Then

2. Kunci privat (d)

For i = 1 To jm aschrf_gab aschrf_gab and "0"

Pseudocode Pembuatan Kunci

jlhascii jlhascii + 1

Deklarasi

Next i

P,q, teta, logn : Integer

endif

Deskripsi For i = 1 To jlhascii Step m Read p genPrima() blok Mid(aschrf_gab, i, m) q genPrima()

pb Len(CStr(blok))

np*q

bloks CStr(blok)

teta (p-1)*(q-1) Do While (pb Mod m <> 0) logn logn (n)\log (2)

pb pb + 1

ulang:

bloks "0" and bloks

Do

Loop

e cari_e(p, q, n) blok_tampil blok_tampil and bloks and " " Loop Until FPB(e, teta) blok_enkrip modExp(blok, e, n)

d Multinverse (e,teta) blok_enkrips CStr(blok_enkrip) if (d < logn or e = d) Then GoTo ulang

pe Len(blok_enkrips)

endif Do While (pe Mod pn <> 0) write (p, q, n, e, d)

pe pe + 1 blok_enkrips "0" and blok_enkrips

2.6. Algoritma Enkripsi dan Dekripsi cipher_blok cipher_blok and blok_enkrips Algoritma enkripsi pada RSA adalah sebagai

and " "

berikut : cipher_gab cipher_gab and blok_enkrips

1. Ambil kunci public milik penerima pesan

Next i

(n dan e).

endif

2. Pecah plainteks menjadi blok-blok m 1 ,

m 2 , …, sedemikian sehingga setiap blok

3. PEMBAHASAN

merepresentasikan nilai di dalam selang [0,

n-1]. Plaintext = LISDAJULIANA2707

3. Setiap blok mi dienkripsi menjadi blok c i

a. Pembangkit kunci ( key generation ) Untuk mendapatkan plainteks kembali, blok

dengan rumus c =p e i i mod n

1. Bilangan PRIMA =17 – 11 cipherteks ci didekripsi menjadi blok m i dengan

rumus p d

i =c i mod n.

a=17

Pseudocode Enkripsi

pn,m,pe,jm, jlhhrf, i, jlhascii : byte strAsli, hrf, aschrf, ascii_blok : String

3. ϕ(n) = 16 X 10 = 160

4. gcd(e, ϕ(n))=1

blok_tampil, blok_enkrips, cipher_blok : String

cipher_gab, aschrf_gab, blok_enkrip : String

gcd(e,160) = 1 sesuai dengan perhitungan algoritma euclident Deskripsi

maka:

read (strAsli)

e=3

If strAsli <> "" Then kunci publik ( di beritahukan ) = n,e = 187,3 pn Len(CStr(n))

KeTIK 2014

ISBN: 979-458-766-4

Konferensi Nasional Pengembangan Teknologi Informasi dan Komunikasi

c. Proses Dekripsi

i =c d i mod n.

87^ 107 mod 187 = Untuk menghitung 87^ 107 mod 187

5. e*d mod ϕ(n) = 1 dapat menggunakan teknik divide and conquer 3d mod 160 = 1

87^ 107 mod 187 = (87^ 64 *87^ 32 *87^ 8 *87^ 3 ) mod d= 107

maka kunci private(dirahasiakan)= d = 107

87 ^2 mod 187 = 7569 mod 187 = 89 Dan kunci publik adalah n,e = 187,3

87 ^4 mod 187 = (87 ^2 *87 ^2 ) mod 187 = 7921 mod 187

b. Proses Enkripsi

87 ^8 mod 187 = (87 ^4 *87 ^4 ) mod 187

Sesuai dengan tabel ASCII maka plaintext :

87 ^3 mod 187 = 658503 mod 187 N = 78

2 = 50 Maka 87^ 107 mod 187 = 1x1x1x 76 mod 187

7 = 55 Dengan cara yang sama dapat di peroleh :

057 ^107 mod 187 = 73

128 Maka enkripsi = ^107 mod 187 = 83 76^3 = 438976 76^3 mod 187

87 085 ^107 mod 187 = 68 109 ^107 mod 187 = 65

73^3 = 389017 73^3 mod 187

57 182 ^107 mod 187 = 74

017 83^3 ^107 = 571787 83^3 mod 187 = 128 mod 187 = 85

mod 187 = 76 057 ^107 mod 187 = 73

133 ^107 mod 187 = 78 85^3 ^107 = 614125 85^3 mod 187 = 17 109 mod 187 = 65

Lalu dekripsi di buat ke kode ASCII menjadi : 65^3 = 274625 65^3 mod 187

Berdasarkan pembahasan dan hasil analisa dari metode yang digunakan dapat diambil Maka enkripsi di pecah menjadi 3 blok dengan

kesimpulan :

menambahkan angka 0 di depannya.

1. Dengan menggunakan kriptografi kunci Enkripsi = 087 057 128 085 109 182 017 087 057

asimetris dengan metode RSA informasi yang

dikirim dan diterima melalui internet menjadi lebih aman.

ISBN: 979-458-766-4 KeTIK 2014 Konferensi Nasional Pengembangan Teknologi Informasi dan Komunikasi