• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Aplikasi Rsa Dengan Pembangkit Bilangan Prima Lehmann Dan Pembangkit Bilangan Acak Berbasis Rsa"

Copied!
97
0
0

Teks penuh

(1)

PERANCANGAN APLIKASI RSA DENGAN BILANGAN PRIMA

LEHMANN

DAN PEMBANGKIT BILANGAN ACAK

BERBASIS RSA

SKRIPSI

DINI RAHAYU

071402002

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

(2)

PERANCANGAN APLIKASI RSA DENGAN BILANGAN PRIMA

LEHMANN

DAN PEMBANGKIT BILANGAN ACAK

BERBASIS RSA

SKRIPSI

Diajukanuntuk melengkapi tugas dan memenuhi syarat memperoleh

ijazah Sarjana Teknologi Informasi

DINI RAHAYU

071402002

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGIINFORMASI

UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PERANCANGAN APLIKASI RSA DENGAN

PEMBANGKIT BILANGAN PRIMA LEHMANN DAN PEMBANGKIT BILANGAN ACAK BERBASIS RSA

Kategori : SKRIPSI

Nama : DINI RAHAYU

Nomor Induk Mahasiswa : 071402002

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (Fasilkom-TI) UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Syahriol Sitorus, S.Si,M.Si M. Anggia Muchtar, ST, MM.IT

NIP. NIP.

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

(4)

PERNYATAAN

PERANCANGAN APLIKASI RSA DENGAN BILANGAN PRIMA LEHMANN

DAN PEMBANGKIT BILANGAN ACAK BERBASIS RSA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 29 Januari 2014

(5)

PENGHARGAAN

Alhamdulilah, puji dan syukur penulis panjatkan kehadirat Allah SWT, serta shalawat dan salam kepada junjungan kita nabi Muhammad SAW, karena atas berkah, rahmat dan hidayahnya penulis dapat menyelesaikan penyusunan skripsi ini. Ucapan terima kasih yang tidak terhingga kepada Allah SWT yang selalu membimbing dan mengajarkan saya akan pentingnya kesabaran dan tanggung jawab selama penyusunan skripsi ini.

Dalam penulisan skripsi ini penulis banyak mendapatkan bantuan serta dorongan dari pihak lain. Dalam kesempatan ini dengan segala kerendahan hati, penulis mengucapkan terima kasih kepada:

1. Kedua orang tua penulis, yaitu Ayahanda Suhardi yang selalu memberikan doa, dukungan moril dan materi kepada penulis serta Ibunda Ronisah Sihotang yang terus menerus mengasihi, membimbing dan terus mendukung penulis di dalam doa beliau sehingga dapat menyelesaikan skripsi ini. Kepada Siti Hardinisah, Ilham Yahya, Ade Agung Pawiro, Nur Ayifa dan Shofi Aulia Rahma selaku adik penulis yang selalu membantu dan mendukung penulis juga kepada abang Muhammad Iqbal, Pakde Sadikin, Paklek Sukardi dan Bu Atik yang telah mendukung penulis serta kepada Kim Jeonghoon dan Lee Sungmin oppa atas bantuan motivasi, hiburan dan dukunganya. Dan seluruh keluarga besar atas perhatian dan dukungannya kepada penulis.

2. Ketua program studi Teknologi Informasi, Bapak Prof. Opim Sitompul, M.Sc dan Sekteraris Program Studi Teknologi Informasi Bapak Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen pada Program Studi Teknologi Informasi dan pegawai Teknologi Informasi Ibu Delima Harahap, Ibu Dra. Bamelia, Kak Maya Sofhia, S.Kom, Kak Nasratul Ummi, Amd, dan Bang Faisal Hamid.

3. Bapak M. Anggia Muchtar, ST, MM.IT, dan Bapak Syahriol Sitorus, S.Si,M.Si

selaku dosen pembimbing penulis yang telah meluangkan waktu, tenaga dan pikiran untuk menyelesaikan skripsi ini.

4. Bapak M. Andri Budiman, S.T, M.Comp, Sc.M.E.M dan Bapak Syahril Efendi,

S.Si, M.IT selaku dosen pembanding yang telah banyak mamberikan petunjuk, saran dan kritik dalam menyelesaikan skripsi ini.

5. Teman-teman mahasiswa Teknologi Informasi Anna Kesuma Daulay, S.TI,

(6)

Dalam penyusunan skripsi ini penulis menyadari bahwa masih banyak kekurangan, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini.

(7)

ABSTRAK

Keamanan dan kerahasiaan pesan adalah aspek yang sangat penting dalam pertukaran informasi. Tulisan ini akan menawarkan sebuah proses penyandian pesan dengan menggunakan RSA- Lehmann - CSPRNG yang dapat menambah keamanan pesan. Dalam perancangan tulisan ini yang menjadi data masukan adalah file berupa teks. Algoritma RSA akan diterapkan pada suatu perangkat lunak yang dirancang dan dibuat mengunakan bahasa pemrograman Visual Basic Basic 6.0 sebagai sarana untuk meningkatkan keamanan pengiriman pesan.

(8)

RSA APPLICATION DESIGN WITH LEHMANN PRIMES AND

RSA-BASED RANDOM NUMBER GENERATOR

ABTRACT

Securityandconfidentiality ofthe messageisa veryimportantaspectin the exchangeof information. This paperwillofferaprocess ofencodinga messageusing theRSA

-Lehmann-CSPRNGwhichcanincreasethe security ofthe message. Inthis paperthe input data designisin the form ofa textfile. RSA algorithmwill be appliedonasoftware designedandcreatedusingthe VisualBasicprogramming languageBasic 6.0as a meanstoincreasemessaging security.

(9)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak iv

Abstract v

Daftar Isi vi

Daftar Tabel ix

Daftar Gambar x

BAB 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 Landasan Teori 6

2.1 Pengertian File Teks 6

2.2 Kriptografi 8

2.2.1 Pengertian Kriptografi 8

2.2.2 Sejarah Kriptogafi 10

2.2.3Tujuan Kriptografi 12

2.2.4 Serangan Terhadap Kriptografi 12

2.3 CSPRNG berbasis RSA 13

2.4 Algoritma Lehmann 14

(10)

2.5.1 Proses Algoritma RSA 15 2.5.2 Contoh Kasus Algoritma RSA 16

2.6 Perhitungan Matematis 18

2.6.1Bilangan Prima 18

2.6.2 Greatest Common Divisor 18

2.6.3 Fungsi Totient Euler 18

2.6.4 Proses Pembangkit Kunci 19 2.6.5 Proses Enkripsi Pesan 21 2.6.6 Proses Dekripsi Pesan 24

2.7 Visual Studio 6.0 26

2.8 Penelitian Terdahulu 27

BAB 3 Analisis Dan Pemodelan Perangkat Lunak 28 3.1 Analisis Sistem Enkripsi dan Dekripsi dengan Algoritma RSA 28

3.1.1 Pembangkitan Kunci 28

3.1.1.1 CSPRNG berbasis RSA 28 3.1.1.2 Algoritma Lehmann 30

3.1.2 Enkripsi 32

3.1.3Dekripsi 34

3.2 Pemodelan Use Case 36

3.3 General Arsitektur 37

3.4Perancangan Alir Data 38

3.5 Perancangan Antarmuka 45

3.5.1 Rancangan Tampilan Utama 45

3.5.2 Rancangan menu Proses 45

3.5.3 Rancangan Tampilan Proses Cari Bilangan Prima 46 3.5.4 Rancangan Tampilan Proses Pembentukan Kunci 47 3.5.5 Rancangan Tampilan Menu Transaksi 47 3.5.6 Rancangan Tampilan Proses Enkripsi 48 3.5.7 Rancangan Tampilan Proses Dekripsi 49

3.5.8 Rancangan Tampilan Menu Tool 50

(11)

BAB 4 Implementasi dan Pengujian 52

4.1 Lingkungan Implementasi 52

4.2 Tampilan Antarmuka (Interface) Aplikasi 53

BAB 5 Kesimpulan Dan Saran 58

5.1 Kesimpulan 58

5.2 Saran 58

Daftar Pustaka 60

(12)

DAFTAR TABEL

Halaman

(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Perbandingan Plainteks dan Cipherteks 10

Gambar 2.2 Scytale 11

Gambar 3.1 Diagram Use Case 37

Gambar 3.2 General Arsitektur 38

Gambar 3.3 Diagram Alir Mencari Bilangan Acak 39

Gambar 3.4 Diagram Alir Metode Uji Prima 40

Gambar 3.5 Diagram Alir Pembangkitan Kunci 42

Gambar 3.6 Diagram Alir Proses Enkripsi 43

Gambar 3.7 Diagram Alir Proses Dekripsi 44

Gambar 3.8 Rancangan Tampilan Utama 45

Gambar 3.9 Rancangan Menu Proses 46

Gambar 3.10 Rancangan Tampilan Proses Cari Bilangan Prima 46 Gambar 3.11 Rancangan Tampilan Proses Pembentukan Kunci 47 Gambar 3.12 Rancangan Tampilan Proses Transaksi 48 Gambar 3.13 Rancangan Tampilan Proses Enkripsi 49 Gambar 3. 14 Rancangan Tampilan proses Dekripsi 49

Gambar 3.15 Rancangan Tampilan Menu Tool 50

Gambar 3.16 Rancangan Tampilan Kalkulator 51

Gambar 3.17 Rancangan Tampilan Menu About 51

Gambar 4.1 Tampilan Utama 53

Gambar 4.2 Tampilan Menu Proses cari bilangan prima 54 Gambar 4.3 Tampilan menu proses pembangkitan kunci 55

Gambar 4.4 Tampilan Proses Enkripsi 56

Gambar 4.5 Tampilan proses Dekripsi 56

Gambar 4.6 Tampilan menu tools Kalkulator 57

(14)

ABSTRAK

Keamanan dan kerahasiaan pesan adalah aspek yang sangat penting dalam pertukaran informasi. Tulisan ini akan menawarkan sebuah proses penyandian pesan dengan menggunakan RSA- Lehmann - CSPRNG yang dapat menambah keamanan pesan. Dalam perancangan tulisan ini yang menjadi data masukan adalah file berupa teks. Algoritma RSA akan diterapkan pada suatu perangkat lunak yang dirancang dan dibuat mengunakan bahasa pemrograman Visual Basic Basic 6.0 sebagai sarana untuk meningkatkan keamanan pengiriman pesan.

(15)

RSA APPLICATION DESIGN WITH LEHMANN PRIMES AND

RSA-BASED RANDOM NUMBER GENERATOR

ABTRACT

Securityandconfidentiality ofthe messageisa veryimportantaspectin the exchangeof information. This paperwillofferaprocess ofencodinga messageusing theRSA

-Lehmann-CSPRNGwhichcanincreasethe security ofthe message. Inthis paperthe input data designisin the form ofa textfile. RSA algorithmwill be appliedonasoftware designedandcreatedusingthe VisualBasicprogramming languageBasic 6.0as a meanstoincreasemessaging security.

(16)

BAB I

PENDAHULUAN

1.1 LATAR BELAKANG

Didalam pertukaran atau pengiriman informasi permasalahan yang sangat penting adalah keamanan dan kerahasiaan pesan, data atau informasi seperti dalam informasi perbankan, pesan rahasia, data rahasia perkantoran atau pertukaran data lainnya. Hal ini sangat penting supaya pesan, data atau informasi tersebut tidak jatuhkepada pihak yang tidak berkepentingan untuk mengetahuinya (Bishop, 2010).Salah satu cara yang dapat dilakukan untuk mengamankan pesan adalah menggunakan algoritma kriptografi.Kriptografi berasal dari bahasa Yunani yang terdiri dari kata crypto dangraphia. Crypto berarti rahasia dan graphia berarti tulisan. Kriptografi merupakan ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari sebuah sumber informasi ke suatu tujuan pengiriman informasi (Ariyus, 2008).

Berdasarkan penggunaan kuncinya algoritma kriptografi dikelompokkan atas dua bagian besar yaitu algoritma simetris dan algoritma asimetris. Algoritma simetris menggunakan kunci yang sama untuk melakukan enkripsi dan dekripsi. Beberapa contoh algoritma simetris antara lain Data Encryption Standard (DES), International Data Encryption Algorithm (IDEA), Advanced Encryption Standard (AES), One Time Pad (OTP), dan sebagainya). Algoritma asimetri menggunakan kunci yang

berbeda untuk enkripsi dan dekripsi. Beberapa contoh algoritma asimetris antara lain Digital Signature Algorithm (DSA), RSA, Diffie-Hellman, Kriptografi Quantum dan sebagainya (Ariyus, 2008).

(17)

Algoritma RSA mempunyai dua kunci yang berbeda yaitu kunci publik (untuk enkripsi) dan kunci privat (untuk deskripsi). Algoritma RSA banyak digunakan dan dipercaya dalam mengamankan data atau informasi menggunakan kunci dengan bilangan yang cukup besar. Algoritma tersebut dipatenkan oleh Massachusetts Institute of Technology pada tahun 1983(Stallings, 2005). Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Sejauh ini belum ditemukan algoritma yang lebih baik dari RSA.

Dengan melakukan pembangkitan dua bilangan prima, algoritma RSA membutuhkan waktu yang cukup banyak dalam melakukan prosesnya. Namun algoritma RSA lebih banyak dikembangkan karena konsep yang cukup rumit untuk ditembus.

Dalam penulisan skripsi ini menggunakan pembangkit kunci bilangan prima algoritma Lehman dan untuk mencari bilangan acak menggunakan CSPRNG berbasis

RSA.

1.2 Rumusan Masalah

Berdasarkan uraian latar belakang yang telah diuraikan penulis diatas, rumusan maslah dari penulisan skripsi ini adalah sebagai berikut :

1. Bagaimana proses penyandian pesan dengan menggunakan algoritma RSA. 2. Bagaimana proses penentuan bilangan prima dengan algoritma Lehman.

3. Bagaimana mengimplementasikan algoritma RSA dan algoritma Lehman dalam sebuah perangkat lunak sehingga dapat menjaga keamanan pesan.

1.3 Batasan Masalah

Agar tulisan ini tidak menyimpang dari ruang lingkup pembahasan dan fous pada hal-hal, diperlukan batasan masalah sebagai berikut :

1. Perancangan aplikasi RSA melakukan proses enskripsi dan deskripsi 2. Data yang dienkripsikan berupa teks dengan karakter ASCII.

(18)

1.4 Tujuan Penelitian

Tujuan dari penulisan skripsi ini untuk merancang sebuah aplikasi perangkat lunak yang dapat menyandikan pesan dengan tingkat keamanan yang lebih baik didasarkan pada penggunaan kedua algoritma yang telah dipaparkan sebelumnya.

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah :

1. Agar dapat mengetahui proses pembangkit bilangan prima.

2. Membuat perlindungan terhadap pesan ketika pesan tersebut kita kirim ke

pihak lain sehingga nantinya pesan yang akan kita kirim tidak diketahui oleh pihak – pihak lainnya.

3. Menambah ilmu pengetahuan serta menjadi bahan referensi dan perbandingan untuk penelitian yang berkaitan dengan konsep RSA dan algoritma Lehman.

1.6 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam pembuatan skripsi ini adalah :

1. Studi Literatur

Dilakukan studi literatur yang digunakan dengan mengumpulkan bahan referensi mengenai konsep RSA, pembangkit bilangan acak berbasis RSA, pembangkit bilangan prima Lehman dan pembangkit bilancang acak berbasis RSA.

2. Analisa Permasalahan

(19)

3. Pengumpulan Data

Pada tahap ini dikumpulkan data berupa jurnal, artikel, makalah, buku dan beberapa bahan referensi lainnya yang mendukung pada penulisan skripsi ini.

4. Perancangan sistem

Pada tahap ini dilakukan perancangan antarmuka untuk mendukung pembuatan aplikasi RSA.

5. Implementasi Sistem

Dilakukan proses implementasi pengkodean program menggunakan bahasa pemrograman yang telah dipilih yang sesuai dengan analisis dan perancangan

yang sudah dilakukan.

6. Pengujian

Pada tahap ini dilakukan pengujian terhadap sistem untuk menemukan kesalahah agar sesuai dengan yang diharapkan.

7. Dokumentasi dan Penyusunan Laporan

Mengumpulkan semua dokumen-dokumen baik tertulis, gambar maupun video yang berhubungan dengan penulisan skripsi ini.

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini dibagi menjadi lima bab yaitu :

BAB I Pendahuluan

(20)

BAB II Landasan Teori

Pada bab ini membahas beberapa teori-teori penunjang yang akan mendukung pembahasan pada bab

selanjutnya.

BAB III Analisis dan Perancangan Perangkat Lunak

Pada bab ini membahas mengenai analisis permasalahan dalam pembuatan perangkat lunak serta menjelaskan tentang rancangan struktur program serta merancang interface dari perangkat lunak yang akan dibuat.

BAB IV Implementasi dan Testing Perangkat Lunak

Pada bab ini membahas implementasi dari perangkat lunak yang akan dibuat. Berisikan gambaran antarmuka

dari perangkat lunak yang akan dibuat. Selain itu, juga dilakukan pengujian untuk melihat perangkat lunak yang dibuat berhasil dijalankan atau tidak serta untuk menemukan kesalahan (error).

BAB V Kesimpulan dan Saran

(21)

BAB 2

LANDASAN TEORI

2.1 Pengertian File Teks

File teks merupakan suatu file yang berisi informasi – informasi dalam bentuk teks. Data yang berasal dari dokumen pengolahan kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh yang termasuk dalam masukan data teks yang terdiri dari karakter, angka dan tanda baca.

Input dan output data teks dipresentasikan sebagai set karakter atau sistem kode yang dikenal oleh sistem komputer. Ada tiga jenis set karakter umum yang dapat

digunakan untuk input dan output pada komputer, yaitu ASCII, EBCDIC, dan

Unicode. ASCII (American Code for Information Interchange) adalah suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode, tetapi ASCII bersifat universal. Kode ASCII 8 bit memiliki komposisi bilangan biner yang dimulai dari 00000000 sehingga 11111111. Total kombinasi yang dihasilkan adalah 256, dimulai dari kode 0 hingga 255 yang terdapat dalam sistem bilangan desimal. EBCDIC (Extended Binary Codec Decimal Interchange Code) merupakan salah satu set karakter yang diciptakan oleh komputer merk IBM. EBCDIC terdiri dari 256 karakter yang masing – masing karakternya berukuran 8 bit. Adanya keterbatasan pada kode ASCII dan EBCDIC, maka dibuat standar kode internasional baru yang merupakan kode 16 bit yang disebut Unicode. Unicodemerupakan suatu standar industri yang dirancang untuk mengizinkan teks dan simbol dari semua tulisan di dunia agar dapat ditampilkan dan dimanipulasi secara konsisten oleh komputer (Sudewa, 2003).

2.1.1 Format Teks

(22)

1. Teks sederhana (plain text)

Pada teks sederhana ini, jenis format yang sering digunakan adalah format data teks (*.txt).

2. Teks terformat (formatted text)

Merupakan teks terformat dan mengandung styles. Format data dokumen Microsoft Word (*.docx) merupakan contoh format teks jenis.

Contoh format data teks diatas beserta perangkat lunak yang biasa digunakan diantaranya adalah:

1. Format data teks (*.txt)

Format data teks adalah format teks yang dapat digunakan untuk menyimpan huruf, angka, karakter kontrol atau simbol – simbol lain.Format ini biasa

digunakan dalam tulisan seperti titik, koma, tanda petik dan sebagainya. Berbeda dengan jenis teks terformat yang satu huruf tersebut seperti font,

ukuran, tebal atau tidak dan sebagainya. Kelebihan format data teks ini adalah ukuran datanya yang kecil, yangdikarenakan tiadanya fitur untuk memformat tampilan teks. Saat ini perangkat lunak yang paling banyak digunakan untuk memanipulasi format data ini adalah Notepad.

2. Format data dokumen (*.docx)

Doc merupakan ekstensi arsip dokumen perangkat lunak Microsoft Word yang paling banyak digunakan dalam menulis laporan, makalah dan sebagainya. Docx merupakan jenis teks terformat yang tidak hanya dapat mengatur tampilan teks seperti styles (font, ukuran huruf dan sebagainya), namun juga dapat menyisipkan gambar.

3. Hyper Text Markup Language (*.htm atau *.html)

Merupakan format teks standard untuk tampilan dokumen web. 4. Rich Text Format (*.rtf)

Format teks ini dikembangkan oleh Microsoft yang dapat dibaca oleh berbagai macam platform, seperti Windows, Linux, Mac OS dan sebagainya.

2.1.2 Tipe teks

(23)

terdiri atas satu huruf, angka, tanda baca, atau karakter khusus seperti “a”, “1”, “*” dan sebagainya. Tipe string terdiri atas nol atau lebih karakter seperti “algoritma”, “teks” dan sebagainya.

2.2 Kriptografi

2.2.1 Pengertian Kripografi

Kriptografi berasal dari bahasa yunani yaitu kripto dan graphia. Kripto berarti secret

(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu

tempat ke tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan untuk mengidentifikasi pengiriman pesan dan tanda tangan digital dan keaslian pesan

dengan sidik jari digital (Ariyus, 2005).

Di dalam kriptografi sering ditemukan berbagai istilah yang penting untuk diketahui yaitu (Munir, 2006):

1. Pesan, Plainteks dan cipherteks

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks. Pesan dapat berupa data atau informasi yang dikirim atau dapat disimpan didalam media perekam. Pesan yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra, suara / bunyi, dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks. Cipherteks

harusdapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca.

2. Pengirim dan Penerima

(24)

pihak lain tidak dapat membaca isipesan yang dikirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks.

3. Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi atau

enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks

dinamakan dekripsi atau deciphering. 4. Cipher dan Kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan

deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk

enciphering dan deciphering. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yang berisi elemen –

elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen – elemen antara kedua himpunan

tersebut. Misalkan P menyatakan plainteks dan C menyatakan Cipherteks, maka fungsi enkripsi E memetakan P ke C,

E(P) = C

Dan fungsi dekripsi D memetakan C ke P, D(C) = P

Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal, maka kesamaan berikut harus benar

D(E(P)) = P

Kriptografi mengatasi masalah diatas dengan menggunakan kunci. Dalam hal ini algoritma tidak lagi dirahasiakan tetapi kunci harus dijaga kerahasiaannya. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan

deciphering. Kunci biasanya berupa string atau sederetan bilangan. Dengan menggunakan kunci k, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai: Ek(P) = C dan Dk

(25)

K = Kunci Ek

D

= Proses Enkripsi

k

Gambar 2.1 adalah skema enkripsi dan dekripsi dengan menggunakan kunci. = Proses Dekripsi

Gambar 2.1 Skema enkripsi dan dekripsi menggunakan kunci

5. Sistem Kriptografi

Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem kriptografi adalah kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci. Di dalam sistem kriptografi, cipher hanyalah salah satu komponen saja.

6. Penyadap

Penyadap adalah orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak – banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.

7. Kriptanalisis dan Kriptologi

Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis adalah ilmu seni untuk

memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelaku kriptanalisis disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalis. Pelaku kriptologi disebut kriptografer.

2.2.2 Sejarah kriptografi

Kriptografi mempunyai sejarah yang panjang. Informasi yang lengkap mengenai

(26)

Codebreakers. Secara historis ada empat kelompok yang berkontribusi terhadap perkembangan kriptografi yaitu kalangan militer, kalangan diplomatik, penulis buku harian, dan pecinta (lovers) (Munir, 2006).

Kriptografi sudah digunakan dan diperkenalkan oleh bangsa Mesir pada 4000 tahun yang lalu berupahieroglyph untuk mengirim pesan ke pasukan militer yang berada di lapangan. Sehingga, pesan tersebut tidak bisa terbaca oleh pihak musuh maupun kurir pembawa pesan tersebut tertangkap oleh musuh.Jenis tulisan ini bukanlah bentuk standar untuk menulis sebuah pesan. Hieroglyph diturunkan dari bahasa Yunani hieroglyphica yang berarti ukiran rahasia. Sekitar 400 SM, kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkamen dibungkus dengan batang kayu. Sistem ini disebut Scytale (Ariyus, 2008).

Gambar 2.2Scytale

(27)

2.2.3 Tujuan Kriptografi

Dari paparan awal dapat dirangkumkan bahwa kriptografi bertujuan untuk memberi layanan keamanan sebagai berikut: (Munir, 2006)

1. Kerahasiaan (confidentiality)

Adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak – pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks. Misalnya pesan “bahaya” disandikan menjadi “44220273490202729512027”. Istilah lain yang senada dengan confidentiality adalah secrecy dan privacy.

2. Integritas data (data integrity)

Adalah layanan yang menjamin bahwa pesan masih asli / utuh atau belum pernah dimanipulasi selama pengiriman. Dengan kata lain, aspek keamanan ini

dapat diungkapkan sebagai pertanyaan “Apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi) ?”

3. Otentikasi (authentication)

Adalah layanan yang berhubungan dengan identifikasi baik mengidentifikasi kebenaran pihak – pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. 4. Nirpenyangkalan (non - repudation)

Adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

2.2.4 Serangan Terhadap Kriptografi

Serangan (attack) merupakan suatu usaha yang dilakukan oleh seorang kriptanalis untuk menemukan kunci atau plainteks dari chiperteks dari sistem kriptografi. Kriptanalis akan berusaha untuk menemukan plainteks dari chiperteks tanpa memiliki akses kunci yang digunakan dari sistem kriptografi. Berdasarkan teknik yang digunakan dalam menemukan kunci, serangan dibagi menjadi exhaustive atau brute

(28)

Exhaustive atau brute force attack merupakan serangan untuk mendapatkan

plainteks dari chiperteks dengan mencoba satu persatu seluruh kombinasi atau kemungkinan kunci yang digunakan. Dalam hal ini kriptanalis harus tahu jenis algoritma kriptografi yang digunakan oleh pengirim pesan dan juga memiliki sejumlah plainteksdan chiperteksyang bersesuaian yang digunakan untuk mencari pola dari proses enkripsimaupun dekripsidari algoritma kriptografi yang digunakan.

Analytical attack merupakan serangan untuk mendapatkan plainteksdari chiperteksdengan menganalisa kelemahan algoritma kriptografi untuk mengurangi kemungkinan kunci yang tidak mungkin digunakan, sehingga kriptanalis tidak mencoba semua kemugkinan kunci. Dalam hal ini kriptanalis juga harus tahu jenis algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis yang digunakan dengan menggunakan pendekatan matematik dan statistik untuk mendapatkan kunci

yang digunakan dalam sistem kriptografi tersebut.

2.3 CSPRNG Berbasis RSA

Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diperdiksi oleh pihak lawan yang cocok untuk kriptografi: pembangkit tersebut dinamakan cryptographically secure pseudorandom generator (CSPRNG). Perancanangan CSPRNG dapat dibagi kedalam beberapa kelompok. Dalam hal ini kita menggunakan perancangan CSPRNG berbasis teori bilangan. Contoh dua CSPRNG

yang berdasarkan teori bilangan adalah Blum Blum Shut dan modifikasi RSA (Munir, 2006). Dalam penulisan CSPRNG yang digunakan adalah CSPRNG berbasis RSA. Algoritma pembangkit bilangan acak berbasis RSA adalah sebagai berikut:

1. Pilih 2 bilangan prima rahasia, p dan q, dan bilangan bulat e yang relatif prima dengan (p-1)(q-1).

2. Kalikan keduanya menjadi n = pq

3. Pilih bilangan acak lain, s, sebagai x0

4. Barisan bit acak dihasilkan dengan melakukan itersai berikut sepanjang yang diinginkan:

yang dalam hal ini 2 ≤ s ≤ n.

a. Hitung xi = xi - 1e mod n dengan x0 b. Z

= s.

(29)

5. Barisan bit acak adalah z1, z2, z3,....

Sebagai contoh, untuk menemukan bialangan acak berbasis RSA, yaitu:

Misal p = 11 dan q = 5

berarti dilakukan pengulangan setelah 3 kali

i

jadi baris acak yang dihasilkan

maka pengulangan dilakukan setelah 3 kali

1011 0110 1101 1011 0101 dan seterusnya, kemudian dikonversikan ke bilangan desimal

11 6 13 11 5

2.4 Algoritma Lehmann

Tes yang paling sederhana adalah menggunakan algoritma Lehmann. Cara kerja algoritma Lehmann adalah sebagai berikut :

(30)

(d) Jika a(p – 1)/2≡ 1 atau –1 (mod p), maka peluang p bukan prima adalah 50%.

Ulangi pengujian dengan algoritma Lehmann di atas sebanyak t kali (dengan nilai a yang berbeda). Jika hasil perhitungan langkah (b) sama dengan 1 atau –1, tetapi tidak selalu sama dengan 1, maka peluang p adalah prima mempunyai kesalahan tidak lebih dari 1/2t. Pengujian menggunakan algoritma Lehmann dianjurkan diulangi sebanyak lima kali dengan nilai a yang berbeda. Jika hasil perhitungan langkah ke-dua sama dengan 1 atau (-1), maka peluang p adalah prima mempunyai kesalahan tidak lebih dari lima puluh persen. Bilangan acak yang digunakan pada algoritma Lehmann dapat dipilih nilai yang kecil agar perhitungan lebih cepat. Algoritma Lehmann menentukan keprimaan suatu bilangan dengan cara yang sangat sederhana dan masih sangat diragukan kevalidannya. Selain algoritma Lehmann, metode lain yang banyak digunakan adalah Rabin-Miller (Schneier, 1996).

2.5 Algoritma Kriptografi RSA

Algoritma kriptografi RSA ditemukan oleh tiga orang yang kemudian nama-nama mereka disingkat menjadi RSA. Ketiga penemu itu adalah Ron Riverst, Adi Shamir, dan Leonard Adleman. RSA dibuat di MIT pada tahun 1977 dan dipatenkan oleh MIT (Massachussets Institute of Technology) pada tahun 1983. Sejak 21 September tahun 2000, paten tersebut berakhir, sehingga saat ini semua orang dapat menggunakannya dengan bebas (Brian, 2000). RSA merupakan algoritma yang mudah untuk diimplementasikan dan dimengerti.

Algoritma RSA adalah sebuah algoritma pada enkripsi kunci publik. RSA merupakan algoritma pertama yang cocok digunakan untuk digital signature karena kehandalannya dalam proses enkripsi. Hal ini menjadikan algoritma yang lebih banyak dikembangkan dalam bidang kriptografi public key.

2.5.1 Proses Algoritma RSA

Proses atau cara kerja dari algoritma RSA dapat dilihat sebagai berikut:

1. Menentukan dua bilangan prima p q secara acak dan terpisah untuk tiap-tiap p

(31)

menggunakan metode CSPRNG berbasis RSA dan algoritma Lehman. Sifat dari kedua bilangan ini adalah rahasia. Ini berarti hanya pihak pengirim dan penerima saja yang mengetahuinya.

2. Melakukan perhitungan n = p*q. (n merupakan hasil perkalian dari p dikalikan dengan q)

3. Melakukan perhitungan nilai totient φ (n)= (p-1)(q-1).

4. Menentukan nilai kunci enkripsi e dengan syarat bahwa nilangan tersebut merupakan bilangan bulat (integer) 1 <e <φ(n) dimana nilai GCD (φ(n), e)=1. 5. Menghitung kunci enkripsi yang dilakukan dengan perhitungan kunci dekripsi

dengan rumus d e -1

6. Setelah mendapatkan kunci-kunci tersebut maka dapat dilakukan proses enkripsi maupun proses dekripsi.

mod φ(n).

7. Rumus untuk melakukan proses enkripsi adalah C = M e

8. Rumus untuk melakukan proses dekripsi adalah P = C

mod n

d

mod n

2.5.2 Contoh Kasus Algoritma RSA

Algoritma RSA disimulasikan dalam sebuah simulasi pengiriman pesan yang dilakukan antara Alice dan Bob. Alice mengizinkan Bob untuk mengirimkan sebuah pesan pribadi (private message). Dalam algoritma RSA multiple-key, Alice dan Bob akan melakukan langkah-langkah pada sebagai berikut :

1. Alice (penerima) dan Bob (pengirim) menyepakati dua buah bilangan prima sebagai kunci privat dari pesan yang akan dikirimkan. Misalkan kunci tersebut adalah bernilai p=11 dan q=7.

2. Setelah disepakati kedua bilangan prima tersebut kemudian digunakan untuk menghitung nilai totient dengan rumus n =p*q, sehingga didapat nilai:

n = (11)*(7)= 77

3. Langkah selanjutnya adalah menghitung nilai totient dengan rumus ϕ(n) =(p–

1)(q-1), sehingga didapat nilai: (n) = (11-1)*(7-1))= 60.

Nilai n dan nilai totient akan digunakan dalam perhitungan nilai kunci enkripsi. 4. Dari nilai totient yang didapat, maka Bob dapat menghitung nilai kunci enkripsi

(32)

nilai e relatif prima dengan ϕ(n). Hal ini dapat dihitung dengan menghitung GCD (ϕ(n),e)=1. Dalam perhitungan didapati:

GCD (60, e) = 1 , 1<e<60

e = 19

Didapat nilai e yang memungkinkan dan disepakati oleh keduanya adalah e = 19. Dengan nilai kunci enkripsi ini makan selanjutnya dapat dilakukan proses enkripsi.

5. Kunci dekripsi juga langsung ditetapkan oleh kedua belah pihak dengan syarat

rumusan d= e-1

d = e

mod ϕ (n). Dari nilai e yang didapat sebelumnya maka dapat dihitung nilai d dengan langkah sebagai berikut :

-1

Kunci dekripsi digunakan untuk mengembalikan nilai ciphertext ke dalam bentuk plaintext.

6. Proses enkripsi merupakan proses dimana pesan yang sebelumnya berupa plaintext yang dikodekan menjadi ciphertext. Terlebih dahulu Bob akan membuat pesan rahasia berupa teks. Dalam kasus ini pesan yang akan

digunakan adalah kode 100. Dari rumus perhitungan enkripsi C = me

Pesan yang akan dikirim M = 100

mod n,

maka dapat dihitung kode ciphertext dari setiap pesan tersebut sebagai berikut:

Nilai dari setiap Plaintext P

1

C= M

= 100, maka nilai ciphertext dari setiap pesan

dengan perhitungan :

e

7. Setelah mendapatkan semua kode ciphertext maka dapat dirangkai seluruh kode yang menghasilkan ciphertext sebesar 40. Pesan inilah yang akan dikirimkan kepada Alice, sehingga pihak lain tidak akan mengetahui makna pesan

(33)

8. Alice dapat mendapatkan pesan sebenarnya dengan melakukan proses dekripsi.

Dari rumus perhitungan dekripsi P = Cd

C = 40

mod n, maka dapat dihitung kode

plaintext dari setiap chipertext tersebut sebagai berikut:

Nilai dari setiap Plaintext :

P

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)

(34)

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 gcd(x,y) = 1 (pembagi bersama terbesar dari x dan y adalah 1).

Jika n = pq (p dan q bilangan prima)

maka φ(n)= φ(p) φ(q)= (p-1)(q-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

(35)

3. Hitung φ(n) = (p-1)(q-1), sehingga nilai φ(n) = (11-1)(13-1) adalah 120 4. Pembangkitan kunci ekripsi e dimana erelatif 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)

Mulai dari Nilai GCD(120, e)

(36)

3

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

(37)

004 EOT (End of

(38)

Dari tabel ASCII diperoleh hasil sebagai berikut.

3. Setiap hasil yang diperoleh akan dienkripsi menjadi blok Ci

C

dengan rumus

i = Pie mod n

(39)

P

Cipherteks

i Ci = Pie 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 Pi dengan rumus

Pi= Cid

Dekripsi dilakukan dengan menggunakan kunci d = 103, kemudian blok-blok

(40)

C

2. Semua hasil cipherteks yang diperoleh pada proses dekripsi akan diubah kembali menjadi plainteks dengan mencocokkan karakter yang ada pada tabel ASCII.

(41)

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

Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented Programming = OOP).

Aplikasi adalah suatu unit perangkat lunak yang dibuat untuk melayani kebutuhan akan beberapa aktivitas. Aplikasi akan menggunakan sistem operasi (OS) komputer dan aplikasi lainnya yang mendukung Apl. Istilah ini mulai perlahan masuk

ke dalam istilah Teknologi Informasi semenjak tahun 1993. Secara historis, aplikasi adalah software yang dikembangkan oleh sebuah perusahaan. Bahasa pemrograman

(42)

sebagainya. Untuk dapat menyusun dan membuat suatu program aplikasi dari VB 6.0, tentunya harus mengetahui fasilitas – fasilitas yang disediakan agar proses penyusunan dan pembuatan program tersebut berjalan dengan baik.

2.8 Penelitian Terdahulu

Penelitian terdahulu yang berkaitan dengan perancangan aplikasi RSA dengan pengembangan algoritma Lehman dapat dilihat pada table 2.2

Tabel 2.2 Penelitian Terdahulu berkaitan dengan RSA dan algoritma Lehman

No Peneliti / Tahun Judul Keterangan

1 Kamal Mahmudi, 2010

Sifat Prima Terhadap Fungsionalitas Algoritma RSA

Melihat bagaimana algoritma RSA diturunkan, dapat disimpulkan pada dasarnya bilangan prima tidak mutlak harus digunakan, namun penggunaan bilangan prima jauh

sangat mempermudah pembangkitan kunci untuk

algoritma RSA.

2 Anand &Praven, 2012

Implementation of RSA Algorithm on FPGA

Tujuanutama dariproyek

seperti1.024bit, 1.536bit, dan 2048bit. Hasilmenunjukkanbah wadesain yang tepat

(43)

BAB 3

ANALISIS DAN PEMODELAN PERANGKAT LUNAK

3.1Analisis Sistem Enkripsi dan Dekripsi dengan Algoritma RSA

Algoritma RSA merupakan salah satu algoritma kunci publik. Prinsip kerja algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar yang menjadi faktor-faktor prima. Pemaktoran dilakukan untuk mendapatkan kunci privat. Selama bilangan tersebut tidak dapat difaktorkan selama itu pula keamanan algoritma RSA

terjamin. Dalam algoritma RSA, ada tiga proses yang harus dilakukan yaitu: peroses pembangkitan kunci, proses enkripsi dan proses dekripsi.

3.1.1 Pembangkitan Kunci

Dalam proses pembangkitan kunci yang menjadi masalah utamanya adalah bagaimana menghasilkan kunci yang tidak dapat diprediksi. Ada berbagai metode yang dapat digunakan untuk menghasilkan sebuah bilangan prima yang besar. Pembangkitan kunci pada sistem ini menggunakan dua algoritma, yaitu CSPRNG berbasis RSA dan Algoritma lehmann.

3.1.1.1 CSPRNG Berbasis RSA

Pembangkit bilangan acak yang dapat menghasilkan bilangan yang tidak dapat diperdiksi oleh pihak lawan yang cocok untuk kriptografi: pembangkit tersebut dinamakan cryptographically secure pseudorandom generator (CSPRNG). Perancanangan CSPRNG dapat dibagi kedalam beberapa kelompok. Dalam hal ini kita menggunakan perancangan CSPRNG berbasis teori bilangan. Contoh dua CSPRNG

yang berdasarkan teori bilangan adalah Blum Blum Shut dan modifikasi RSA (Munir,2006). Dalam penulisan CSPRNG yang digunakan adalah CSPRNG berbasis RSA.

(44)

6. Pilih 2 bilangan prima rahasia, p dan q, dan bilangan bulat e yang relatif prima dengan (p-1)(q-1).

7. Kalikan keduanya menjadi n = pq 8. Pilih bilangan acak lain, s, sebagai x0

9. Barisan bit acak dihasilkan dengan melakukan itersai berikut sepanjang yang diinginkan:

yang dalam hal ini 2 ≤ s ≤ n.

c. Hitung xi = xi - 1e mod n dengan x0 d. Z

= s.

i = bit LSB (Least Significant Bit) dari x 10.Barisan bit acak adalah z

i. 1, z2, z3,....

Sebagai contoh untuk menemukan bilangan acak berbasis RSA, yaitu: Misal p = 11 dan q = 5

berarti dilakukan pengulangan setelah 3 kali

i

jadi baris acak yang dihasilkan

maka pengulangan dilakukan setelah 3 kali

1011 0110 1101 1011 0101 dan seterusnya, kemudian dikonversikan ke bilangan desimal

(45)

3.1.1.2 Algoritma Lehman

Salah satu metode yang dapat digunakan adalah dengan metode Lehmann. Algoritma penentuan bilangan prima yang digunakan adalah sebagai berikut :

Dari hasil bilangan acak p = 11

Apakah 11 adalah bilangan prima? 1. a = 3

Jadi 11 adalah bilangan prima dan secara otomatis maka 11 menjadi nilai p. hal yang sama juga dilakukan untuk mencari nilai q.

Dari proses ini kita akan mendapatkan pembangkit kuncinya yang akan digunakan dalam proses enkripsi dan deskripsi. Algoritmanya pembangkitan kuncinya adalah sebagai berikut :

1. Pilih p dan q, dimana p dan q adalah bilangan prima dan nilai p dan q tidak sama.

2. Hitung n = p.q

3. Hitung φ(n) = (p-1)(q-1)

4. Pilih integer e, dimana gcd (φ(n), e) = 1; 1 < e <φ(n) 1. Ambil sembarang 1 < a < p

(46)

5. Hitung d, dimana d =1+k .φ(n)

e dengan nilai k merupakan bilangan bulat positif yang menghasilkan nilai dyang merupakan bilangan bulat positif.

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

3. Hitung φ(n) = (p-1)(q-1), sehingga nilai φ(n) = (11-1)(13-1) adalah 120 4. Pembangkitan kunci ekripsi e dimana erelatif 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.

Mulai dari Nilai GCD(120, e)

(47)

Nilai k Persamaan

Proses enkripsi merupakan proses untuk mengubah plainteks menjadi cipherteks. Algoritma proses enkripsi adalah sebagai berikut:

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. (menggunakan tabel AACII).

Dari tabel ASCII diperoleh hasil sebagai berikut. Pesan teks = P

Kunci Publik = {e, n}

(48)

P1 =72 P2 =69 P3 =76 P4 =80 P5 =33 P6

3. Setiap hasil yang diperoleh akan dienkripsi menjadi blok C =112

i

C

dengan rumus i = Pie

Pada tahap ini pengirim memberikan kunci ke pada penerima yaitu e = 7 dan nilai n =143. Pengirim melakukan enkripsi setiap blok pesan sebagai berikut:

(49)

3.1.3 Dekripsi

Proses dekripsi merupakan proses untuk mengubah cipherteks menjadi plainteks. Proses dekripsi dapat dilakukan dengan menggunakan kunci yang telah diperoleh.Algoritma proses dekripsi adalah sebagai berikut:

Cipherteks = C

Enkripsi : P= Cdmod n

1. Setiap blok ciphertext didekripsi kembali menjadi blok Pi dengan rumus

Pi= Cid

Dekripsi dilakukan dengan menggunakan kunci d = 103, kemudian blok-blok

ciphertextyang diterima didekripsikan sebagai berikut: mod n.

C

Plaintext

i Pi = Cid 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

(50)

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

117 u

112 p

71 G

108 l

117 u

112 p

3. Jadi bentuk plainteks yang diperoleh adalah HELP!!! GlupGlup.

3.2 Pemodelan Use Case Diagram

(51)

pekerjaan-pekerjaan tertentu. Pembuatan model use case bertujuan untuk mengidentifikasi fungsionalitas perangkat lunak secara arsitektural.

Defenisi dan deskripsi masing – masing Use Case adalah sebagai berikut: 1. Inisialisasi pesan teks

Merupakan tahap awal yang dilakukan agar sistem dapat melakukan proses enkripsi dan dekripsi.

2. Pembangkitan kunci

Merupakan tahap untuk memperoleh kunci acak. 3. Enkripsi pesan

Sistem mengubah pesan teks menjadi cipherteks. 4. Dekripsi pesan

Mengembalikan cipherteks ke dalam plainteks sehingga pesan tersebut dapat dibaca dan dipahami.

5. Buka pesan

Untuk melihat pesan yang ada

(52)

Gambar 3.1 Use Case Diagram

3.3 General Arsitektur

(53)

Gambar 3.2 General Arsitektur

3.4 Perancangan Alir Data

Rancangan diagram alir merupakan rancangan alur proses yang ada dalam program simulasi. Diagram alir ini akan menjelaskan mengenai proses pembangkitan kunci, proses enkripsi dan proses dekripsi dalam program simulasi.

a. Diagram alir mencari bilangan acak. Pada diagram alir mencari bilangan acak akan digambarkan proses penentuan bilangan acak. Adapun diagram alir metode mencari bilangan acak ini menggunakan metode CSPRNG berbasis

RSA. Adapun langkah – langkah mencari bilangan acak yang akan dilakukan adalah sebagai berikut:

1. Pilih 2 bilangan prima rahasia, p dan q, dan bilangan bulat e yang relatif prima dengan (p-1)(q-1).

2. Kalikan keduanya menjadi n = pq 3. Pilih bilangan acak lain, s, sebagai x0

4. Barisan bit acak dihasilkan dengan melakukan itersai berikut sepanjang yang diinginkan:

yang dalam hal ini 2 ≤ s ≤ n.

e. Hitung xi = xi - 1e mod n dengan x0 f. Z

= s. i = bit LSB (Least Significant Bit) dari x Barisan bit acak adalah z

(54)
(55)

Gambar 3.3 Diagram Alir Mencari Bilangan Acak

b. Diagram alir uji prima. Pada diagram alir uji prima akan digambarkan proses penentuan bilangan yang merupakan bilangan prima.Adapun diagram alir metode uji prima dengan menggunakan Algoritma Lehman. Adapun langkah-langkah uji prima yang akan dilakukan adalah sebagai berikut:

1. Bangkitkan bilangan acak a yang lebih kecil dari p.

2. Hitung a(p – 1)/2

3. Jika a

mod p. (p – 1)/2

4. Jika a

≡/ 1 atau –1 (mod p), maka p tidak prima. (p – 1)/2

(56)

Gambar 3.4 Diagram Alir Metode Uji Prima

c. Diagram Alir Pembangkitan Kunci. Pada diagram alir pembangkitan kunci akan digambarkan proses pembuatan kunci publik dan kunci privat berdasarkan bilangan prima yang besar. Proses pembangkitan kunci mempunyai langkah-langkah sebagai berikut:

1. Mencari dua buah bilangan prima yang besar, yang acak dan berbeda p dan q, yang berukuran sama.

2. Menghitung nilai n = p * q dan nilai totient euler(φ(n)) = (p-1) *

(57)

3. Memilih bilangan bulat acak e dengan 1< e <φ(n), sehingga

gcd(e,φ(n)) = 1. Greatest common divisor (gcd) dari dua buah

bilangan tidak lain bilangan terbesar yang dapat membagi e dan φ(n)

untuk menghasilkan nilai 1.

4. Bangkitkan kunci privat d dengan menggunakan persamaan � = 1+k .φ(n)

e .

(58)
(59)

d. Diagram Alir Enkripsi. Pada diagram alir enkripsi akan digambarkan bagaimana pesan diubah menjadi cipherteks dengan menggunakan kunci publik (e dan n). Proses enkripsi dilakukan dengan mengubah plainteks sesuai dengan desimal ASCII. Potong plainteks per digit menjadi beberapa kelompok blok (dilambangkan dengan Pi). Konversikan masing-masing blok-blok ke dalam persamaan Ci = Piemod n.

(60)

e. Diagram Alir Dekripsi. Dalam diagram ini akan ditunjukkan proses dekripsi pesan dalam bentuk cipherteks menjadi plainteks semula. Proses dekripsi pesan dilakukan dengan menggunakan kunci privat (d dan n). Konversikan setiap blok cipherteks yang ada ke dalam persamaan Pi = Cid mod n dan setiap hasil yang diperoleh akan diubah menjadi karakter yang sesuai pada tabel ASCII sehingga diperoleh plainteks semula.

(61)

3.5 Perancangan Antar Muka

3.5.1 Rancangan Tampilan Utama

Tampilan ini merupakan tampilan awal dari sistem dan didesign sebagus mungkin untuk menarik minat pengguna. Didalam tampilan ini terdapat bererapa menu seperti menu teori yang terberisikan tentang pemahaman algoritma RSA dan lehman. Terdapat juga menu proses untuk mencari bilangan prima dan proses pembentukan kunci, menu transaksi untuk proses enkripsi dan deskripsi. Selain juga terdapat tampilan menu about sistem dan menu keluar jika pengguna tidak menggunakannya. Rancangan tampilan utama dari sistem dapat dilihat pada gambar 3.8.

Gambar 3.8Rancangan Tampilan Utama

3.5.2 Rancangan Tampilan Menu Proses

(62)

Gambar 3.9 Rancangan Menu Proses

3.5.3 Rancangan Tampilan Proses Cari Bilangan Prima

Menu Proses Cari Bilangan Prima adalah menu yang dirancang agar pengguna dapat mencari bilangna prima yang benar. Pada menu ini disediakan textbox untuk mencari bilangan prima mulai dari angka yang diinginkan user. Diberikan juga tombol cari jika pengguna sudah menentukan angka. Lalu angka yang merupakan bilangan prima akan diperlihatkan oleh sisem. Pada tampilan ini terdapat juga tombol keluar agar user dapat keluar dari tampilan ini. Rancangan tampilan ini dapat dilihat pada gambar 3.10

(63)

3.5.3 Rancangan Tampilan Proses Pembentukan Kunci

Tampilan ini dirancang agar pengguna dapat mengetahui proses pembentukan kunci Enkripsi dan Dekripsi. Pada tampilan ini akan dibahas rumus-rumus yang digunakan untuk proses pembentukan kunci. Tampilan ini dapat digunakan jika pengguna ingin mengetahui langsung proses pembentukan kunci dengan cara memasukkan angka pada textbox yang disediakan. Disediakan juga tombol proses agar sistem bekerja secara otomatis menentukan angka pada texbox yang lain. Diberikan pula tombol hapus juka user ingin mengganti angka yang telah dimasukkan pada texbox awal. Tombol keluar juga diberikan pada tampilan ini untuk memudahkan pengguna keluar dari tampilan ini. Rancangan tampilan proses pembentukan kunci ini dapat dilihat pada gambar 3.11 :

Gambar 3.11 Rancangan Tampilan Proses Pembentukan Kunci

3.5.4 Rancangan Tampilan Menu Transaksi

(64)

Gambar 3.12Rancangan Tampilan Proses Transaksi

3.5.5 Rancangan Tampilan Proses Enkripsi

Pada rancangan tampilan menu proses Enkripsi ini terdapat kotak Algoritma yang berisi tentang langkah-langkah untuk memproses kunci Enkripsi. Lalu ada kotak Pembentukan yang berisi Nilai P dan Q, Nilai n, Totient n, Kunci Enkripsi dan Dekripsi. Nilai ini sudah ditentukan oleh sistem, jadi pengguna hanya wajib mengisi text pada kotak plaintext. Jika sudah, maka pengguna harus menekan tombol proses agar sistem bekerja menentukan chipertext. Diberikan juga tombol Hapus untuk membersihkan tampilan kembali seperti awal. Terdapat juga tombol Keluar untuk keluar otomatis dari tampilan ini. Lalu pengguna harus menekan tombol kirim agar sitem masuk ke proses Dekripsi. Rancangan tampilan sistem ini dapat dilihat pada gambar 3.13

(65)

3.5.6 Rancangan Tampilan Proses Dekripsi

Pada rancangan tampilan proses Dekripsi terdapat kotak Kunci Proses yang berisi Nilai d dan Nilai N. Chipertext pada proses Dekripsi sudah ditentukan dari proses Enkripsi sebelumnya. Pada rancangan ini disediakan tombol Proses yang akan digunakan user untuk menguji sistem. Plaintext yang muncul harus sesuai pada plaintext pada proses Enkripsi. Terdapat juga tombol Hapus untuk membersikan box agar kembali seperti tampilan awal. Disediakan juga tombol Keluar agar pengguna dengan mudah keluar dari tampilan ini. Rancangan tampilan proses dekripsi ini dapat dilihat pada gambar 3.14

Gambar 3.14 Rancangan Tampilan proses Dekripsi

3.5.7 Rancangan Tampilan Menu Tool

(66)

Gambar 3.15 Rancangan Tampilan Menu Tool

3.5.8 Rancangan Tampilan Kalkulator

Rancangan Kalkulator di sitem ini sama halnya pada Kalkulator yang terdapat di komputer. Semua tombol dan fungsinya masih sama. Menu kalkulator ini dibuat untuk memudahkan pengguna yang ingin menggunakannya. Sehingga pengguna tidak perlu keluar dari sistem jika ingin menggunakan kalkulator. Rancangan tampilan kalkulator pada sistem ini dapat diliahat pada gambar 3.16 :

Gambar 3.16 Rancangan Tampilan Kalkulator

3.5.9 Rancangan Tampilan Menu About

(67)
(68)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Lingkungan Implementasi

Lingkungan implementasi merupakan lingkungan perangkat lunak yang digunakan untuk membangun dan mengoperasikan perangkat lunak. Pada bagian ini semua analisis dan perancangan akan direpresentasikan ke dalam bentuk perangkat lunak yang dapat menunjang aktivitas pengguna dalam kehidupan sehari-hari.

Spesifikasi perangkat keras yang digunakan adalah:

1. Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz, ~2.5GHz 2. RAM 2.00 GB

3. Harddisk 500 GB

4. Dispaly Intel(R) HD Graphics Family 799 MB 5. Monitor 14’’

6. Mouse

7. Keyboard

Spesifikasi perangkat lunak yang digunakan adalah: 1. Windows 7 Home Basic

(69)

4.2Tampilan Antarmuka (Interface) Aplikasi

4.2.1 Tampilan Utama

Tampilan utama pada sistem ini terdiri dari enam menu, yaitu menu Teori, Proses, Transaksi, Tool, About dan Keluar. Tampilan ini dibuat semenarik mungkin. Pada tampilan ini diberikan aksesoris jam yang berjalan sesuai waktu ketika sistem dijalankan. Diberikan juga lambang fakultas agar sistem ini terlihat lebih menarik. Tampilan Utama sistem ini dapat dilihat padagambar 4.1 :

Gambar 4.1 Tampilan Utama

4.2.2 Tampilan Menu Proses Cari Bilangan Prima

(70)

Gambar 4.2 Tampilan Menu Proses cari bilangan prima

4.2.3 Tampilan Menu Proses Pembentukan Kunci

(71)

Gambar 4.3 Tampilan menu proses pembangkitan kunci

4.2.4 Tampilan Proses Enkripsi

(72)

Gambar 4.4 Tampilan Proses Enkripsi

4.2.5 Tampilan Proses Dekripsi

Nilai yang terdapat pada tampilan ini merupakan nilai yang sudah ditentukan oleh

sistem. Sedangkan chipertextnya adalah chipertext yang dikirim dari proses enkripsi sebelumnya. Pada Proses Dekripsi ini akan menguji kebenaran sistem, apakah plaintext yang keluar sesuai dengan plaintext pada proses enkripsi. Gambar tampilan proses dekripsi ini dapat dilihat pada gambar 4.5

(73)

4.2.6 Tampilan Kalkulator

Tombol dan fungsi yang ada pada kalkulator di sistem ini sama seperti kalkulator yang ada pada komputer. Tampilan ini dibuat untuk memudahkan user yang membutuhkan kalkulator. Sehingga user tidak perlu keluar dari sistem untuk menggunakan kalkulator. Gambar tampilan ini dapat dilihat oada gambar berikut :

Gambar 4.6 Tampilan menu tools Kalkulator

4.2.7 Tampilan Windows Explorer

Tampilan ini hanya sebagai fasilitas untuk pengguna yang ingin langsung masuk ke windows explorer tanpa harus keluar dari sistem. Sehingga pengguna yang belum akan keluar dari sistem tidak perlu membuka sistem beberapa kali. Pengguna cukup memilih menu ini dan sistem akan menghubungkan ke windows explorer. Tampilan ini dapat dilihat pada gambar 4.7.

(74)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil analisis dan perancangan perangkat lunak yang telah dilakukan dapat diambil kesimpulan bahwa perangkat lunak yang dibuat sudah mampu memberikan keamanan pada pesan dengan baik didasarkan pada penggunaan algoritma yang telah dipaparkan. Kunci privat yang dibangkitkan selalu berubah-ubah nilainya walau terkadang nilai kunci publik yang dihasilkan nilainya sama. Dalam pembangkitan bilangan acak menggunakan algoritma

CSPRNG berbasis RSA sudah berjalan dengan baik. Pembuatan aplikasi simulasi kriptografi berbasis algoritma RSA ini dapat membuktikan bahwa algoritma kriptografi RSA dapat diimplementasikan dengan menggunakan fungsi-fungsi khusus yang tersedia dalam bahasa pemrograman Visual Basic 6.0. Aplikasi ini dibuat komunikatif sehingga diharapkan dapat memberi pemahaman mendalam mengenai langkah-langkah algoritma RSA.

5.2 Saran

(75)

DAFTAR PUSTAKA

Ariyus, D. 2005. Computer Security. Yogyakarta : Andi.

Ariyus, D. 2008 Pengantar Ilmu Kriptografi Teori Analisis dan Implementasi. Penerbit Andi, Yogyakarta.

Bishop, M. 2010 Introduction to Computer Security, Pearson Education. Inc Brian, F. 2000. RSA Releases Patent Early. InfoWord. 22: hal. 27.

Fithria, N. 2007. Jenis–Jenis Serangan Terhadap Kriptografi. Makalah. Bandung: Institut Teknologi Bandung.

Munir, R. 2006. Kriptografi. Edisi ke-1. Bandung: Informatika.

Schneier, B. 1996 Aplied Cryptography-2nd, John Wiley & Sons, New York

Stallings, W. 2005 Cryptography and Network Security Principles and Practices, 4thEdition, Prentice Hall.

(76)

LAMPIRAN A: LISTING PROGRAM

LAMPIRAN A: LISTING PROGRAM

FORM MENU UTAMA

Dim Ymouse, Xmouse, dy(30), dx(30), Da(30), Mo(30)

Dim Split1, Day1, Year1, Todaysdate, h, m, D, S, Face, Speed, n, scrll Dim Dsplit, HandHeight, Handwidth, HandX, HandY, Step, currStep

Dim Test, ClockHeight, ClockWidth, ClockFromMouseY, ClockFromMouseX Dim Fcol, Mcol, Scol, Hcol, Dcol

Private Type FL T(30) As Long Le(30) As Long End Type Dim FL As FL Private Type HL T(30) As Long Le(30) As Long End Type Dim HL As HL Private Type SL T(30) As Long Le(30) As Long End Type Dim SL As SL Private Type ML T(30) As Long Le(30) As Long End Type Dim ML As ML Private Type DL T(30) As Long Le(30) As Long End Type Dim DL As DL Const PI = 3.1415

Private Declare Function GetActiveWindow Lib "user32" () As Long

(77)

Const SW_SHOWNORMAL = 1

Private Sub Sub_Menu_Cari_Bilangan_Prima_Click() Form_Bilangan_Prima.Show vbModal

End Sub

Private Sub Sub_Menu_Pembentukan_Kunci_Click() Form_Pembentukan_Kunci.Show vbModal

End Sub

Private Sub Sub_Menu_Proses_Enkripsi_Click() Form_Enkripsi.Show vbModal

End Sub

Private Sub Timer1_Timer()

dy(0) = dy(0) + (Ymouse - dy(0)) * Speed

secs = Second(Now) sec = -1.57 + PI * secs / 30 Mins = Minute(Now)

(78)

Next i

currStep = currStep - Step P

End Sub

Private Function SP(ByVal ST As String, ByVal Nu As Integer, Optional K As Byte = 1) As String .FontBold = False

.ForeColor = Dcol For i = 0 To Len(D) - 1 .CurrentY = DL.T(i) .CurrentX = DL.Le(i) Print SP(D, i)

Next i

.ForeColor = Fcol For i = 0 To n - 1 .CurrentY = FL.T(i) .CurrentX = FL.Le(i)

If (i = 18 Or i = 20 Or i = 22) Then

Gambar

Gambar 2.1 Skema enkripsi dan dekripsi menggunakan kunci
Gambar 2.2Scytale
Tabel 2.1 Tabel Konversi Karakter ke dalam Kode ASCII
Tabel 2.2 Penelitian Terdahulu berkaitan dengan RSA dan algoritma Lehman
+7

Referensi

Dokumen terkait

1. Eksportir atau produsen yang tidak kooperatif dibawah ini: 11, 94% a) Jiangjin Haile Chemichal Fibre. b) Hangzhou Fuxing Group Co., Ltd. c) Xiamen Xianglu Chemichal Fiber

Berdasarkan data hasil penelitian dan setelah dilakukan tabulasi data maka diperoleh kenyataan bahwa mayoritas responden menyatakan kondisi pelayanan di RSUD

Berdasarkan hasil analisis dan pembahasan, maka penelitian tentang “Faktor-Faktor yang Mempengaruhi Hasil Belajar Siswa Mata Pelajaran Seni Budaya di SMP N 2 Wonosari”

Diabetes mellitus merupakan gangguan metabolisme kronik yang ditandai dengan tingginya konsentrasi glukosa di dalam darah atau disebut juga hiperglikemia, yang disebabkan

22 Berikut ini diberikan pula contoh perubahan undulasi geoid di wilayah Indonesia, dimana perubahannya dari bulan ke 1 yaitu bulan Januari dengan bulan ke-2 yaitu bulan Februari

Pengkayaan hayati tanah dapat dilakukan dengan menambah jenis dan populasi organisme tanah melalui aplikasi biofertilizer yang merupakan jenis pupuk dengan kandungan

Menurut analisis penulis upaya Wilayatul Hisbah dalam mengawasi dan menindak pelaku Maisir di lapangan pacuan kuda Aceh tengah belum maksimal dalam menjalankan tugas

Filtering bekerja pada layer aplikasi sehingga berfungsi sebagai firewall packing filtering yang digunakan untuk melindungi jaringan local dari serangan atau