Anda di halaman 1dari 29

Abstrak

Seni pengamanan data merupakan sebuah teknik untuk mengahalangi


pihak ketiga atau pihak lainnya. Saat ini banyak cara untuk membuat data kita
agar terjaga kerahasiannya, salah satunya yaitu enkripsi Kriptograpi. Teknik
Kriptograpi sudah berkembang pesat pada era zaman sekarang ini karena semakin
banyaknya seseorang yang tidak berkepentingan ingin mengetahui informasi data
yang ada, sehingga dibuatlah suatu cara untuk menghalangi pihak ketiga agar
mereka tidak mengetahui data yang kita saling kirimkan. dalam proposal ini kami
ingin melakukan pengujian tentang kemanan data dengan menggunakan metode
lenstra elliptical Curve(LEC) dimana algoritma LEC ini adalah algoritma ketiga
tercepat dalam faktorisasi integer dan Algoritma elliptic curve criptograpy
menggunakan kunci publik dan kunci private, kunci publik yaitu kunci yang
didistribusikan. Sehingga jika kunci ini sampai hilang atau diketahui oleh orang
lain yang tidak berhak, maka pesan sandi yang dikirim akan tetap aman,
Sedangkan kunci privat tetap disimpan (tidak didistribusikan), untuk
penggujiannya menggukan SHA-1 160 bit dan teks sebagai masukkannya dan
verifikasi bahwa pesan sudah terkirim kami menggunakan Algoritma Tanda
Tangan Digital (Digital Signature Algorithm) .

Tujuan dari penelitian ini adalah untuk membuat aplikasi Kriptograpi yang
dapat mengamannkan dan melindungi Informasi data yang saling berkirim yang
menggunakan penerapan metode Lenstra Elliptic curve. Perangkat lunak
dibangun menggunakan Microsoft Visual Studio 2013.

Hasil yang dicapai dari metode ini adalah kearutan dari data yang akan
diuji dan keamanan yang diberikan tidak akan dapat di kenali tanpa menggunakan
kunci yang benar , sehingga informasi yang di enskripsi bersifat lebih aman.

Kata kunci : cryptosystem, Keamanan, Lenstra elliptic curve, elliptic curve


criptograpy, digital signature algorithm, SHA-1 160bit
BAB I
PENDAHULUAN

1.1 Latar Belakang

Keamanan merupakan alat yang dibutuhkan untuk melindungi informasi.


Kerahasiaan informasi diperlukan untuk menjaga keutuhannya tetap aman dari
perubahan serta bahwa akses ke data tersebut terkendali semestinya dan pihak
yang tidak berkepentingan tidak dapat mengetahui informasi yang terdapat
didalamnya. Kemanan data membantu untuk memastikan bahwa ketika
melakukan pengiriman informasi ataupun data tidak meleset atau terkirim
langsung kepada penerima semestinya. Di zaman sekarang ini keamanan sudah
beragam cara dalam hal menjaga keutuhan informasi yang dikirimkan, salah
satunya menggunakan penyandian( pengenkripsian dan pendeskripsian).

Informasi adalah salah satu asset penting yang sangat berharga bagi suatu
organisasi/bisnis, pertahanan dan keamanan dari keutuhan Negara, kepercayaan
publik atau konsumen , sehingga harus dijaga kerahasiaan dan keutuhan
informasinya (Syafrial, 2007). Salah satu pendekatan proteksi pada informasi
rahasia tentunya dengan melakukan pengujian Kriptosistem , yaitu suatu ilmu
untuk mendapatkan plaintext tanpa harus menggunakan kunci secara wajar .
Dengan tujuan merubah chipertext menjadi plaintext tanpa menggunakan kunci
yang sah ( Rahayu, et al., 2012), dalam arti umum , istilah cryptosystem
digunakan sebagai nama lain sistem kriptografi, yaitu sebuah sistem kriptografi
pada sistem komputer yang melibakan kriptografi.

Untuk itu diperlukan sebuah sistem kriptografi yang dapat melakukan


pengujian terhadap data yang akan di uji dengan tinggat keakuratan yang lebih
baik dan juga memiliki kemanan yang kuat , sehingga data keluaran yang
dihasilkan tidak akan berbeda dengan data aslinya.

Untuk mengatasi permasalahan di atas untuk itu kami membuat sebuah


Kriptosistem menggunakan metode Lenstra Elliptic Curve(LEC), dimana Lesntra
Elliptic Curve ini memperkenalkan modifikasi yang lebih baik dari metode
metode kriptografi lainnya , dan dengan menggunakan metode Lenstra Elliptic
Curve (LEC) keamanan enskripsi yang didapat lebih aman dari algoritma
algoritma enskripsi lainnya, dimana algoritma ini menggunakan kunci publik
berdasarkan pada structur aljabar dari kurva ellips pada daerah finite sebagai
enskripsi data.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang menjadi rumusan masalah dalam tugas


akhir ini adalah bagaimana mengamankan data kedalam beberapa enkripsi dengan
tingkat keamanan yang lebih efisien dan tanpa mengurangi dampak perubahan
data yang dikirimkan.

1.3 Tujuan dan Manfaat

Tujuan dari tugas akhir ini adalah membangun sebuah aplikasi


kriptosistem yang akan melakukan pengujian terhadap tingkat keamanan dan
keakuratan data dengan menggunakan metode lenstra elliptic curve(LEC).

Adapun Manfaat yang didapat dari penulisan tugas akhir ini adalah :

1. Dapat memberikan keamanan dalam pertukaran data.


2. Membuat sebuah aplikasi yang dapat melakukan pengujian dengan tingkat
keakuratan yang tinggi.
3. Dapat dijadikan sebuah pembelajaran untuk pengembangan aplikasi
kriptosistem selanjutnya.

1.4 Batasan Masalah

Adapun yang menjadi batasan masalah dalam aplikasi yaitu :


1. Pengujian dilakukan dengan menggunakan SHA-1 160 bit.
2. Input dari aplikasi berupa Teks
3. Enskripsi yang di gunakan berupa kombinasi dari DSA dan Lenstra
Elliptic Curve
4. Keluaran yang dihasilkan berupa teks yang di deskripsi dan angka sebagai
keakuratan kemanan yang dipakai.

1.5 Metodologi

Adapun yang menjadi langkah-langkah metodologi yang akan digunakan


dalam proses penyelesaian tugas akhir adalah
a. Kajian Teoritis
Pada tahapan ini, penulis akan mempelajari masalah-masalah yang
berhubungan dengan teknik Kriptograpi dengan menggunakan metode
dari penelitian sebelumnya, serta mencari berbagai referensi melalui
buku, internet, kajian ilmiah, dan sumber lainnya yang berhubungan
dengan topic yang akan diselesaikan.

b. Hipotesis
Pada tahapan ini,penulis akan mengidentifikasi masalah yang
muncul/ditemukan dan merumuskan masalah yang dihadapi berdasarkan
bahan-bahan yang diperoleh.

c. Analis dan Perancangan Sistem.


Setelah mempelajari, penulis memilih dan menetapkan algoritma yang
didapat dan menerapkannya untuk pengamanan data. Penulis juga
melakukan anisis ulang terhadap data-data yang didapatkan sebelumnya,
untuk menyimpulkan lebih rinci masalah yang akan diselesaikan serta
tujuan penelitian dari penulis. Setelah melakukan penganalisaan
kebutuhan fungsional sistem, analisis kebutuhan non fungsional juga
dibutuhkan untuk dilakukan proses perancangan perangkat lunak
berdasarkan hasil analisis. Metode analisis yang digunakan metodologi
waterfall, adapun langkah-langkah yang digunakan adalah,
1. Analisis kebutuhan system
Langkah ini merupakan analis terhadap kebutuhan fungsional dengan
menggunakan activity diagram.
2. Desain
Proses desain akan menerjemahkan analisis kebutuhan ke sebuah
perancangan lunak yang akan dibuat. Tahapan ini akan menghasilkan
software requirement berupa prototype awal dari perangkat lunak
yang dirancang dengan menggunakan Microsoft Visual Studio 2013.
3. Pemrograman(Coding)
Pada tahapan ini dilakukan pengkodean dengan
mengimplementasikan algoritma Lenstra Elliptical Curve untuk
membangun aplikasi Kriptograpi dengan menggunakan Microsoft
Visual Studio.
4. Pengujian(Testing)
Proses pengujian dilakukan terhadap perangkat lunak untuk
mengetahui tingkat keamanan, lama enkripsi dan integritas data.
Melakukan perbaikan jika masih terdapat kesalahan.

Berdasarkan uraian diatas, penulis tertarik untuk membahas dan


mempelajari proses kerja dari algoritma lenstra elliptic curve tersebut dan
membuat sebuah aplikasi untuk menerapkan skema tersebut. Oleh karena itu,
penulis mengambil Tugas Akhir yang berjudul Penerapan Lenstra elliptic curve
untuk mengamankan data.

BAB II

Tinjauan Pustaka

2.1 Pengenalan Kriptogprafi


2.1.1 Sejarah Kriptografi

Kriptografi (cryptography) berasal dari bahasa yunani: cryptos yang


artinya secret (rahasia) dan graphein yang artinya writing (tulisan). Jadi
kriptografi berarti secret writing (tulisan rahasia). Kriptografi mempunyai
sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan lebih dari
4000 tahun yang lalu, diperkenalkan oleh orang-orang mesir lewat hieroglyph.
Jenis tulisan ini bukanlah bentuk standard untuk menulis pesan. Dikisahkan pada
zaman romawi kuno, pada suatu saat Julius Caesar ingin mengirimkan pesan
rahasia kepada seorang jenderal di medan perang. Pesan tersebut harus di kirim
melalui seorang kurir. Karena pesan tersebut mengandung rahasia, Julius Caesar
tidak ingin pesan rahasia tersebut sampai terbuka di jalan. Julius Caesar kemudian
memikirkan bagaimana mengatasinya. Ia kemudian mengacak pesan tersebut
hingga menjadi suatu pesan yang tidak dapat dipahami oleh siapapun terkecuali
oleh Jenderalnya saja. Tentu Sang Jenderal telah diberi tahu sebelumnya bagaiman
cara membaca pesan teracak tersebut. Yang dilakukan Julius Caesar adalah
mengganti semua susunan alfabet dari a, b, c yaitu a menjadi b, b menjadi c dan c
menjadi d dan seterusnya hingga kalimat tersebut tidak bisa dibaca siapapun.

Dari ilustrasi tersebut, beberapa istilah kriptografi dipergunakan untuk


menandai aktivitas-aktivitas rahasia dalam mengirim pesan. Apa yang dilakukan
Julius Caesar yang mengacak pesan, disebut sebagai enkripsi. Pada saat Sang
Jendral merapikan pesan yang teracak itu, proses itu disebut dekripsi. Pesan awal
yang belum di acak dan pesan yang telah dirapikan disebut plaintext, sedangkan
pesan yang telah di acak disebut ciphertext.

2.1.2 Definisi Kriptografi

Ada beberapa defenisi kriptografi yang telah dikemukakan diberbagai


literatur antara lain: (Scheneier Bruce, 1996) Kriptografi adalah ilmu dan seni
untuk menjaga keamanan pesan (Cryptography is the art and science of keeping
message secure). (Rinaldi Munir, 2008) Kriptografi adalah ilmu yang
mempelajari teknik-teknik matematika yang berhubungan dengan aspek
keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi. Kata
seni didalam definisi diatas berasal dari fakta sejarah bahwa pada masa-masa
awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk
merahasiakan pesan. Cara-cara unik tersebut berbeda-beda pada setiap pelaku
kriptografi sehingga setiap cara menulis pesan rahasia, pesan mempunyai nilai
estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni
merahasiakan pesan.

2.1.3 Konsep Kriptografi

Konsep kriptografi sendiri telah lama digunakan oleh manusia misalnya


pada peradaban Mesir dan Romawi walau masih sangat sederhana. Prinsip-
prinsip yang mendasari kriptografi yakni:
a. Confidentiality (kerahasiaan) yaitu layanan yang ditujukan untuk menjaga agar
isi pesan yang di kirimkan tidak dapat dibaca oleh pihak lain (kecuali pihak
pengirim, pihak penerima / pihak-pihak yang memiliki ijin). Umumnya hal
ini dilakukan dengan cara menyandikan pesan menjadi ciphertext sehingga
sulit dibaca dan dipahami. Misalnya: BELAJAR KRIPTOGRAFI
disandikan menjadi
676525024912432374087133368665572917926466924334
b. Data integrity (keutuhan data) yaitu layanan yang mampu menjamin pesan
masih asli/utuh atau belum pernah dimanipulasi selama masa waktu
pengiriman. Untuk menjaga integritas data, sistem harus memiliki
kemampuan untuk mendeteksi adanya manipulasi pesan tersebut oleh pihak-
pihak yang tidak berhak antara lain penghapusan, pengubahan atau
penambahan data yang tidak sah oleh pihak lain.
c. Authentication (otentikasi) yaitu layanan yang berhubungan dengan identifikasi.
Baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun
mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi
harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber
pesan. Pesan yang di kirim melalui saluran komunikasi juga harus di otentikasi
asalnya. Dengan kata lain, aspek keamanan ini dapat di
ungkapkan sebagai pertanyaan : apakah pesan yang diterima benar-benar berasal
dari pengirim yang benar ? otentikasi sumber pesan secara implisit juga
memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi
berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas
data selalu dikombinasikan dengan layanan otentikasi sumber pesan. Didalam
kriptografi, layanan ini direalisasikan dengan menggunakan tandatangan
digital (digital signature). Oleh sebab itu tandatangan digital selalu
dikombinasikan dengan layanan otentikasi sumber pesan.
d. Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu
pihak untuk menyangkal aksi yang dilakukan sebelumnya, yaitu pengirim
pesan menyangkal melakukan pengiriman atau penerimaan pesan
menyangkal telah menerima pesan. Sebagai contoh, misalnya pengiriman
pesan memberi otoritas kepada penerima pesan untuk melakukan pembelian,
namun kemudian ia menyangkal telah memberikan otoritas tersebut .

Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada


kerahasiaan algoritma yang digunakan. Apabila algoritma yang digunakan telah
diketahui maka pesan sudah jelas "bocor" dan dapat diketahui isinya oleh siapa
saja yang mengetahui algoritma tersebut. Kriptografi modern lebih
menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma tersebut
(oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke kalangan
masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya. Berikut
adalah istilah-istilah yang digunakan dalam bidang kriptografi :
a. Pesan, Plaintext dan Chiphertext

pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti
maknanya. Nama lain untuk pesan adalah plaintext (cleartext) . pesan dapat
berupa data atau informasi yang di kirim melalui kurir, saluran
telekomunikasi maupun saluran lain.
Pesan yang tersimpan tidak hanya berupa text, tetapi juga dapat berbentuk
citra (image), suara/bunyi (audio) dan video atau berkas biner lainnya.

Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu
disandikan kebentuk lain yang tidak dapat dipahami. Bentuk pesan yang
tersandi disebut ciphertext atau sering juga disebut kriptogram. Ciphertext
harus dapat ditransformasikan kembali menjadi plaintext semula agar pesan
yang diterima bisa dibaca. Berikut ilustrasi :

b. Pengirim dan Penerima


Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim
(sender) adalah entitas yang mengirim pesan kepada entitas lainnya.
Penerima (receiver) adalah entitas yang menerima pesan. Entitas yang
dimaksud dapat berupa orang , mesin (komputer, kartu kredit) dan
sebagainya. Jadi orang dapat bertukar pesan dengan orang lainnya (Alice
berkomunikasi dengan Bob) sementara didalam jaringan komputer mesin
(komputer) berkomunikasi dengan mesin. contoh : mesin ATM dengan
komputer server di bank.
c. Enkripsi (E) dan Dekripsi (D)

Proses menyandikan plainteks menjadi ciphertext disebut enkripsi, sedangkan


proses mengembalikan ciphertext menjadi plainteks kebentuk teks semula (pesan
asli) disebut dekripsi. Enkripsi dan dekripsi dapat diterapkan baik pada pesan
yang dikirim maupun pada pesan tersimpan

d. Cipher dan Kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan
deciphering, atau fungsi matematik yang digunakan untuk enkripsi dan
dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah
relasi antara dua buah himpunan yaitu himpunan yang berisi elemen-elemen
plainteks dan himpunan yang berisi ciphertext. Enkripsi dan dekripsi
merupakan fungsi yang memetakan elemen-elemen antara kedua himpunan
tersebut. Misalkan P menyatakan plainteks dan C menyatakan ciphertext,
maka fungsi enkripsi E memetakan P ke C
E(P) = C

Dan fungsi dekripsi D memetakkan C ke P

D(C) = P

Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal,


maka kesamaan berikut harus benar :

Kriptografi modern juga telah banyak mengatasi masalah dengan penggunaan


kunci, yang dalam hal ini algoritma tidak lagi dirahasiakan, tetapi kunci harus
dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk
transformasi enciphering dan deciphering. Kunci biasanya berupa string atau
deretan bilangan. Dengan menggunakan kunci K, maka fungsi enkripsi dan
dekripsi dapat ditulis sebagai berikut :

Ek(P)= C dan Dk(C) = P

dan kedua fungsi ini memenuhi

Dk(Ek(P))= P

berikut ilustrasi skema enkripsi dan dekripsi dengan menggunakan kunci


terhadap sebuah pesan :
Gambar 2.1 Proses enskripsi / deskripsi sederhana.

Gambar
2.2

Proses Ilustrasi enskripsi / deskripsi Pesan.

2.1.4 Kriptaanalis dan Kriptosistem

Crytanalysis bisa diartikan sebagai analisis sandi atau suatu ilmu untuk
mendapatkan plaintext tanpa harus mengetahui kunci secara wajar. Dengan tujuan
merubah Chipertext menjadi plaintext tanpa menggunakan kunci yang sah
(Rahayu, et al., 2012).

Dalam arti umum , istilah cryptosystem digunakan sebagai nama lain


untuk sistem kriptografi, yaitu sebuah sistem kriptografi pada sistem komputer
yang melibatkan kriptografi. Yang termasuk sistem tersebut misalnya . suatu
sistem keamanan surat elektronik yang mencakup metode untuk tanda tangan
digital , fungsi hash kriptografi , teknik manajemen kunci , dan sebagainya .
Sistem kriptografi dibangun dari kriptografi yang primitive , dan biasanya rumit.
Karena kriptografi dasarnya, biasanya jauh lebih mudah untuk mematahkan
sistem secara keseluruhan. Misalnya , melalui kesalahpahaman pengguna
sehubungan dengan kriptosistem tersebut (Wahyudi , 2010).

2.1.5 Algoritma Kriptografi

Untuk melakukan kriptografi digunakan algoritma kriptografi. Algoritma


kriptografi terdiri dari dua bagian , yaitu fungsi enskripsi dan dekripsi. Enkripsi
adalah proses untuk mengubah plaintext menjadi chipertext, sedangkan dekripsi
adalah kebalikannya yaitu mengubah ciphertext menjadi plaintext. Terdapat dua
jenis algoritma kriptografi berdasarkan jenis kuncinya ( Cahyadi, et al., 2012),
yaitu:

1. Algoritma Simetri , adalah algoritma yang menggunakan kunci enkripsi


yang sama dengan kunci dekripsinya . Algoritma standar yang
menggunakan kunci simetri antara lain OTP , DES , RC2 , RC5 , RC6 ,
IDEA , Twofish, Blowfish , dan lain-lain.
2. Algoritma Asimetri, adalah algoritma yang kunci untuk enkripsi dan
dekripsinya jauh berbeda. Algoritma standar yang termasuk algoritma
asimetri adalah ECC,LUC,RSA,El,Gamal dan DH.

2.2 Elliptic Curve Criptogprapy

2.2.1 Pengenalan

The Elliptic Curce Cryptosystem(ECC) diperkenalkan pada tahun 1985


oleh Neal Koblitz dan Victor Miller dari Universitas Washington. Kurva eliptik
mempunyai masalah logaritma yang terpisah sehingga sulit untuk dipecahkan.
Kriptografi kurva eliptik termasuk sistem kriptografi kunci publik yang
mendasarkan keamanannya pada permasalahan matematis kurva eliptik. Tidak
seperti permasalahan matematis logaritma diskrit/ Discrete Logarithm Problem
(DLP) dan pemfaktoran bilangan bulat/ Integer Factorization Problem(IFP), tidak
ada algoritma waktu sub-eksponensial yang diketahui untuk memecahkan
permasalahan matematis algoritma diskrit kurva eliptik/ Elliptic Curve Discrete
Logarithm Problem(ECDLP). Oleh karena alasan tersebut algoritma kriptografi
kurva eliptik mempunyai keuntungan bila dibandingkan algoritma kriptografi
kunci publik lainnya, yaitu dalam hal ukuran kunci yang lebih pendek tetapi
tingkat keamanan yang sama.[15]

Kurva eliptik juga digunakan pada beberapa algoritma pemfaktoran


integer yang juga memiliki aplikasi dalam kriptografi, seperti Lenstra Elliptic
Curve Factorization. Algoritma kunci publik didasarkan pada variasi perhitungan
matematis yang terbilang sangat sulit dipecahkan tanpa pengetahuan tertentu
mengenai bagaimana perhitungan tersebut dibuat. Pembuat algoritma menyimpan
kunci rahasia dan menyebarkan kunci publiknya. Algoritma kunci publik
digunakan untuk mengenkripsi pesan dimana hanya pembuat algoritma yang
dapat memecahkannya. Sistem kunci publik awal, seperti algoritma
RSA,menggunakan dua bilangan prima yang sangat besar. Pengguna memilih dua
bilangan prima acak yang besar sebagai kunci rahasianya dan mempublikasikan
hasil perhitungannya sebagai kunci publik. Pemfaktoran bilangan bilangan besar
yang sangat sulit dapat menjaga kerahasiaan kunci rahasia itu dari orang lain.[1]

Elliptic Curve Cryptosystem mempunyai panjang kunci 160 bit yang


dipercaya mempunyai tingkat keamanan yang setara dengan RSA 1024 bit.Elliptic
Curve Cryptosystem menggunakan parameter yang lebih kecil dibandingkan
sistem algoritma konvensional.Elliptic Curve Cryptosystem sendiri sudah
dipelajari selama bertahun tahun. Kurva eliptik menghasilkan bilangan prima Zp
atau menghasilkan batasan GF (2n), merupakan sesuatu yang menarik sebab
digunakan untuk menyediakan suatu cara membangun algoritma kriptografi.
Elliptic Curve Cryptosystem mempunyai potensi untuk menyediakan kunci umum
sistem kripto yang lebih cepat dengan ukuran kunci yang lebih kecil.[1]

Persoalan lain menyangkut perhitungan aljabar ab= c, dimana a dan c


diketahui. Perhitungan semacam itu menyangkut bilangan kompleks atau real
yang dapat dengan mudah dipecahkan menggunakan algoritma. Tetapi dalam
kumpulan bilangan terbatas yang besar, menemukan solusi untuk perhitungan
semacam itu sangat sulit dan dikenal sebagai discrete logarithm problem. Kurva
eliptik dapat ditulis dengan perhitungan matematis sebagai berikut [11]:

Contoh kurva eliptik dapat dilihat pada gambar berikut:


Kumpulan titik pada kurva dapat membentuk kumpulan abelian (dengan
titik pada tak terhingga sebagai elemen identitas).Jika nilai x dan y dipilih dari
daerah terbatas yang besar, solusi akan membentuk suatu kumpulan abelian
terbatas. Permasalahan logaritma diskrit pada kumpulan kurva eliptik tersebut
dipercaya lebih sulit dibandingkan permasalahan yang sama (perkalian bilangan
tidak nol) dalam daerah terbatas. Selain itu, kunci dalam algoritma kriptografi
kurva eliptik dapat dipilih yang lebih pendek untuk keamanan yang cukup tinggi.
Sebagai salah satu sistem kripto kunci publik, belum ada pembuktian matematis
untuk tingkat kesulitan Elliptic Curve Cryptosystem yang telah dipublikasikan
sampai tahun 2006. [1]
Elliptic Curve Cryptosystem mempunyai panjang kunci 160 bit yang
dipercaya mempunyai tingkat keamanan yang setara dengan RSA 1024 bit.
Elliptic Curve Cryptosystem menggunakan parameter yang lebih kecil
dibandingkan sistem algoritma konvensional. Elliptic Curve Cryptosystem sendiri
sudah dipelajari selama bertahun tahun. Kurva eliptik menghasilkan bilangan
prima Zp atau menghasilkan batasan GF(2n), merupakan sesuatu yang menarik
sebab digunakan untuk menyediakan suatu cara membangun algoritma
kriptografi. Elliptic Curve Cryptosystem mempunyai potensi untuk menyediakan
kunci umum sistem kripto yang lebih cepat dengan ukuran kunci yang lebih kecil.
[1]

2.2.2 Sistem Elliptic curve criptograpy

Kurva eliptik yang digunakan dalam kriptografi didefinisikan dengan


menggunakan dua tipe daerah terbatas : daerah karakteristik ganjil (Fp, dimana p
> 3 adalah bilangan prima yang besar) dan daerah karakteristik dua (F2m). Karena
perbedaan itu menjadi tidak begitu penting, kedua daerah terbatas tersebut dapat
ditunjukkan sebagai Fq, dimana q = p atau q = 2m. Elemen dari F p adalah integer
(0 x< p) di mana elemen tersebut dapat dikombinasikan menggunakan modul
aritmetik. Untuk F2m sedikit lebih kompleks : salah satu mengandung
representasi yang berbeda dari elemen daerah sebagai bit string untuk pilihan
polinomial f(x) biner yang irreducible yang derajat m.

Bidang terbatas (finite field ) atau yang biasa disebut dengan Galois Field
(GF)adalah bidang yang hanya memiliki elemen bilangan yang terbatas. Derajat
(order) dari bidang terbatas adalah banyaknya elemen yang ada dalam bidang.Jika
q adalah pangkat prima ( prime order ), maka hanya ada satu bidang terbatas
dengan derajat q. Bidang tersebut dilambangkan dengan F=q atau GF(q). Banyak
cara untuk merepresentasikan elemen dari Fq, jika q = pm, dimana p adalah
bilangan prima dan m adalah bilangan integer positif, maka p disebut sebagai
karakteristik dari Fq dan m disebut sebagai derajat perluasan (extension degree)
dari Fq. Bidang terbatas yang digunakan dalam kriptografi adalah q = p, dimana p
adalah bilangan prima ganjil, yang dilambangkan dengan F p (odd prime), dan q
= 2m, dimana m adalah integer lebih besar dari satu, yang dilambangkan dengan
F2m (characteristic two or even).[2]

Bidang terbatas Fp merupakan sebuah bidang yang beranggotakan


bilangan integer(0, 1, , p-1) dan p merupakan bilangan prima. Setiap
perhitungan dikalkulasikan dengan modulo p agar hasilnya tetap berada dalam
daerah Fp. Operasi yang berlaku dalam bidang terbatas Fp adalah :[2]

1. Penjumlahan (addition), jika a, b?F p, dimana a + b = r, dimana r


adalah sisa pembagian a + b dengan bilangan prima p,0 = r = p-1.
Penjumlahan seperti ini disebut penjumlahan modulo p (mod p).

2. Perkalian (multiplication), jika a,b? Fp, maka a * b = s, dimana s


adalah sisa pembagian a * b dengan bilangan prima p,0 = s = p-1.
Perkalian seperti ini disebut perkalian modulo p (mod p)

Bidang terbatas F2m biasa disebut dengan bidang terbatas biner (biner
finite field ), dapat dipandang sebagai ruang vector dimensi m pada F2. Karena
itu ada himpunan yang beranggotakan m elemen {a0,a1,,am - 1} di dalam F2m
sedemikian rupa sehingga setiap a? F2m dapat ditulis secara unik ke dalam
bentuk:[2]

Salah satu cara untuk merepresentasikan elemen elemen pada F2madalah


dengan representasi basis polinomial. Pada representasi basis polynomial elemen
pada F2m merupakan polinomial dengan derajat lebih kecil dari m, dengan
koefisien bilangan 0 atau 1.[2]
Persamaan kurva eliptik menggunakan rumus y2=y3+ax+b yang
digambarkan diatas Zp dimana a, b Zp.Zp disebut bilangan prima jika dan
hanya jika p > 3 yang merupakan kelompok ganjil. Kurva eliptik (EC) dapat
diubah menjadi kelompok abelian dengan semua titik dari EC, yang meliputi
ketidak-terbatasan O dibawah kondisi 4a3+27b2 0 (mod p), jika (x1,y1) dan
Q(x2,y2) ada pada kurva eliptik. Titik yang ketiga R adalah P + Q = (x3,y3). Titik
yang ketiga dari R bisa digambarkan sebagai berikut : Pertama digambarkan
sebuah garis yang melewati P dan Q. cari persimpangan titik R pada kurva
eliptik dan kemudian temukan titik pemantulan dari R berkenaan dengan X-axis,
yang merupakan penjumlahan dari P dan Q.[2]

Salah satu ECC yang terkenal adalah Elliptic Curve Direcrete Logarithm
Problem (ECDLP) yang dinyatakan sebagai berikut : Diambil suatu bilangan
prima p dan tentukan persamaan kurva eliptik, kemudian xp menyatakan titik P
yang ditambahkan dengan dirinya sendiri sebanyak x kali, dan bila Q merupakan
kelipatan P maka Q = xP untuk suatu x. Keamanan dari ECDLP diperoleh dari
sulitnya mendapatkan x bila P dan Q diketahui, apalagi nilai P dan Q cukup besar.
Kompleksitas algoritma untuk mencarinya dengan eksponensial dan diperlukan
logaritma diskrit. [2]

2.2.3 Lenstra Elliptical Curve


Anggap A,B R sebagai konstanta sehingga 4A 3
+ 27B2 0. Non
singular A kurva eliptik adalah adalah sebuah solusi untuk mencari

nilai E (x,y) RxR menjadi sebuah persaman : y2 = x3 + Ax + B.


metode lenstra elliptical Curve(LEC) adalah algoritma ketiga tercepat
dalam faktorisasi integer dan Algoritma elliptic curve criptograpy
menggunakan kunci publik dan kunci private, kunci publik yaitu kunci
yang didistribusikan. Sehingga jika kunci ini sampai hilang atau
diketahui oleh orang lain yang tidak berhak, maka pesan sandi yang
dikirim akan tetap aman, Sedangkan kunci privat tetap disimpan (tidak
didistribusikan)
Cara kerja Algoritma Lenstra :
Tentukan nilai A(random), a dan b mod n.
Tetapkan P = (a,b) dan B = b2 a3 A.a (mod N).
Cari nilai E dari kurva eliptik (E : y2 = x3 + Ax + B).
Loop j = 2,3,4,. Sampai nilai sudah ditetapkan.
Hitung Q = jP(mod N) dan tetapkan P = Q.
Jika komputasi pada perhitungan Q gagal , kemudian kita
mendapatkan nilai a d> 1 dengan d| N.
If d< N , maka berhasil , kembalikan nilai d.
If d = N , kembali ke tahap 1 dan tetapkan nilai kurva.
Naikkan j dan lakukan perulangan kembali.

2.3 ECDSA

Penelitian ini dilakukan oleh Don Johnson,Alfred Menezes dan Scott


Vanstone dari A1.Certicom Research, Canada, CA pada tahun 2001 yang berjudul
The Elliptic Curve Digital Signature Algorithm (ECDSA).Penelitian ini
berisikan analisis Kurva Elliptic Digital Signature Algorithm (ECDSA) yang
merupakan kurva eliptik analog dari Algoritma Tanda Tangan Digital (DSA). Itu
diterima pada tahun 1999 sebagai standar ANSI dan pada tahun 2000 sebagai
standar IEEE dan NIST. Itu juga diterima pada tahun 1998 sebagai sebuah
standar ISO dan sedang dipertimbangkan untuk dimasukkan dalam beberapa
standar ISO lainnya. Berbeda dengan masalah logaritma diskrit biasa dan masalah
faktorisasi integer, tidak ada algoritma subexponential-waktu dikenal untuk
masalah kurva eliptik diskrit logaritma. Untuk alasan ini, kekuatanperkeybit
secara substansial lebih besar dalam algoritma yang menggunakan kurva eliptik.
Jurnal ini menjelaskan ANSI X9.62 ECDSA, dan membahas terkait keamanan,
implementasi, dan isu-isu interoperabilitas [7].

Penelitian ini dilakukan oleh Mihir Bellare dan Sara K. Minerdari


Conference Santa Barbara,California, USA pada tahun 2001 yang berjudul A
ForwardSecure Digital Signature Scheme. Penelitian ini membahas skema tanda
tangan digital di mana kunci publik tetap tetapi kunci penandatanganan rahasia
diperbarui secara berkala sehingga dapat memberikan keamanan properti
kedepan, kompromi kunci rahasia saat ini tidak memungkinkan musuh untuk
menempa tanda tangan yang berkaitan dengan masa lalu. Hal ini dapat berguna
untuk mengurangi kerusakan yang disebabkan oleh paparan kunci tanpa
membutuhkan distribusi kunci. Konstruksi ini menggunakan ideidentifikasi dan
skema tanda tangan, dan terbukti waktu pembuatannya juga cukup efisien[8].

Dalam protokol ECDSA, pihak yang akan melakukan tanda tangan digital,
mempunyai parameter domain kurva eliptik berupa D = {q,FR,a,b,G,n,h} dan
pasangan kunci kunci rahasia dA dan kunci publik QA. Kemudian pihak yang akan
melakukan verifikasi terhadap tanda tangan, memiliki salinan dokumen D yang
otentik dan kunci publik QA. Proses-proses yang terjadi adalah sebagai berikut :

Key Generation

1. Memilih sebuah bilangan bulat random dA, yang nilainya diantara [1,n-1]

2. Menghitung QA = dA G = (x1,y1)

3. Kunci rahasia = dA, dan kunci publik = QA.

Signing

1. Memilih sebuah bilangan bulat random k, yang nilainya diantara [1,n-1].

2. Menghitung QA = k G = (x1,y1) dan r = x1 mod n, jika r = 0, maka kembali


ke langkah 1.
3. Menghitung k-1 mod n

4. Menghitung e = Hash(m)
5. Menghitung s = k-1 {e+dA r} mod n tanda tangan Alice untuk message m
adalah (r,s)
Verifying

1. Memverifikasi bahwa r dan s adalah bilangan bulat yang antara [1,n-1]


2. Menghitung e = Hash (m)
3. Menghitung w = s-1 mod n

4. Menghitung u1 = ew mod n dan u2 = rw mod n


5. Menghitung u1 G + u2 QA = (x1,y1)
6. Menghitung v = x1 mod n
7. Menerima tanda tangan jika dan hanya jika v = r

2.4 SHA-1

Didalam kriptografi , SHA-1 adalah fungsi hash kriptografi yang di desain


oleh badan keamanan nasional amerika serikat.SHA-1 menghasilkan 160 bit(20
byte) nilai hash. SHA-1 memiliki nilai hamper sama dengan sebuah nilai hexa
decimal , yang panjangnya sebesar 40 digit.

SHA dibentuk untuk algoritma keamanan hash. Algoritma 4 SHA


memiliki struktur yang berbeda dan dinamai sebagai SHA-0, SHA-1 , SHA-2 ,
and SHA-3. SHA-0 adalah versi asli dari 160 bit fungsi hash yang di publikasikan
tahun 1993 dibawah nama SHA: Algoritma ini tidak terlalu banyak di
kembangkan dan di pakai kedalam banyak aplikasi. Di publis pada tahun 1995,
SHA-1 sangat mirip dengan SHA-0 , tetapi mengubah versi asli dari SHA hash
dan memperbaiki spesifikasinya untuk melihat kelemahan dari sha hash tersebut.
SHA-1 adalah yang paling banyak digunakan dari fungsi SHA hash yang ada, dan
digunakan dalam beberapa aplikasi secara luas digunakan dan protokol.
Pada tahun 2005, cryptanalysts ditemukan serangan terhadap SHA-1
menunjukkan bahwa algoritma mungkin tidak cukup aman untuk digunakan terus
menerus. [3] NIST diperlukan banyak aplikasi di agen-agen federal untuk pindah
ke SHA-2 setelah 2010 karena kelemahan. [4] Meskipun tidak ada serangan yang
sukses belum dilaporkan pada SHA-2, itu adalah algoritma mirip dengan SHA-1.
Pada tahun 2012, setelah kompetisi berjalan lama, NIST dipilih algoritma
tambahan, Keccak, untuk standardisasi bawah SHA-3. [5] [6] Pada November
2013 Microsoft mengumumkan kebijakan bantahan mereka pada SHA-1 menurut
mana Windows akan berhenti menerima SHA-1 sertifikat di SSL pada 2017. [7]
Pada bulan September 2014 Google mengumumkan kebijakan bantahan mereka
pada SHA-1 yang menurut Chrome akan berhenti menerima SHA-1 sertifikat di
SSL dengan cara bertahap pada 2017. [8] Mozilla juga berencana untuk berhenti
menerima sertifikat SSL berbasis SHA-1 pada 2017. [9] [10] [11]
SHA-1 adalah yang paling banyak digunakan dari fungsi SHA hash yang
ada, dan digunakan dalam beberapa aplikasi secara luas digunakan dan protokol.
Pada tahun 2005, cryptanalysts ditemukan serangan terhadap SHA-1
menunjukkan bahwa algoritma mungkin tidak cukup aman untuk digunakan terus
menerus. [3] NIST diperlukan banyak aplikasi di agen-agen federal untuk pindah
ke SHA-2 setelah 2010 karena kelemahan. [4] Meskipun tidak ada serangan yang
sukses belum dilaporkan pada SHA-2, itu adalah algoritma mirip dengan SHA-1.
Pada tahun 2012, setelah kompetisi berjalan lama, NIST dipilih algoritma
tambahan, Keccak, untuk standardisasi bawah SHA-3. [5] [6] Pada November
2013 Microsoft mengumumkan kebijakan bantahan mereka pada SHA-1 menurut
mana Windows akan berhenti menerima SHA-1 sertifikat di SSL pada 2017. [7]
Pada bulan September 2014 Google mengumumkan kebijakan bantahan mereka
pada SHA-1 yang menurut Chrome akan berhenti menerima SHA-1 sertifikat di
SSL dengan cara bertahap pada 2017. [8] Mozilla juga berencana untuk berhenti
menerima sertifikat SSL berbasis SHA-1 pada 2017. [9] [10] [11]
Daftar Putsaka
1. Indriani, Susi. 2011. Kriptografi Kurva Eliptik dengan Proses Pertukaran
Kunci Diffie-Hellman. Skripsi. Medan, Indonesia : Universitas Sumatera
Utara.
2. Schneier, B. 1997. Applied Cryptography, 2nd Edition. New York: John-
Willey & Sons
3. M.Rinaldi. 2006. Kriptografi. Bandung. PenerbitInformatika.
4. Aryus.D.2005.KriptografiKeamanan
Data&Komunikasi.Yogyakarta.Penerbit.GrahaI
5. Wahyudi, A.,2010. Aplikasi Kriptosistem dengan Algoritma Mc Elliece.
Majalah Ilmiah Informatika, pp. 1-7.
6. Rahayu, T. P., Y .& Limiady, I.,2012. Aplikasi Enskripsi Pesan Teks (SMS)
pada Perangkat Handphone dengan algoritma Caesar Chiper.
Yogyakarta,Seminar Nasional Teknologi Informasi dan komunikasi 2012
(SENTIKA 2012), pp. 143-149.
7. J. Don,M. Alfred, V. Scott The Elliptic Curve Digital Signature Algorithm
(ECDSA). International Journal of Information Security Volume 1, Issue
1, pp 36 63.A1Certicom ResearchCanada : CA,2001
8. B . Mihir, M.K. Sara A ForwardSecure Digital Signature Scheme,
Annual International Cryptology Conference Santa Barbara, California :
USA,1999.
9. Indriani, Susi. 2011.Kriptografi Kurva Eliptik dengan Proses Pertukaran
Kunci Diffie-Hellman. Skripsi. Medan, Indonesia : Universitas Sumatera
Utara
10. Garefalakis,Theodoulos. Primality Testing, Integer Factorization, and
Discrete Logarithms. 2000. Toronto:Department of ComputerScience,
University of Toronto
11. Yusri. 2004.Implementasi Kriptografi Kurva Eliptik pada Pengiriman SMS
Melalui Telepon Selular dengan Teknologi J2ME. Skripsi. Jakarta,
Indonesia : Universitas Indonesia
12. William Stallings, 1999,Cryptography and Network Security : Principle
and Practice,Second Edition, Prentice Hall.
13. Johnson, Don. Menezes, A. Vanstone, S. (2000). The Elliptic Curve
Digital Signature Algorithm (ECDSA).
14. Xiaoyun Wang, Yiqun Lisa Yin and Hongbo Yu, Finding Collisions in the
Full SHA-1, Crypto 2005
15. Garefalakis,Theodoulos. Primality Testing, Integer Factorization, and
Discrete Logarithms. 2000. Toronto:Department of ComputerScience,
University of Toronto.

PENERAPAN LENSTRA ELLIPTIC CURVE UNTUK


PENGAMANAN DATA

PROPOSAL TUGAS AKHIR

Oleh:
ACHMAD ISMAIL SIREGAR
131114005
RIZKI ANANDA
131111211
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
MIKROSKIL
MEDAN
2017
Lampiran
1

2
1
Tampilan Awal

Keterangan :
1. Logo kampus.
2. Tombol mulai adalah tombol yang akan memproses aplikasi ke form
berikutnya dan akan menampilkan halaman utama dari sistem.
Tampilan Halaman Halaman Sistem

Keterangan :
1. Halaman pengujian adalah halaman utama dari sistem ini.
2. Halaman Sha-1 Process akan menampilkan pembentukan dari proses
pengamanan data dengan sha-1 160 bit
3. Dihalaman ini akan ada beberapa sub menu yang menampilkan bagaimana
proses yang akan di lakukan , dari pembentukan ECDSA (pemilihan
kurva, pembangkitan kunci , tanda tangan , dan verifikasi.
4. Halaman about akan menampilkan data dari pengembang aplikasi.

6
7 5
2 1

1
2
11

2
1
4 12
2 3 8 101 9
1 1
Tampilan Utama Sistem.

Keterangan :
1. Tempat pemasukan data berupa pesan teks.
2. Tombol reset digunakan bila user ingin merubah ataupun menghapus
pesan teks secara keseluruhan dari pesan.
3. Tombol process akan melakukan perintah ke sistem dan akan
menghasilkan keluaran berupa nilai dari proses yang di olah oleh halaman
SHA-1.
4. Berupa jumlah karakter yang berada di pesan input
5. Berupa bit pesan yang telah di proses dari halaman SHA-1
6. Sebuah fungsi yang akan melakukan enkripsi data.
7. Berupa chipertext dari pesan yang di enkripsi.
8. Sebuah Fungsi yang akan memerintahkan dan di kirimkan ke halaman
ECDSA Verifikasi untuk diproses.
9. Hasil dari verifikasi yang telah di lakukan di halaman ECDSA Verifikasi
berupa nilai angka yang membuktikan kebenaran tentang pengiriman
pesan yang di lakukan.
10. Sebuah fungsi yang akan dilemparkan kehalaman dekripsi dan dihalamn
dekripsi nanti aka nada pemasukan chipertext untuk membuka dan
mengembalikan pesan yang dienkripsi sebelumnya.
11. Sebuah tempat penampung pesan yang telah di enkripsi
12. Jumlah karakter yang melihatkan bahwa apakah ada karakter yang hilang
atau tidak.

1
2

3
Halaman proses pembentukan ECDSA

1
2

3
Tampilan proses tanda-tangan ECDSA.

Keterangan :
1. Berupa inputan yang harus dimasukan oleh user atau pengguna.
2. Berupa Keterangan yang akan membantu pemahaman user mengenai
aplikasi , baik itu berupa pemahaman penginputan sampai pehaman
tentang proses yang akan di lakukan.
3. Berupa penampung yang akan menampilkan bagaimana proses
perhitungan dikalkulasikan.
4.

3
alaman proses pembentukan Sha-1

Keterangan :
1. Jkhk
2. Jada
3. jk

Halaman Dekripsi pesan

3
Keterangan :
1. Berupa inputan dari output berupa chipertext yang di ambil dari halaman
pengujian .
2. Berupa pesan yang telah di kembalikan.
3. Fungsi untuk kembali ke halaman pengujian.

Anda mungkin juga menyukai