Makalah Komdat "kunci publik, kunci privat, kombinasi kunci privat dan publik"

KEAMANAN DATA DAN JARINGAN
“KUNCI PUBLIK,KUNCI PRIVAT, KOMBINASI KUNCI PRIVATE DAN PUBLIK”

 


  


PEMBINA : MUHAMMAD AHSAN, S.KOM

DISUSUN OLEH:


HESTI SHOLIKAH                           (130549810249)


FAKULTAS TEKNIK
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS WIYAGAMA MALANG

2014




Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rakhmat serta karunia-Nya kepada kami sehingga kami berhasil menyelesaikan makalah ini yang Alhamdulillah tepat pada waktunya yang berjudul “KUNCI PUBLIK, KUNCI PRIVAT, KOMBINASI KUNCI PRIVATE DAN PUBLIK”.

Makalah ini berisikan tentang bagian dari perkuliahan Keamanan Data dan Jaringan yaitu Kunci Publik, Kunci Privat dan Kombinasi Kunci Publik dan Kunci Privat. Diharapkan makalah ini dapat memberikan hidayah bagi kita semua, khususnya semua mahasiswa Teknik Informatika Universitas Widyagama.

Kami menyadari bahwa,makalah ini masih jauh dari sempurna, oleh karena itu kritik dan saran dari semua pihak yang bersifat membangun selalu kami harapkan demi kesempurnaan makalah ini.

Akhir kata,kami sampaikan terimakasih kepada semua pihak yang telah berperan ikut serta dalam penyusunan makalah ini dari awal sampai akhir. semoga Allah SWT senantiasa melancarkan segala usaha kita semua,aamiin.



Malang, 1 November 2014



            Penyusun









DAFTAR ISI

Judul
Kata Pengantar
Daftar Isi
BAB I PENDAHULUAN
1.1 Latar Belakang
1.2. Tujuan Penulisan
1.3. Manfaat Penulisan
BAB II PEMBAHASAN
2.1 Kriptografi
2.1.1 Algoritma Sandi
2.2 KunciPublikSimetris  
2.2.1 Data Encryption Standard (DES) 
2.2.2 Advanced Encryption Standard (AES)
2.3 Kunci Publik Asimetris (gabungan kunci publik dan kunci privat)
2.3.1 Diffie-Hellman
2.3.2 Rivest, Shamir, Adelman (RSA)
2.3.2.1 Sejarah
2.3.2.2 Perumusan Algoritma RSA
2.3.2.3 Deskripsi Algoritma RSA
2.3.2.4 Padding schemes
2.3.2.5  Pengesahan pesan
2.3.2.6 Keamanan
2.3.2.7 Pembangkitan kunci
2.3.2.8 Kecepatan
2.3.2.9 Distribusi kunci
2.3.2.10 Penyerangan waktu
2.3.2.11 Penyerangan ciphertext adaptive
2.3.3 Pretty Good Privacy (PGP)
2.3.4 Hashing Algorithms
2.3.5 Beberapa kegunaan dalam kehidupan sehari-hari
2.3.6 Kelebihan dan kekurangan kunci publik
2.3.6.1 Kelebihan kriptografi Simetri
2.3.6.2 KekurangankriptografiSimetri
2.3.6.3 KelebihankriptografiAsimetri
2.3.6.4 KekurangankriptografiAsimetri
2.4 Steganografi (kunci privat dan kunci privat)
2.4.1 Metode Steganografi
2.4.2 Steganalisis dan Stegosystem
2.4.3 Private-key cryptosystem
BAB IIIPENUTUP
Kesimpulan dan Saran
DAFTAR PUSTAKA






BAB I
PENDAHULUAN
1.1 Latar Belakang
Kriptografi sudah lama digunakan oleh tentara Sparta di Yunani.Pada permulaan tahun 400 SM. Mereka menggunakan alat yang disebut scytale. Alat ini terdiri dari sebuah pita panjang dari daun papyrus yang dililitkan pada sebatang silinder.Pesan yang akan dikirim ditulis horizontal (baris per baris).Bila pita dilepaskan, maka huruf-huruf di dalamnya telah tersusun membentuk pesan rahasia.Untuk membaca pesan, penerima melilitkan kembali silinder yang diameternya sama dengan diameter silinder pengirim.Teknik kriptografi seperti ini dikenal dengan nama tranposisi cipher, yang merupakan metode enkripsi tertua.

1.2. Tujuan Penulisan
Memenuhi tugas dari dosen mata kuliah keamanan data dan jaringan

1.3. Manfaat Penulisan
Agar materi ini bisa dipahami oleh mahasiswa IT karena ini termasuk materi yang paling penting dalam keamanan di bidang teknologi khususnya Teknik Informatika.





BAB II
PEMBAHASAN
2.1 Kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita (bruce Schneier - Applied Cryptography). Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan datakeabsahan data, integritas data, serta autentikasi data (A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography). Tidak semua aspek keamanan informasi ditangani oleh kriptografi.
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
1.    Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
2.    Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
3.     Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
4.    Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Beberapa istilah dalam dunia kriptografi:
1. Kriptografer: orang yang menggunakan enkripsi untuk merahasiakan pesan dan mendeskripsikannya           kembali.
2. Kriptanalis : orang yang mempelajari metode enkripsi dan cipherteks dengan tujuan menemukan plainteksnya.
3.    Kriptologi : studi mengenai kriptografi dan kriptanalis.

2.1.1 Algoritma Sandi
Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
1.    konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
2.    difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
Sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang / plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasiantara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D.
Enkripsi : E(P)=C
Dekripsi : D(C)=P atau D(E(P))=P

Jika cipherteks dilambangkan dengan C dan plainteks dilambangkan dengan P, maka fungsi enkripsi E memetakan P ke C,
            E (P) = C
Pada proses kebalikannya, fungsi deskripsi 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
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
1.    kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
2.    kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
1.    algoritma sandi klasik classic cryptography
2.    algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
1.    algoritma sandi kunci rahasia secret-key
2.    algoritma sandi kunci publik publik-key
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem kunci-asimetris digunakan sepasang kunci yang berbeda, umumnya disebut kunci publik(public key) dan kunci pribadi (private key), digunakan untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.

2.2 Kunci Publik Simetris
Kunci public simetris yaitu menggunakan menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi pesan.

Ada dua teknik dalam kriptografi enkripsi simetris: stream cipher dan block cipher.Stream cipher mengenkripsi satu per satu bit pesan dalam satu waktu, sedangkan block cipher mengambil sejumlah bit dan mengenkripsi mereka sebagai satu unit.Algoritma kunci simetris umumnya lebihcepat untuk dijalankan daripada algoritma kunci asimetris.Kerugian untuk algoritma kunci simetrisadalah persyaratan menggunakan kuncirahasia bersama. Kunci rahasia harusdipertukarkan antar pihak melalui saluranyang aman sebelum enkripsi dapat terjadi.

2.2.1 Data Encryption Standard (DES)
DES dikembangkan IBM pada tahun 1975,dan telah bertahan sangat baik terhadapkriptoanalisis selama bertahun-tahun.DES adalah algoritma enkripsi simetrisdengan panjang kunci yang tetap 56 bit.Algoritma ini masih bagus, tapi karenapanjang kunci pendek, maka rentan terhadapserangan brute force yang memiliki sumber daya yang cukup.DES biasanya beroperasi dalam modus blok,di mana mengenkripsi data dalam blok 64-bit. Algoritma dan kunci yang samadigunakan untuk enkripsi dan dekripsi.Karena DES didasarkan pada fungsi-fungsimatematika sederhana, maka dapat denganmudah diimplementasikan dalam hardware.Salah satu cara efektif untuk meningkatkanpanjang kunci DES tanpamengubahalgoritma itu sendiri adalah denganmenggunakan algoritma yang sama dengankunci yang berbeda beberapa kali berturut-turut. Menerapkan teknik DES tiga kali berturut-turutke blok teks biasa disebut Triple DES (3DES).

Ketika sebuah pesan yang akan dienkripsidengan 3DES, sebuah metode yang disebutEDE (Encrypt Decrypt Encrypt) digunakan.EDE metode yang dijelaskan dalam daftar berikut:
1.    Pesan dienkripsi dengan 56-bit kunci pertama, K1.
2.    Data didekripsi dengan kunci kedua 56-bit, K2.
3.    Data dienkripsi lagi dengan kunci ketiga 56-bit, K3.
Prosedur EDE menyediakan enkripsi dengan panjang kunci yang efektif 168 bit. Jika kunciK1 dan K3 adalah sama (seperti dalam beberapa implementasi), enkripsi yang kurang aman dengan panjang kunci 112 bit tercapai. Untuk mendekripsi pesan, harus menggunakan prosedur sebagai berikut,yang merupakan kebalikan dari metode Ede:
1.    Mendekripsi ciphertext dengan kunci K3
2.    Mengenkripsi data dengan kunci K2
3.    Akhirnya, mendekripsi data dengan kunci K1

2.2.Advanced Encryption Standard (AES)
Pada tanggal 2 Oktober 2000, The US National Institute of Standards andTechnology (NIST) mengumumkan pemilihan cipher Rijndael sebagai algoritma AES. Cipherini, dikembangkan oleh Joan Daemen danVincent Rijmen, memiliki panjang blok dan kunci yang variabel.Algoritma ini menetapkan caramenggunakan kunci dengan panjang 128,192, atau 256 bit untuk mengenkripsi blokdengan panjang 128, 192, atau 256 bit.
Kedua blok dan panjang kunci dapatdiperluas dengan mudah untuk kelipatan dari 32 bit.AES dipilih untuk menggantikan DES dan3DES karena mereka terlalu lemah (DES,dalam hal panjang kunci) atau terlalu lambat(3DES). AES lebih efisien dan lebih cepat,biasanya 5 kali dibandingkan dengan DESpada hardware yang sama. AES juga lebihcocok untuk throughput yang tinggi,terutama jika digunakan perangkat lunak enkripsi keseluruhan.

2.3 Kunci Publik Asimetris (gabungan kunci publik dan kunci privat)
Kunci public asimetris yaitu menggunakan menggunakan kunci publik untuk mengenkripsi pesan dan menggunakan kunci privat untuk mendekripsi pesan.

Sebuah algoritma kunci asimetris menggunakan sepasang kunci kriptografiyang berbeda untuk mengenkripsi danmendekripsi teks biasa. Dua kunci yang berhubungan secaramatematis. Sebuah pesan dienkripsi dengan algoritma menggunakan salah satu kunci,dan didekripsi oleh algoritma yang samadengan kunci yang lain.
Algoritma asimetris dirancang sedemikian rupa sehingga kunci untuk enkripsi berbedadengan kunci untuk dekripsi.Kunci untuk dekripsi tidak dapat dihitungdari kunci enkripsi (setidaknya tidak dalam jumlah waktu yang wajar) dan sebaliknya.Biasa panjang kunci untuk algoritmaasimetris berkisar 512-2.048 bit. Algoritma asimetris relatif lambat (hingga1000 kali lebih lambat dari algoritma simetris).Desain ini didasarkan pada masalah-masalah komputasi seperti pemfaktoran angka yangsangat besar, perhitungan logaritma diskritpada angka yang sangat besar.

2.3.1 Diffie-Hellman
Whitfield Diffie dan Martin Hellman mengembangkan algoritma Diffie-Hellman pada tahun 1976.Keamanan yang berasal dari sulitnya menghitung logaritma diskrit dari angka besar. Protokol yang memungkinkan dua penggunauntuk bertukar kunci rahasia melalui media yang tidak aman tanpa ada rahasia. Protokol memiliki dua parameter sistem, pdan g. Publik dan dapat digunakansemua orang. Parameter p adalah bilangan prima, dan parameter g (biasanya disebut generator) adalah integer yang lebihkecil dari p, tetapi dengan properti sebagai berikut: Untuk setiap bilangan n antara 1 danp, ada bilangan g * k yang berlaku bahwa n = gk mod p.

2.3.2 Rivest, Shamir, Adelman (RSA)
2.3.2.1 Sejarah
Rivest, Shamir, Adelman (RSA) adalahalgoritma kunci publik ditemukan oleh Ron Rivest, Adi Shamir, dan Len Adelman dan dipatenkan pada tahun 1977.Pada tahun 1978, Ron Rivest, Adi Shamir, dan Leonard Adleman yang merupakan tiga orang professor di MIT (Massachussets Institute of Technology), pertama kali mempublikasikan teori secret exponents yang diberi nama RSA (Rivest, Shamir, Adleman) yang merupakan suatu metode untuk memperoleh Digital Signatures dan Public-Key Cryptosystems.Hak Paten kedaluwarsa pada September 2000, dan algoritma ini sekarang beradadalam domain publik. Dibandingkan dengan algoritma lain, RSAadalah jauh lebih mudah untuk dipahami dan digunakan.
Algoritma RSA sangat fleksibel dan memilikipanjang kunci variabel di mana, jika perlu,kecepatan dapat dipertukarkan untuk tingkat keamanan.Kunci RSA biasanya 512-2.048 bit.Keamanan RSA didasarkan pada sulitnyamemfaktorkan bilangan yang sangat besar.Jika metode yang mudah untuk pemfaktoranini ditemukan, maka efektivitas dari RSA akan hancur.
Algoritma RSA adalah algoritma yang paling popular dari sekian banyak algoritma kriptografi kunci-publik yang pernah dibuat. Algoritma RSA didasarkan pada bukti bahwa menemukan bilangan prima yang cukup besar kemudian mengkalikannya lebih mudah dibandingkan memfaktorkan hasil dari perkalian dua buah bilangan prima tersebut untuk mendapatkan faktornya yang merupakan dua buah bilangan prima itu sendiri.
Algoritma RSA memiliki besaran-besaran sbagai berikut :
1. p dan q bilangan prima (rahasia)
2. n = p . q (tidak rahasia)
3. ф(n) = (p-1)(q-1) (rahasia)
4. e (kunci enkripsi) (tidak rahasia)
5. d (kunci dekripsi) (rahasia)
6. m (plainteks) (rahasia)
7. c (cipherteks) (tidak rahasia)

2.3.2.2 Perumusan Algoritma RSA
Algoritma RSA didasarkan pada teorema Euler yang menyatakan bahwa
a ф(n) ≡ 1 (mod n), dengan syarat :
a harus relative prima terhadap n
ф(n) = n (1 – 1/p1)(1 – 1/p2) … (1 – 1/pr), yang dalam hal ini p1,p2, …,pr adalah faktor prima dari n. ф(n) adalah fungsi yang menentukan berapa banyak dari bilangan-bilangan 1,2,3, …,n yang relative prima terhadap n.

2.3.2.3Deskripsi Algoritma RSA
Secara garis besar proses dari RSA terbagi ke dalam tiga buah proses, yaitu key generation, encryption, dan decryption
a) Key Generation (Pembangkit pasangan kunci)
Public key adalah kunci publik untuk setiap user dapat diperoleh melalui prosedur berikut:
1. Pilih dua buah bilangan prima sembarang, p dan q
2. Hitung n = p . q (sebaiknya p ≠ q, sebab jika p = q maka n = p2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n)
3. Hitung ф(n) = (p-1)(q-1)
4. Pilih kunci public, e, yang relative prima terhadap ф(n)
5. Bangkitkan kunci privat, yaitu e . d ≡ 1 (mod ф(n)). Perhatikan bahwa e . d ≡1 (mod ф(n)) ekivalen denagn e . d = 1 + kф(n), sehingga secara sederhana d dapat dihitung dengan d = (1 + kф(n)) / e
6. Nilai dari (e,n) adalah kunci publiknya dan (d,n) adalah kunci privatnya
b) Encryption (Enkripsi)
1. Ambil kunci publik pnerima pesan, e, dan modulus n
2. Nyatakan plainteks m menjadi blok-blok m1, m2, …sedemikian sehingga setiap blok mempresentasikan niali di dalam selang [0, n-1]
3. Setiap blok mi dienkripsi menjadi blok ci dengan rumus ci = mi e mod n
c) Decryption (Dekripsi)
Setiap blok cipherteks ci didekripsi kembali menjadi blok mi dengan rumus
mi = ci d mod n.


2.3.2.4Padding schemes
Padding schemes harus dibangun secara hati-hati sehingga tidak ada nilai dari m yang menyebabkan masalah keamanan. Sebagai contoh, jika kita ambil contoh sederhana dari penampilan ASCII dari m dan menggabungkan bit-bit secara bersama-sama akan menghasilkan n, kemudian pessan yang berisi ASCII tunggal karakter NUL(nilai numeris 0) akan menghasilkan n= 0, yang akan menghasilkan ciphertext 0 apapun itu nilai dari e dan Nyang digunakan. Sama halnya dengan karakter ASCII tunggal SOH (nilai numeris 1) akan selalu menghasilkan chiphertext 1.
Pada kenyataannya, untuk sistem yang menggunakan nilai e yang kecil, seperti 3, seluruh karakter tunggal ASCII pada pesan akan disandikan menggunakan skema yang tidak aman, dikarenakan nilai terbesar nadalah nilai 255, dan 2553 menghasilkan nilai yang lebih kecil dari modulus yang sewajarnya, maka proses dekripsi akan menjadi masalah sederhana untuk mengambil pola dasar dari ciphertext tanpa perlu menggunakan modulus N. Sebagai konsekuensinya, standar seperti PKCS didesain dengan sangat hati-hati sehingga membuat pesan asal-asalan dapat terenkripsi secara aman. Dan juga berdasar pada bagian Kecepatan, akan dijelaskan kenapa m hampir bukanlah pesan itu sendiri tetapi lebih pada message key yang dipilh secara acak.

2.3.2.5 Pengesahan pesan
RSA dapat juga digunakan untuk mengesahkan sebuah pesan. Misalkan Alice ingin mengirim pesan kepada Bob. Alice membuat sebuah hash value dari pesan tersebut, di pangkatkan dengan bilangan d dibagi N (seperti halnya pada deskripsi pesan), dan melampirkannya sebagai “tanda tangan” pada pesan tersebut. Saat Bob menerima pesan yang telah “ditandatangani”, Bob memangkatkan “tanda tangan” tersebut dengan bilangan e dibagi N (seperti halnya pada enkripsi pesan), dan membandingkannya dengan nilai hasil dari hash value dengan hash value pada pesan tersebut. Jika kedua cocok, maka Bob dapat mengetahui bahwa pemilik dari pesan tersebut adalah Alice, dan pesan pun tidak pernah diubah sepanjang pengiriman.
Padding scheme merupakan hal yang esensial untuk mengamankan pengesahan pesan seperti halnya pada enkripsi pesan, oleh karena itu kunci yang sama tidak digunakan pada proses enkripsi dan pengesahan.

2.3.2.6 Keamanan
Penyerangan yang paling umum pada RSA ialah pada penanganan masalah faktorisasi pada bilangan yang sangat besar. Apabila terdapat faktorisasi metode yang baru dan cepat telah dikembangkan, maka ada kemungkinan untuk membongkar RSA.
Pada tahun 2005, bilangan faktorisasi terbesar yang digunakan secara umum ialah sepanjang 663 bit, menggunakan metode distribusi mutakhir. Kunci RSA pada umumnya sepanjang 1024—2048 bit. Beberapa pakar meyakini bahwa kunci 1024-bit ada kemungkinan dipecahkan pada waktu dekat (hal ini masih dalam perdebatan), tetapi tidak ada seorangpun yang berpendapat kunci 2048-bit akan pecah pada masa depan yang terprediksi.
Semisal Eve, seorang eavesdropper, mendapatkan public key N dan e, dan ciphertext c. Bagimanapun juga, Eve tidak mampu untuk secara langsung memperoleh d yang dijaga kerahasiannya oleh Alice. Masalah untuk menemukan n seperti pada ne=c mod N di kenal sebagai permasalahan RSA.
Cara paling efektif yang ditempuh oleh Eve untuk memperoleh n dari c ialah dengan melakukan faktorisasi Nkedalam p dan q, dengan tujuan untuk menghitung (p-1)(q-1) yang dapat menghasilkan d dari e. Tidak ada metode waktu polinomial untuk melakukan faktorisasi pada bilangan bulat berukuran besar di komputer saat ini, tapi hal tersebut pun masih belum terbukti.
Masih belum ada bukti pula bahwa melakukan faktorisasi N adalah satu-satunya cara untuk memperoleh n dari c, tetapi tidak ditemukan adanya metode yang lebih mudah. Bagaimanapun juga, secara umum dianggap bahwa Eve telah kalah jika N berukuran sangat besar.Jika N sepanjang 256-bit atau lebih pendek, N akan dapat difaktorisasi dalam beberapa jam pada Personal Computer, dengan menggunakan perangkat lunak yang tersedia secara bebas. Jika N sepanjang 512-bit atau lebih pendek, N akan dapat difaktorisasi dalam hitungan ratusan jam seperti pada tahun 1999.
Secara teori, perangkat keras bernama TWIRL dan penjelasan dari Shamir dan Tromer pada tahun 2003 mengundang berbagai pertanyaan akan keamanan dari kunci 1024-bit. Santa disarankan bahwa N setidaknya sepanjang 2048-bit.Pada tahun 1993, Peter Shor menerbitkan Algoritma Shor , menunjukkan bahwa sebuah komputer quantum secara prinsip dapat melakukan faktorisasi dalam waktu polinomial, mengurai RSA dan algoritma lainnya. Bagaimanapun juga, masih terdapat pedebatan dalam pembangunan komputer quantum secara prinsip.

2.3.2.7 Pembangkitan kunci
Menemukan bilangan prima besar p dan q pada biasanya didapat dengan mencoba serangkaian bilangan acak dengan ukuran yang tepat menggunakan probabilitas bilangan prima yang dapat dengan cepat menghapus hampir semua bilangan bukan prima.
p dan q seharusnya tidak “saling-berdekatan”, agar faktorisasi fermat pada N berhasil. Selain itu pula, jika p-1 atau q-1 memeiliki faktorisasi bilangan prima yang kecil, N dapat difaktorkan secara mudah dan nilai-nilai dari patau q dapat diacuhkan.
Seseorang seharusnya tidak melakukan metoda pencarian bilangan prima yang hanya akan memberikan informasi penting tentang bilangan prima tersebut kepada penyerang. Biasanya, pembangkit bilangan acak yang baik akan memulai nilai bilangan yang digunakan. Harap diingat, bahwa kebutuhan disini ialah “acak” dan“tidak-terduga”. Berikut ini mungkin tidak memenuhi kriteria, sebuah bilangan mungkin dapat dipilah dari proses acak (misal, tidak dari pola apapun), tetapi jika bilangan itu mudah untuk ditebak atau diduga (atau mirip dengan bilangan yang mudah ditebak), maka metode tersebut akan kehilangan kemampuan keamanannya. Misalnya, tabel bilangan acak yang diterbitkan oleh Rand Corp pada tahun 1950-an mungkin memang benar-benar teracak, tetapi dikarenakan diterbitkan secara umum, hal ini akan mempermudah para penyerang dalam mendapatkan bilangan tersebut. Jika penyerang dapat menebak separuh dari digit p atau q, para penyerang dapat dengan cepat menghitung separuh yang lainnya (ditunjukkan oleh Donald Coppersmith pada tahun 1997).
Sangatlah penting bahwa kunci rahasia d bernilai cukup besar, Wiener menunjukkan pada tahun 1990 bahwa jikap diantara q dan 2q (yang sangat mirip) dan d lebih kecil daripada N1/4/3, maka d akan dapat dihitung secara effisien dari N dan e. Kunci enkripsi e = 2 sebaiknya tidak digunakan.

2.3.2.8 Kecepatan
RSA memiliki kecepatan yang lebih lambat dibandingkan dengan DES dan algoritma simetrik lainnya. Pada prakteknya, Bob menyandikan pesan rahasia menggunakan algoritma simetrik, menyandikan kunci simetrik menggunakan RSA, dan mengirimkan kunci simetrik yang dienkripsi menggunakan RSA dan juga mengirimkan pesan yang dienkripasi secara simetrik kepada Alice.
Prosedur ini menambah permasalahan akan keamanan. Singkatnya, Sangatlah penting untuk menggunakan pembangkit bilangan acak yang kuat untuk kunci simetrik yang digunakan, karena Eve dapat melakukan bypassterhadap RSA dengan menebak kunci simterik yang digunakan.

2.3.2.9 Distribusi kunci
Sebagaimana halnya cipher, bagaimana public key RSA didistribusi menjadi hal penting dalam keamanan. Distribusi kunci harus aman dari man-in-the-middle attack (penghadang-ditengah-jalan). Anggap Eve dengan suatu cara mampu memberikan kunci arbitari kepada Bob dan membuat Bob percaya bahwa kunci tersebut milik Alice. Anggap Eve dapan “menghadang” sepenuhnya transmisi antara Alice dan Bob. Eve mengirim Bob public key milik Eve, dimana Bob percaya bahwa public key tersebut milik Alice. Eve dapat menghadap seluruhciphertext yang dikirim oleh Bob, melakukan dekripsi dengan kunci rahasia milik Eve sendiri, menyimpan salinan dari pesan tersebut, melakukan enkripsi menggunakan public key milik Alice, dan mengirimkanciphertext yang baru kepada Alice. Secara prinsip, baik Alice atau Bob tidak menyadari kehadiran Eve diantara transmisi mereka. Pengamanan terhadap serangan semacam ini yaitu menggunakan sertifikat digital atau komponen lain dari infrastuktur public key.


2.3.2.10 Penyerangan waktu
Kocher menjelaskan sebuah serangan baru yang cerdas pada RSA di tahun 1995: jika penyerang, Eve, mengetahui perangkat keras yang dimiliki oleh Alice secara terperinci dan mampu untuk mengukur waktu yang dibutuhkan untuk melakukan dekripsi untuk beberapa ciphertext, Eve dapat menyimpulkan kunci dekripsi dsecara cepat. Penyerangan ini dapat juga diaplikasikan pada skema “tanda tangan” RSA.
Salah satu cara untuk mencegah penyerangan ini yaitu dengan memastikan bahwa operasi dekripsi menggunakan waktu yang konstan untuk setiap ciphertext yang diproses. Cara yang lainnya, yaitu dengan menggunakan properti multipikatif dari RSA. Sebagai ganti dari menghitung cd mod N, Alice pertama-tama memilih nilai bilangan acak r dan menghitung (rec)d mod N. Hasil dari penghitungan tersebut ialah rm mod N kemudian efek dari r dapat dihilangkan dengan perkalian dengan inversenya. Nilai baru dari r dipilih pada tiap ciphertext.
Dengan teknik ini, dikenal sebagai message blinding (pembutaan pesan), waktu yang diperlukan untuk proses dekripsi tidak lagi berhubungan dengan nilai dari ciphertext sehingga penyerangan waktu akan gagal.

2.3.2.11 Penyerangan ciphertext adaptive
Pada tahun 1998, Daniel Bleichenbacher menjelaskan penggunaan penyerangan ciphertext adaptive, terhadap pesan yang terenkripsi menggunakan RSA dan menggunakan PKCS #1 v1 padding scheme.
Dikarenakan kecacatan pada skema PKCS #1, Bleichenbacher mampu untuk melakukan serangkaian serangan terhadap implementasi RSA pada protokol Secure Socket Layer, dan secara potensial mengungkap kunci-kunci yang digunakan.
Sebagai hasilnya, para pengguna kriptografi menganjurkan untuk menggunakan padding schemeyang relatif terbukti aman seperti Optimal Asymmetric Encryption Padding, dan Laboratorium RSA telah merilis versi terbaru dari PKCS #1 yang tidak lemah terdapat serangan ini.

2.3.3 Pretty Good Privacy (PGP)
Pretty Good Privacy (PGP)adalah paketperangkat lunak yang awalnyadikembangkan oleh Philip R. Zimmermannkriptografi yang menyediakan rutin untuk emaildan penyimpanan file aplikasi. Hal inididasarkan pada protokol kriptografi yangada, dan dapat berjalan di banyak platform.PGP pesan menyediakan enkripsi, kompresi data, dan tanda tangan digital.

2.3.Hashing Algorithms
Hashing adalah salah satu mekanisme yangdigunakan untuk jaminan integritas data.Hashing didasarkan pada satu arah fungsimatematika, yang relatif mudah untukmenghitung, tetapi secara signifikan lebihsulit untuk dihitung balik.

2.3.5 Beberapa kegunaan dalam kehidupan sehari-hari
      1. Menjaga kerahasiaan data.
Dengan menggunakan metode enkripsi dan dekripsi, kriptografi kunci publik dapat digunakan untuk menjaga kerahasiaan data.
Algoritma: RSA, Rabin, ElGamal
      2. Tanda tangan digital
Tanda tangan digital dengan menggunakan algoritma kriptografi kunci publik digunakan untuk membuktikan otentikasi pesan maupun otentikasi pengirim.
Algoritma: RSA, ElGamal, DSA, GOST
      3. Pertukaran kunci
Algoritma kriptografi kunci publik dapat digunakan untuk pertukaran kunci simetri.
            Algoritma: Diffie-Hellman
Beberapa jenis algoritma kriptografi kunci publik dapat digunakan untuk ketiga macam kategori aplikasi (misalnya RSA), beberapa algoritma hanya ditujukan untuk aplikasi spesifik (misalnya DSA untuk digital signature).

2.3.6 Kelebihan dan kekurangan kunci publik
2.3.6.1 Kelebihan kriptografi Simetri
1. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.
2. Ukuran kunci simetri relatif pendek.
3. Algoritma kriptografi simetri dapat digunakan untuk membangkitkan bilangan acak.
4. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang lebih kuat.
5. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.
2.3.6.2 Kekurangan kriptografi Simetri
1. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga Kerahasiaan kunci ini.
2. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.
2.3.6.3 Kelebihan kriptografi Asimetri
1. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh seiap entitas yang berkomuniaksi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak ada kebutuhan mengirim kunci kunci privat sebagaimana pada system simetri.
2. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.
3. Dapat digunakan untuk mengamankan pengiriman kunci simetri.
4. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan.
2.3.6.4 Kekurangan kriptografi Asimetri
1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.
2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).
3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.
4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.
5. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block cipher). Kebanyakan algoritma mendasarkan keamanannya pada sulitnya memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dsb) yang menjadi dasar pembangkitan kunci.

2.Steganografi (kunci privat dan kunci privat)
Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis”.Kini, istilah steganografi termasuk penyembunyian data digital dalam berkas-berkas (file) komputer. Contohnya, si pengirim mulai dengan berkas gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang menyadarinya jika ia tidak benar-benar memperhatikannya).Pada umumnya, pesan steganografi muncul dengan rupa lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak terlihat di antara garis-garis yang kelihatan.
Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam berkas-berkas lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari berkas semula. Metode ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar.
Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan.Pada metode steganografi cara ini sangat berguna jika digunakan pada cara steganografi komputer karena banyak format berkas digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan di antaranya:
1.    Format image : bitmap (bmp), gif, pcx, jpeg, dll.
2.    Format audio : wav, voc, mp3, dll.
3.    Format lain : teks file, html, pdf, dll.
Kelebihan steganografi jika dibandingkan dengan kriptografi adalah pesan-pesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya.
Sebuah pesan steganografi (plaintext), biasanya pertama-tama dienkripsikan dengan beberapa arti tradisional, yang menghasilkan ciphertext. Kemudian, covertext dimodifikasi dalam beberapa cara sehingga berisi ciphertext, yang menghasilkan stegotext. Contohnya, ukuran huruf, ukuran spasi, jenis huruf, atau karakteristik covertext lainnya dapat dimanipulasi untuk membawa pesan tersembunyi; hanya penerima (yang harus mengetahui teknik yang digunakan) dapat membuka pesan dan mendekripsikannya.

2.4.1 Metode Steganografi
Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung berkas.
Sebuah program steganografi dibutuhkan untuk melakukan hal-hal berikut (baik implisit melalui suatu perkiraan maupun eksplisit melalui sebuah perhitungan), menemukan kelebihan bits dalam selubung file yang dapat digunakan untuk menyelubungi pesan rahasia didalamnya, memilih beberapa diantaranya untuk digunakan dalam menyelubungi data dan penyelubungan data dalam bits dipilih sebelumnya.Ada empat jenis metode Steganografi, yaitu:

1.    Least Significant Bit Insertion (LSB)
Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Pada berkas bitmap 24 bit, setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian, pada setiap pixel berkas bitmap 24 bit kita dapat menyisipkan 3 bit data.
Kekurangan dari LSB Insertion: Dapat diambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis mengubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover image menjadistego image, sehingga tanda tersebut menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression (pemampatan).Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan).

2.    Algorithms and Transformation
Algoritma compression adalah metode steganografi dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine Transformation (DCT) dan Wavelet Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).

3.    Redundant Pattern Encoding
Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan). Kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar.

4.    Spread Spectrum method
Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypted) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image (gambar).

2.4.Steganalisis dan Stegosystem
Seperti Kriptografi dan Kriptanalisis, Steganalisis didefinisikan sebagai suatu seni dan ilmu dalam mendeteksi informasi tersembunyi. Sebagai tujuan dari steganografi adalah untuk merahasiakan keberadaan dari sebuah pesan rahasia, satu keberhasilan penyerangan pada sebuah sistem steganografi terdiri dari pendeteksian bahwa sebuah berkas yang diyakini berisikan data terselubung. Seperti dalam Kriptanalisis, diasumsikan bahwa sistem steganografi telah diketahui oleh si penyerang. Maka dari itu, keamanan dari sistem steganografi bergantung hanya pada fakta bahwa kunci rahasia tidak diketahui oleh si penyerang.Stegosystem di sini berisi tentang penyerangan-penyerangan yang dilakukan terhadap suatu sistem steganografi, sebuah perbedaan penting harus dibuat di antara penyerangan-penyerangan pasif di mana penyerang hanya dapat memotong data, dan penyerangan-penyerangan aktif di mana penyerang juga dapat memanipulasi data.
Penyerangan-penyerangan berikut memungkinkan dalam model dari stegosistem ini:
1.    Stego-Only-Attack (Penyerangan hanya Stego). Penyerang telah menghalangi stego data dan dapat menganalisisnya.
2.    Stego-Attack (Penyerangan Stego). Pengirim telah menggunakan cover yang sama berulangkali untuk data terselubung. Penyerang memiliki berkas stego yang berasal dari cover file yang sama. Dalam setiap berkas stego tersebut, sebuah pesan berbeda disembunyikan.
3.    Cover-Stego-Attack (Penyerangan selubung Stego). Penyerang telah menghalangi berkas stego dan mengetahui cover file mana yang digunakan untuk menghasilkan berkas stego ini. Ini menyediakan sebuah keuntungan melalui penyerangan stego-only untuk si penyerang.
4.    Manipulating the stego data (Memanipulasi data stego). Penyerang memiliki kemampuan untuk memanipulasi data stego. Jika penyerang hanya ingin menentukan sebuah pesan disembunyikan dalam berkas stego ini, biasanya ini tidak memberikan sebuah keuntungan, tapi memiliki kemampuan dalam memanipulasi data stego yang berarti bahwa si penyerang mampu memindahkan pesan rahasia dalam data stego (jika ada).
5.    Manipulating the cover data (Memanipulasi data terselubung). Penyerang dapat memanipulasi data terselubung dan menghalangi hasil data stego. Ini dapat membuat tugas dalam menentukan apakah data stego berisikan sebuah pesan rahasia lebih mudah bagi si penyerang.

2.4.3 Private-key cryptosystem
UNP (CIO) – Penggunaan satu kunci ini membuat sistem pengamanan data tadi disebut private-key cryptosystem, atau sistem kriptografi berbasis kunci privat. Penekanan ada pada kata “privat”, dimana kunci ini harus dirahasiakan, privat. Selain itu sistem ini juga disebut symmetric cryptosystem, atau sistem kriptografi simetris karena kunci yang dipakai untuk proses enkripsi sama dengan kunci yang digunakan pada proses dekripsi. Simetris. Dalam aplikasinya, sistem kripto kunci privat ini memiliki beberapa masalah, terutama masalah pertama adalah kesulitan dalam distribusi kunci (Key Distribution Problem.), karena itu metode ini jarang digunakan.




BAB III
PENUTUP
Kesimpulan dan Saran
Sejak dikembangkannya kriptografi kunci publik, selalu timbul pertanyaan mana yang lebih baik antara kripto kunci publik dengan kripto kunci privat. Para pakar kriptografi mengatakan bahwa keduanya tidak dapat dibandingkan karena mereka memecahkan masalah dalam domain yangberbeda. Kriptografi kunci privat (simetrik) merupakan hal yang   terbaik untuk mengenkripsi data. Kecepatannya dan keamanan akan choosenciphertext attack merupakan kelebihannya. Sementara itu kriptografi dengan menggunakan kunci publik dapat melakukan hal-hal lain lebih baik, misalnya dalam hal key management.









DAFTAR PUSTAKA

http://id.wikipedia.org/wiki/Kriptografi, diakses pada tanggal 25 oktober 2014
http://id.wikipedia.org/wiki/Steganografidiakses pada tanggal 27 oktober 2014
http://roniamardi.wordpress.com/cryptografi/diakses pada tanggal 30 oktober 2014



Komentar