Senin, 31 Oktober 2011

Nama : Reni Afini
No BP : 0901092034
Kelas : MI 3 B


Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan 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.

Sejarah dan Pengertian Kriptografi, Berasal dari akar kata Yunani kryptos dan gráphō, yang mempunyai arti "tulisan tersembunyi", telah ada hampir sepanjang kata-kata tertulis. Sepanjang masa, keuntungan dalam pertempuran antara ahli kriptologi (pembuat kode) dan cryptanalysts (pemecah kode) telah berpindah tangan berkali-kali. Peristiwa berikut ini adalah beberapa yang paling penting dalam sejarah perkembangan kriptografi.





Abad ke-5 SM - Digunakannya kriptografi oleh Jendral Spartan untuk bertukar pesan rahasia menggunakan pita sempit membungkus perkamen sekitar staf silinder dikenal sebagai scytale, kemudian menyalin pesan mereka pada papirus. Pesan hanya dapat dibaca saat papirus adalah ulang luka di sekitar scytale ketebalan yang sama. Ini adalah penggunaan yang tercatat paling awal apa yang sekarang dikenal sebagai cipher transposisi.

Abad ke-2 SM - Sejarawan Polybius Yunani mengembangkan salah satu yang paling awal tercatat yaitu cipher substitusi dengan mengganti huruf-huruf alfabet, disusun dalam Polybius persegi, dengan angka.

Abad ke-1 SM - jenderal Romawi menggunakan cipher pergeseran sederhana, di mana setiap huruf dari pesan plaintext akan bergeser jumlah tetap huruf dalam alfabet untuk menghasilkan ciphertext. Sandi kemudian dikenal sebagai sandi Caesar setelah Julius Caesar, yang konon lebih suka pergeseran dari tiga huruf.


Abad ke-9 - matematikawan Islam Yaqūb bin Yusuf Abu Ishaq al-Kindi menerbitkan buku teks pertama memecahkan kode, A Manuscript on Deciphering Cryptographic Messages. Al-Kindi memperkenalkan buku klasifikasi cipher, polyalphabetic sandi, dan analisis frekuensi, teknik penting yang digunakan dalam memecahkan cipher substitusi. Analisis frekuensi menggunakan frekuensi relatif simbol dalam pesan berkode untuk mengungkapkan apa huruf alfabet.


Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
• 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.
• 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.
• 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.
• Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya
penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang
mengirimkan/membuat.

Algoritma Sandi
algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon):
• konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk
direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
• 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 transformasi antara 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

Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
• kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional
karena umumnya diterapkan pada algoritma sandi klasik
• kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
• algoritma sandi klasik classic cryptography
• algoritma sandi modern modern cryptography

Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
• algoritma sandi kunci rahasia secret-key
• 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-asimentris 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.

Kunci (kriptografi)
Dalam kriptografi, kunci adalah suatu informasi yang mengendalikan jalannya sebuah algoritma kriptografi. Dalam enkripsi, kunci memberikan cara khusus bagaimana suatu algoritma mentransformasikan teks terang (plaintext) menjadi teks tersandi (ciphertext), ataupun proses sebaliknya (disebut dekripsi). Teks tersandi dapat diubah menjadi teks terang, jika sang pembaca mengetahui algoritma yang digunakan, dan memiliki kunci yang benar. Dengan kata lain, lunci bertindak sebagai suatu password dalam algoritma tersebut. Selain enkripsi, kunci juga digunakan pada algoritma kriptografi lainnya, seperti tanda tangan digital dan kode otentikasi pesan.

Dapat kita lihat pada tabel di atas bahwa peningkatan jumlah kunci meledak secara eksponensial. (Dari rumus pun dapat dilihat bahwa jumlah kunci merupakan hasil kuadrat dari n.) Dengan hanya seratus ribu pengguna saja, sudah ada lima (5) milyar kunci. Padahal jumlah pengguna Internet sangat

Jumlah Kunci dan Pengguna
Jumlah Pengguna (n) Jumlah Kunci
10 45
100 4950
1000 499.500
10.000 49.995.00
100.000 5 milyar

algoritma sandi kunci-simetris
Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-cipher.

Block-Cipher
Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci. Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
• ECB, Electronic Code Book
• CBC, Cipher Block Chaining
• OFB, Output Feed Back
• CFB, Cipher Feed Back

Stream-Cipher
Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit(saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.

Algoritma-algoritma sandi kunci-simetris
Beberapa contoh algoritma yang menggunakan kunci-simetris:
• DES - Data Encryption Standard
• blowfish
• twofish
• MARS
• IDEA
• 3DES - DES diaplikasikan 3 kali
• AES - Advanced Encryption Standard, yang bernama asli rijndael

Algoritma Sandi Kunci-Asimetris
Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. Dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.

Fungsi Enkripsi dan Dekripsi Algoritma Sandi Kunci-Asimetris
Apabila Ahmad dan Bejo hendak bertukar berkomunikasi, maka:
1. Ahmad dan Bejo masing-masing membuat 2 buah kunci
a. Ahmad membuat dua buah kunci, kunci-publik dan kunci-privat
b. Bejo membuat dua buah kunci, kunci-publik dan kunci-privat

2. Mereka berkomunikasi dengan cara:
a. Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan dari Ahmad,
dan Ahmad mendapatkan dari Bejo.
b. Ahmad mengenkripsi teks-terang ke Bejo dengan fungsi
c. Ahmad mengirim teks-sandi ke Bejo
d. Bejo menerima dari Ahmad dan membuka teks-terang dengan fungsi

Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad
1. Bejo mengenkripsi teks-terang ke Ahmad dengan fungsi
2. Ahmad menerima dari Bejo dan membuka teks-terang dengan fungsi

Algoritma -Algoritma Sandi Kunci-Asimetris
• Knapsack
• RSA - Rivert-Shamir-Adelman
• Diffie-Hellman

Fungsi Hash Kriptografis
Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi hash adalah fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash.



Sifat-Sifat Fungsi Hash Kriptografi
• Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit
(secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m).
• Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka
sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) =
hash(m2).
• Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan m2
yang menyebabkan hash(m1) = hash(m2)

Sabtu, 29 Oktober 2011