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