Perhitungan Matematis Perancangan Aplikasi Rsa Dengan Pembangkit Bilangan Prima Lehmann Dan Pembangkit Bilangan Acak Berbasis Rsa

8. Alice dapat mendapatkan pesan sebenarnya dengan melakukan proses dekripsi. Dari rumus perhitungan dekripsi P = C d C = 40 mod n, maka dapat dihitung kode plaintext dari setiap chipertext tersebut sebagai berikut: Nilai dari setiap Plaintext : P 1 = C d mod n = C 1 d = 40 mod n 19 P mod 60 1 Setelah mendapatkan semua plaintext terhitung maka dapat dirangkai seluruh kode dan menghasilkan plaintext adalah 40 = 40 9. Dari contoh didapat bahwa Alice dapat membuka kembali pesan yang sudah dienkripsi dengan melakukan proses dekripsi.

2.6 Perhitungan Matematis

Terdapat beberapa perhitungan matematis dalam proses pembangkitan kunci untuk menentukan nilai Totient n. Teori bilangan yang digunakan dalam melakukan proses penyandian yang digunakan adalahGreatest Common Divisor GCD.

2.6.1. Bilangan Prima

Sifat pembagian pada bilangan bulat melahirkan konsep-konsep bilangan prima dan aritmetika modulo. Dan salah satu konsep bilangan bulat yang digunakan dalam penghitungan komputer adalah bilangan prima. Dengan ditemukannya bilangan prima, teori bilangan berkembang semakin jauh dan lebih mendalam. Banyak dalil dan sifat dikembangkan berdasarkan bilangan prima. Sebagian besar algoritma kunci-publik menggunakan bilangan prima sebagai salah satu nilai parameternya. Bilangan prima yang disarankan berkuran besar sehingga penggunaan tipe data bilangan bulat yang besar mutlak diperlukan. 2.6.2Greatest Common Divisor GCD Pembagi bersama terbesar atau disingkat PBB Greatest Common Divisor atau GCD digunakan dalam rancangan algoritma Pohlig-Hellman pada saat penentuan kunci Universitas Sumatera Utara tambahan multiple-key. Kunci tambahan bersyarat harus merupakan anggota dari bilangan ganjil yang mana GCD antara bilangan ganjil tersebut dengan nilai totient yang didapat harus bernilai 1. Dalam notasi dapat dituliskan ��∈���, Ke ∈�����,�=1. Greatest Common Divisor atau GCD dari bilangan suatu xdan yadalah bilangan bulat terbesar d sedemikian sehingga d | xdan d | y. Dalam hal ini kita nyatakan bahwa GCD x,y = d. Misalkan dalam menentukan GCD 5,2 = 1. Didapati bahwa nilai x adalah 5 dan nilai y adalah 2.

2.6.3 Fungsi Totient Euler φ

Fungsi Totient euler φ atau biasa disebut dengan fungsi euler digunakan pada algoritma RSA dalam mendefinisikan φn untuk n ≥ 1 yang menyatakan jumlah bilangan bulat positif n yang relatif prima dengan n Munir, 2006. Dua bilangan bulat x dan y dikatakan relatif prima jika gcdx,y = 1 pembagi bersama terbesar dari x dan y adalah 1. Jika n = pq p dan q bilangan prima maka φn= φp φq= p-1q-1 Sebagai contoh: φ15 = φ3 φ5 = 2x4 = 8 buah bilangan bulat yang relatif prima terhadap 15, yaitu 1,2,4,7,8,11,13,14.

2.6.4 Proses Pembangkitan Kunci

Proses pembangkitan kunci pada algoritma RSA dilakukan dengan tahapan – tahapan sebagai berikut: 1. Nilai p dan q yang diperoleh dari perhitungan bilangan acak CSPRNG berbasis RSA dan telah melalui proses uji prima dengan algoritma Lehmann. Sifat dari kedua bilangan ini adalah rahasia. Ini berarti hanya pihak pengirim dan penerima saja yang mengetahuinya. Misalnya: Nilai p = 11, q = 13 2. Hitungn = p.q, sehingga nilai n = 11 x 13 adalah 143 Universitas Sumatera Utara 3. Hitung φn = p-1q-1, sehingga nilai φn = 11-113-1 adalah 120 4. Pembangkitan kunci ekripsi e dimana e relatif prima terhadap φn. Nilai GCD φn, e harus bernilai 1. Untuk menentukan nilai kunci publik e yang relatif prima terhadap φn dapat ditunjukkan pada perhitungan dibawah ini. Jadi, nilai dari kunci publik e yang diperoleh adalah 7. 5. Hitung kunci dekripsi d dengan menggunakan persamaan � = 1+k .φn e Nilai k dapat dihitung dengan mencoba nilai-nilai = 1,2,3,4...sehingga diperoleh nilai d bilangan bulat. Nilai k Persamaan � = 1+k .φn e Hasil 1 � = 1 + 1 . 120 7 17,2857142857 2 � = 1 + 2 .120 7 34,4205714286 Mulai dari Nilai GCD120, e e = 2 120 mod 2 = 0 GCD2, 120 = 2 e = 3 120 mod = 0 GCD3, 120 = 3 e = 4 120 mod 4 = 0 GCD4, 120 = 4 e = 5 120 mod 5 = 0 GCD5, 120 = 5 e = 6 120 mod 6 = 0 GCD6, 120 = 6 e = 7 120 mod 7 = 6 7 mod 6 = 1 6 mod 1 = 0 GCD7, 120 = 1 Universitas Sumatera Utara 3 � = 1 + 3 . 120 7 51,5714285714 4 � = 1 + 4 . 720 7 68,7148571485 5 � = 1 + 5 . 120 7 85,8571428571 6 � = 1 + 6. 120 7 103 Jadi, nilai dari kunci dekripsi d yang diperoleh adalah 103

2.6.5 Proses Enkripsi Pesan

Dalam proses penyandian pesan menggunakan algoritma RSA dapat dianalogikan seperti pengiriman pesan yang dilakukan oleh si pengirim pesan kepada si penerima pesan. Jika si pengirim akan mengirimkan pesan, maka akan terjadi beberapa proses, yaitu: 1. Penentuan kunci enkripsi e dan modulus n dari pesan dengan terlebih dahulu melakukan proses pembangkitan kunci sehingga mendapatkan nilai e = 7 dan nilai n = 143. 2. Input plaintext yang akan disandikan. Contohnya: HELP GlupGlup. Plaintext yang telah di- input akan diubah sesuai tabel ASCII di bawah ini: Tabel 2.1 Tabel Konversi Karakter ke dalam Kode ASCII Bilang an Karakter Bilang an Karakter Bilang an Karakter Bilang an Karakter 000 NUL Null char \0 033 exclamation mark 066 B 099 c 001 SOH Start of Header 034 double quote 067 C 100 d 002 STX Start of Text 035 number sign 068 D 101 e 003 ETX End of Text 036 dollar sign 069 E 102 f Universitas Sumatera Utara 004 EOT End of Transmission 037 percent 070 F 103 g 005 ENQ Enquiry 038 ampersand 071 G 104 h 006 ACK Acknowledgm ent 039 single quote 072 H 105 i 007 BEL Bell \a 040 leftopening parenthesis 073 I 106 j 008 BS Backspace \b 041 rightclosing parenthesis 074 J 107 k 009 HT Horizontal Tab \t 042 asterisk 075 K 108 l 010 LF Line Feed \n 043 + plus 076 L 109 m 011 VT Vertical Tab \v 044 , comma 077 M 110 n 012 FF Form Feed \f 045 - minus or dash 078 N 111 o 013 CR Carriage Return \r 046 . dot 079 O 112 p 014 SO Shift Out 047 forward slash 080 P 113 q 015 SI Shift In 048 081 Q 114 r 016 DLE Data Link Escape 049 1 082 R 115 s 017 DC1 XON Device Control 1 050 2 083 S 116 t 018 DC2 Device Control 2 051 3 084 T 117 u 019 DC3 XOFF Device Control 3 052 4 085 U 118 v 020 DC4 Device Control 4 053 5 086 V 119 w 021 NAK Negative Acknowledgem ent 054 6 087 W 120 x 022 SYN Synchronous Idle 055 7 088 X 121 y 023 ETB End of Trans. Block 056 8 089 Y 122 z 024 CAN Cancel 057 9 090 Z 123 { leftopeni ng brace 025 EM End of Medium 058 : colon 091 [ leftopeni ng bracket 124 | vertical bar Universitas Sumatera Utara Dari tabel ASCII diperoleh hasil sebagai berikut. P 1 =72 P 2 =69 P 3 =76 P 4 =80 P 5 =33 P 6 P =33 7 =33 P 8 =65 P 9 =71 P 10 =117 P 11 =108 P 12 P = 112 13 =71 P 14 =117 P 15 =108 P 16 =112 3. Setiap hasil yang diperoleh akan dienkripsi menjadi blok C i C dengan rumus i = P i e mod n Pada tahap ini pengirim memberikan kunci ke pada penerima yaitu e = 7 dan nilai n =143. Pengirim melakukan enkripsi setiap blok pesan sebagai berikut: 026 SUB Substitute 059 ; semi-colon 092 \ back slash 125 } rightclosi ng brace 027 ESC Escape 060 less than 093 ] rightclosi ng bracket 126 ~ tilde 028 FS File Separator 061 = equal sign 094 caretcirc umflex 127 DEL delete 029 GS Group Separator 062 greater than 095 _ underscor e 030 RS Request to Send Record Separator 063 ? questionmark 096 ` 031 US Unit Separator 064 AT symbol 097 a 032 SP Space 065 A 098 b Universitas Sumatera Utara P Cipherteks i C i = P i e mod n 72 19 69 108 76 54 80 141 33 110 33 110 33 110 65 65 71 124 108 4 117 39 112 18 71 124 108 4 117 39 112 18 4. Jadi, hasil dari enkripsi atau cipherteks yang akan dikirimkan ke penerima adalah 19-108-54-141-110-110-110-65-124-4-39-18-124-4-39-18.

2.6.6 Proses Dekripsi Pesan

Pada saat penerima menerima pesan berupa ciphertext, maka diperlukan proses dekripsi agar dapat memahami pesan yang dimaksud. 1. Setiap blok ciphertext didekripsi kembali menjadi blok P i dengan rumus P i = C i d Dekripsi dilakukan dengan menggunakan kunci d = 103, kemudian blok-blok ciphertext yang diterima didekripsikan sebagai berikut: mod n. Universitas Sumatera Utara C Plaintext i P i = C i d mod n 19 72 108 69 54 76 141 80 110 33 110 33 110 33 65 65 124 71 4 108 39 117 18 112 124 71 4 108 39 117 18 112 2. Semua hasil cipherteks yang diperoleh pada proses dekripsi akan diubah kembali menjadi plainteks dengan mencocokkan karakter yang ada pada tabel ASCII. Bilangan Karakter Sesuai ASCII 72 H 69 E 76 L 80 P 33 33 33 65 spasi 71 G 108 l Universitas Sumatera Utara 117 u 112 p 71 G 108 l 117 u 112 p 3. Jadi bentuk plainteks yang diperoleh adalah HELP GlupGlup.

2.7 Visual Basic 6.0