Tuesday, October 2, 2012

Algoritma Kriptografi Modern

 
Kriptografi modern menggunakan gagasan dasar yang sama seperti kriptografi klasik (permutasi dan transposisi) tetapi penekanannya berbeda. Pada kriptografi klasik, kriptografer menggunakan algoritma yang sederhana, yang memungkinkan cipherteks dapat dipecahkan dangan mudah (melalui penggunaan statistik, terkaan, intuisi, dsb). Algoritma kriptografi modern dibuat sedemikian kompleks sedemikian sehingga kriptanalis sangat sulit memecahkan cipherteks tanpa mengetahui kunci.
Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter. Operasi dalam mode bit berarti semua data dan informasi (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian bit yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit, demikian sebaliknya.

Kategori Cipher Kunci-Simetri
Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini pengirim maupun penerima memiliki kunci yang sama. Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori:
  1. Cipher aliran (stream cipher)
Algoritma kiptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit setiap kali.

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)



  1. Cipher blok(block cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit dalam pengkodean ASCII). Cipher blok mengenkripsi satu blok bit setiap kali.
  • Pada cipher blok, rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama, biasanya 64 bit (tapi adakalanya lebih). Algoritma enkripsi menghasilkan blok cipherteks yang – pada kebanyakan sistem kriptografi simetri – berukuran sama dengan blok plainteks.
  • Dengan blok cipher, blok plainteks yang sama akan dienkripsi menjadi blok cipherteks yang sama bila digunakan kunci yang sama pula. Ini berbeda dengan cipher aliran dimana bit-bit plainteks yang sama akan dienkripsi menjadi bit-bit cipherteks yang berbeda setiap kali dienkripsi.
  • Misalkan blok plainteks (P) yang berukuran m bit dinyatakan sebagai vektor
P = (p1, p2, …, pm)
yang dalam hal ini pi adalah 0 atau 1 untuk i = 1, 2, …, m, dan blok cipherteks (C) adalah
C = (c1, c2, …, cm)
yang dalam hal ini ci adalah 0 atau 1 untuk i = 1, 2, …, m.
Bila plainteks dibagi menjadi n buah blok, barisan blok-blok plainteks dinyatakan sebagai
(P1, P2, …, Pn)
Untuk setiap blok plainteks Pi, bit-bit penyusunnya dapat dinyatakan sebagai vektor
Pi = (pi1, pi2, …, pim)
  • Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan persamaan
EK(P) = C
untuk enkripsi, dan
DK(C) = P
Fungsi E haruslah fungsi yang berkoresponden satu-ke-satu, sehingga
E-1 = D
Skema enkripsi dan dekripsi dengan cipher blok digambarkan pada Gambar 1.
Enkripsi: Dekripsi:
Blok Plainteks P Blok Cipherteks CA
P = (p1, p2, …, pm) C = (c1, c2, …, cm)
Kunci K E Kunci K D
Blok Cipherteks C Blok Plainteks P
C = (c1, c2, …, cm) P = (p1, p2, …, pm)
Gambar 1 Skema enkripsi dan dekripsi pada cipher blok

Block-Cipher

Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
  • ECB (Eectronic Code Book)
  • CBC (Cipher Block Chaining)
  • OFB (Output Feed Back)
  • CFB (Cipher Feed Back)


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)

Algoritma-Algoritma Fungsi Hash Kriptografi

Beberapa contoh algoritma fungsi hash Kriptografi:
  1. MD4
  2. MD5
  3. SHA-0
  4. SHA-1
  5. SHA-256
  6. SHA-512 

KRIPTOGRAFI

Pengertian Dasar
Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment.
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 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.
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.
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.

Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.
Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :
EK (M)= C (Proses Enkripsi)
DK (C)= M Proses (Dekripsi)
Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.
Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.

Cryptographic system (cryptosystem)
Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kunci. Secara umum cryptosystem dapat digolongkan menjadi dua buah, yaitu :
  1. Symmetric Cryptosystem
Dalam symmetric cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci yang lainnya. Kunci-kunci ini harus dirahasiakan. Oleh karena itulah sistem ini sering disebut sebagai secret-key ciphersystem. Jumlah kunci yang dibutuhkan umumnya adalah :
nC2=n.(n-1) / 2
dengan n menyatakan banyaknya pengguna. Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.

  1. Assymmetric Cryptosystem
Dalam assymmetric cryptosystem ini digunakan dua buah kunci. Satu kunci yang disebut kunci publik (public key) dapat dipublikasikan, sedang kunci yang lain yang disebut kunci privat (private key) harus dirahasiakan. Proses menggunakan sistem ini dapat diterangkan secara sederhana sebagai berikut : bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendekripsikan surat itu dengan kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat tersebut, karena adanya mekanisme ini. Contoh sistem ini antara lain RSA Scheme dan Merkle-Hellman Scheme.
Setiap cryptosytem yang baik harus memiliki karakteristik sebagai berikut :
  • Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang digunakan.
  • Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
  • Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam seluruh tes statistik yang dilakukan terhadapnya.
  • Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal sebelumnya
Namun demikian perlu diperhatikan bahwa bila suatu cryptosystem berhasil memenuhi seluruh karateristik di atas belum tentu ia merupakan sistem yang baik. Banyak cryptosystem lemah yang terlihat baik pada awalnya. Kadang kala untuk menunjukkan bahwa suatu cryptosystem kuat atau baik dapat dilakukan dengan menggunakan pembuktian matematika.
Hingga saat ini masih banyak orang yang menggunakan cryptosystem yang relatif mudah dibuka, alasannya adalah mereka tidak mengetahui sistem lain yang lebih baik serta kadang kala terdapat motivasi yang kurang untuk menginvestasikan seluruh usaha yang diperlukan untuk membuka suatu sistem.

Cryptographic Protokol
Pengertian
Suatu protokol adalah serangkaian langkah yang melibatkan dua pihak atau lebih dan dirancang untuk menyelesaikan suatu tugas. Dari definisi ini dapat diambil beberapa arti sebagai berikut :
  • protokol memiliki urutan dari awal hingga akhir;
  • setiap langkah harus dilaksanakan secara bergiliran;
  • suatu langkah tidak dapat dikerjakan bila langkah sebelumnya belum selesai;
  • diperlukan dua pihak atau lebih untuk melaksanakan protokol;
  • protokol harus mencapai suatu hasil;
Selain itu, suatu protokol pun memiliki karakteristik yang lain, yaitu :
  • setiap orang yang terlibat dalam protokol harus mengetahui terlebih dahulu mengenai protokol dan seluruh langkah yang akan dilaksanakan;
  • setiap orang yang terlibat dalam protokol harus menyetujui untuk mengikutinya;
  • protokol tidak boleh menimbulkan kerancuan;
  • protokol harus lengkap;
Cryptographic protocol adalah suatu protokol yang menggunakan kriptografi. Protokol ini melibatkan sejumlah algoritma kriptografi, namun secara umum tujuan protokol lebih dari sekedar kerahasiaan. Pihak-pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random, atau pun menandatangani kontrak secara bersamaan. Penggunaan kriptografi dalam sebuah protokol terutama ditujukan untuk mencegah atau pun mendeteksi adanya eavesdropping dan cheating.
Fungsi Protokol
Dalam kehidupan kita sehari-hari terdapat banyak sekali protokol tidak resmi, misalnya saja dalam permainan kartu, pemungutan suara dalam pemilihan umum. Akan tetapi tidak ada seorang pun yang memikirkan mengenai protokol-protokol ini, protokol-protokol ini terus berkembang, semua orang mengetahui bagaimana menggunakannya.
Saat ini, semakin banyak interaksi antar manusia dilakukan melalui jaringan komputer. Komputer ini tentu saja memerlukan suatu protokol formal agar dapat melakukan hal yang biasa dilakukan manusia tanpa berpikir. Bila kita berpindah dari satu daerah ke daerah lain dan mengetahui bahwa kartu pemilihan suaranya berbeda dengan yang biasa kita gunakan, kita dapat beradaptasi dengan mudah. Akan tetapi kemampuan ini belum dimiliki oleh komputer, sehingga diperlukan suatu protokol.
Protokol digunakan untuk mengabtraksikan proses penyelesaian suatu tugas dari mekanisme yang digunakan. Protokol komunikasi adalah sama meskipun diimplementasikan pada PC atau VAX. Bila kita yakin bahwa kita memiliki protokol yang baik, kita dapat mengimplementasikannya dalam segala benda mulai dari telepon hingga pemanggang roti cerdas.
Penyerangan terhadap protokol
Penyerangan cryptographic dapat ditujukan pada beberapa hal berikut :
  • algoritma cryptographic yang digunakan dalam protokol;
  • teknik cryptographic yang digunakan untuk mengimplementasikan algoritma dan protokol;
  • protokol itu sendiri;
Seseorang dapat mencoba berbagai cara untuk menyerang suatu protokol. Mereka yang tidak terlibat dalam protokol dapat menyadap sebagian atau seluruh protokol. Tindakan ini disebut penyerangan pasif, karena si penyerang tidak mempengaruhi atau mengubah protokol, ia hanya mengamati protokol dan berusaha untuk memperoleh informasi.
Selain itu, seorang penyerang dapat berusaha untuk mengubah protokol demi keuntungannya sendiri. Ia dapat mengirimkan pesan dalam protokol, menghapus pesan, atau bahkan mengubah informasi yang ada di dalam suatu komputer. Tindakan-tindakan ini disebut sebagai penyerangan aktif, karena ia membutuhkan suatu campur tangan aktif.
Seorang penyerang tidaklah hanya berasal dari lingkungan luar protokol, namun ia mungkin juga berasal dari dalam protokol itu sendiri, ia dapat merupakan salah satu pihak yang terlibat dalam protokol. Tipe penyerang semacam ini disebut sebagai cheater. Passive cheater mengikuti protokol, tetapi berusaha memperoleh informasi lebih banyak daripada yang diperbolehkan protokol bagi dirinya. Active cheater mengubah protokol dalam usahanya untuk berbuat curang.
Usaha untuk menjaga keamanan protokol akan semakin sulit apabila pihak-pihak yang terlibat umumnya merupakan active cheater, oleh karena itu suatu protokol yang baik harus mampu atau pun harus aman terhadap kemungkinan passive cheating.
Berbagai macam basic cryptanalytic attacks
Tujuan cryptanalytic attack adalah untuk mengetahui beberapa plaintext yang sesuai dengan ciphertext yang ada dan berusaha menentukan kunci yang memetakan satu dengan yang lainnya. Plaintext ini dapat diketahui karena ia merupakan standar atau karena pendugaan. Jika suatu teks diduga berada di dalam suatu pesan, posisinya mungkin tidak diketahui, tetapi suatu pesan lazimnya cukup pendek sehingga memungkinkan cryptanalyst menduga plaintext yang diketahui dalam setiap posisi yang mungkin dan melakukan penyerangan pada setiap kasus secara paralel.
Suatu algoritma enkripsi yang kuat tidak hanya mampu bertahan terhadap serangan plaintext yang dikenal tetapi juga mampu bertahan terhadap adaptive chosen plaintext. Dalam penyerangan ini, cryptanalyst berkesempatan memilih plaintext yang digunakan dan dapat melakukannya secara berulang kali, memilih plaintext untuk tahap N+1 setelah menganalisis hasil tahap N.
Yang dimaksud cryptanalytic attacks adalah usaha-usaha yang dilakukan seseorang untuk memperoleh informasi ataupun data yang telah dienkripsi. Secara ringkas terdapat tujuh macam basic cryptanalytic attacks berdasarkan tingkat kesulitannya bagi penyerang, dimulai dari yang paling sulit adalah :
  • Ciphertext-only attack. Dalam penyerangan ini, seorang cryptanalyst memiliki ciphertext dari sejumlah pesan yang seluruhnya telah dienkripsi menggunakan algoritma yang sama.
  • Known-plaintext attack. Dalam tipe penyerangan ini, cryptanalyst memiliki akses tidak hanya ke ciphertext sejumlah pesan, namun ia juga memiliki plaintext pesan-pesan tersebut.
  • Chosen-plaintext attack. Pada penyerangan ini, cryptanalyst tidak hanya memiliki akses atas ciphertext dan plaintext untuk beberapa pesan, tetapi ia juga dapat memilih plaintext yang dienkripsi.
  • Adaptive-chosen-plaintext attack. Penyerangan tipe ini merupakan suatu kasus khusus chosen-plaintext attack. Cryptanalyst tidak hanya dapat memilih plaintext yang dienkripsi, ia pun memiliki kemampuan untuk memodifikasi pilihan berdasarkan hasil enkripsi sebelumnya. Dalam chosen-plaintext attack, cryptanalyst mungkin hanya dapat memiliki plaintext dalam suatu blok besar untuk dienkripsi; dalam adaptive-chosen-plaintext attack ini ia dapat memilih blok plaintext yang lebih kecil dan kemudian memilih yang lain berdasarkan hasil yang pertama, proses ini dapat dilakukannya terus menerus hingga ia dapat memperoleh seluruh informasi.
  • Chosen-ciphertext attack. Pada tipe ini, cryptanalyst dapat memilih ciphertext yang berbeda untuk didekripsi dan memiliki akses atas plaintext yang didekripsi.
  • Chosen-key attack. Cryptanalyst pada tipe penyerangan ini memiliki pengetahuan tentang hubungan antara kunci-kunci yang berbeda.
  • Rubber-hose cryptanalysis. Pada tipe penyerangan ini, cryptanalyst mengancam, memeras, atau bahkan memaksa seseorang hingga mereka memberikan kuncinya.
Analisis berbagai tipe penyerangan secara matematis
Suatu penyerangan pasif atas cryptosystem adalah semua metode untuk mengungkapkan informasi tentang plaintext dan ciphertextnya dengan tanpa mengetahui kunci. Secara matematis :
Diberikan fungsi F, G, dan H yang terdiri dari n variabel.
Diberikan sistem enkripsi E.
Diberikan suatu distribusi plaintext dan kunci.
Suatu penyerangan atas E dengan menggunakan G dengan mengasumsikan F membagi H dengan probabilitas p adalah suatu algoritma A dengan sepasang input f,g dan satu buah output h sedemikian hingga terdapat probabilitas p atas h = H(P1, …, Pn), jika kita memiliki f = F(P1, …, Pn) dan g = G(EK(P1), …, EK(Pn)). Perlu diperhatikan bahwa probabilitas ini tergantung pada distribusi vektor-vektor (K,P1,…,Pn).
Penyerangan akan merupakan suatu trivial bila terdapat probabilitas paling sedikir p untuk h = H(P1, …, Pn) jika f = F (P1,…,Pn) dan g = G (C1,…,Cn). Di sini C1,…,Cn terletak pada ciphertext yang mungkin, dan tidak memiliki hubungan tertentu dengan P1,…,Pn. Dengan kata lain, suatu serangan akan merupakan trivial bila ia tidak benar-benar menggunakan enkripsi EK(P1),…,EK(Pn).
Dengan merumuskan penyerangan secara matematis, kita dapat secara tepat memformulasikan dan bahkan membuktikan pernyataan bahwa suatu cryptosystem itu kuat. Kita katakan, sebagai contoh, bahwa suatu cryptosystem adalah aman terhadap seluruh penyerangan pasif jika sembarang penyerangan nontrivial terhadapnya tidak praktis. Jika kita dapat membuktikan pernyataan ini maka kita akan memiliki keyakinan bahwa cryptosystem kita akan bertahan terhadap seluruh teknik cryptanalytic pasif. Jika kita dapat mereduksi pernyataan ini hingga pada beberapa masalah yang tidak terpecahkan maka kita masih tetap memiliki keyakinan bahwa cryptosystem kita tidak mudah dibuka.
Ciphertext-only attack
Dengan menggunakan notasi di atas, suatu ciphertext-only attack adalah suatu penyerangan dengan F adalah konstanta. Diberikan hanya beberapa informasi G(EK(P1),..EK(Pn)) tentang n ciphertext, penyerangan harus memiliki kesempatan menghasilkan beberapa informasi H(P1,…,Pn) tentang plaintext. Penyerangan akan merupakan suatu trivial bila ia hanya menghasilkan H(P1,…,Pn) ketika diberikan G(C1,…,Cn) untuk C1,…,Cn acak.
Sebagai contoh, misalkan G ( C ) = C dan misalkan H(P) adalah bit pertama P. Kita dapat secara mudah menulis suatu penyerangan, pendugaan, yang menduga bahwa H(P) adalah 1. Penyerangan ini adalah trivial karena tidak menggunakan ciphertext, probabilitas keberhasilannya adalah 50 %. Di lain pihak, terdapat penyerangan atas RSA yang memproduksi satu bit informasi tentang P, dengan probabilitas keberhasilan 100 %, menggunakan C. Jika diberikan suatu C acak maka tingkat kesuksesan turun menjadi 50%. Inilah yang disebut penyerangan nontrivial.
Known-plaintext attack
Penyerangan known-plaintext klasik memiliki F(P1,P2) = P1, G(C1,C2) = (C1,C2), dan H(P1,P2) tergantung hanya pada P2. Dengan kata lain, bila diberikan dua ciphertext C1 dan C2 dan satu dekripsi P1, penyerangan known-plaintext seharusnya menghasilkan informasi tentang dekripsi P2.
Brute-force attack
Umpamakan penyerangan known-plaintext berikut. Kita diberikan sejumlah plaintext P1,…,Pn-1 dan ciphertext C1,…,Cn-1. Kita juga diberikan sebuah ciphertext Cn. Kita jalankan seluruh kunci K. Bila kita temukan K sedemikian sehingga EK(P1) = Ci untuk setiap IK
(Cn).
Jika n cukup besar sehingga hanya satu kunci yang bekerja, penyerangan ini akan sukses untuk seluruh input yang valid pada setiap waktu, sementara ia akan menghasilkan hasil yang tepat hanya sekali untuk input acak. Penyerangan ini adalah nontrivial, masalahnya ia sangat lambat bila terdapat banyak kemungkinan kunci. 

sumber : http://indah4yu.wordpress.com/

Cara Kerja Transfer Data Komunikasi data


cara kerja transfer data komunikasi data yang dilakukan oleh:
1.                 Surat Elektronik (Electronic Mail)
2.                 Bank Teller Terminal (ATM)
3.                 Credit Checking System
4.                 Hotel  Reservation System
5.                 Traffic Control System
6.                 Police Emergency System
7.                 Airline Seat Reservation System


1. Surat Elektronik (Electronic Mail) 

Email adalah aplikasi yang memungkinkan para pengguna internet untuk saling berkirim pesan melalui alamat elektronik di internet.Email dari mulai ditulis, dikirim, hingga diterima dan dibaca semuanya ditangani secara elektronis. Umumnya email dibuat (atau ditulis) menggunakan Mail User Agent (MUA) lebih umum dikenal sebagai Email client), kemudian proses pengiriman ditangani oleh Mail Transfer Agent (MTA) yang sering juga disebut sebagai mail server. MUA juga digunakan untuk membuka dan membaca email kembali.
Metode pengiriman E-mail
Untuk mengirim surat elektronik kita memerlukan suatu program mail-client. Surat elektronik yang kita kirim akan melalui beberapa poin sebelum sampai di tujuan. Untuk lebih jelasnya lihat diagram dibawah. Contoh yang dipakai adalah layanan SMTP dan POP3.
Saya menulis surel → e-mail client (di komputer saya) → SMTP server penyedia e-mail saya → Internet → POP3 server penyedia e-mail penerima → e-mail client (di komputer si penerima) → surat dibaca si penerima
Terlihat surat elektronik yang terkirim hanya melalui 5 poin (selain komputer pengirim dan penerima). Sebenarnya lebih dari itu sebab setelah surat elektronik meninggalkan POP3 Server maka itu akan melalui banyak server-server lainnya. Tidak tertutup kemungkinan surat elektronik yang kita kirim disadap orang lain. Maka dari itu bila surat elektronik yang kita kirim mengandung isi yang sensitif sebaiknya kita melakukan tindakan pencegahan, dengan mengacak (enkrip) data dalam surat elektronik tersebut (contohnya menggunakan PGP, sertifikat digital, dan lain-lain).
2.  Bank Teller Terminal (ATM)

Cara kerja mesin ATM sangat sederhana dan mudah. Jika kita ingin bertransaksi menggunakan ATM, kita  hanya tinggal memasukkan kartu ATM ke dalam mesin. Setelah kartu ATM dimasukkan kedalam mesin, maka kartu akan dibaca oleh magnetic card reader yang ada didalam mesin. Fungsi dari magnetic card reader adalah sebagai pembaca dan penerima data. Setelah data dibaca, lalu data tersebut dikirim ke sistem komputerisasi bank. Saat mesin berhasil membaca data dalam kartu ATM , maka mesin akan meminta nomor PIN (Personal Identification Number). PIN ini tidak terdapat di dalam kartu ATM melainkan kita  harus memasukkannya sendiri,Kemudian setelah kita memasukkan PIN, maka data PIN tersebut akan diacak (di-encrypt) dengan rumus tertentu dan dikirim ke sistem komputerasi di bank yang bersangkutan. Pengacakan data PIN ini dimaksudkan agar data-data kita tidak bisa terbaca oleh pihak lain.Setelah data-data selesai diproses di sistem komputer bank, maka data-data akan dikirim kembali ke ATM. Dan kita akan mendapatkan apa yang kita minta di mesin ATM tersebut seperti uang tunai, cek saldo, transfer tunai, dan sebagainya.
3. 3.Credit Checking System
BI-Checking adalah proses pengecekan oleh lembaga keuangan baik bank maupun non-bank, kepada suatu system yang disebut Sistem Informasi Debitur (SID) yang dikelola Bank Indonesia. Sedangkan informasi Debitur Individual (IDI) merupakan output dari SID. SID sendiri berisi data debitur dari seluruh anggotanya yang terdiri dari Bank Umum, BPR, dan beberapa Perusahaan Pembiayaan.
Cara kerjanya :
semua lembaga tersebut menyampaikan laporan setiap bulannya kepada Bank Indonesia, yang berisikan seluruh data debitur termasuk kondisi fasilitas kredit untuk posisi akhir bulan sebelumnya. Laporan ini disampaikan anggota SID antara tanggal 1 s/d 12 setiap bulan untuk posisi laporan bulan sebelumnya. Selanjutnya, laporan tersebut akan diolah dalam SID dan menghasilkan output berupa BI-Checking/IDI. Data yang ditampilkan pada IDI berupa informasi identitas debitur dan kondisi fasilitas kredit/pembiayaan, dan kondisi pembayaran selama 24 (dua puluh empat) bulan terakhir sejak posisi data dalam BI-Checking tersebut di-update.

4. Hotel Reservation System 

Hotel Reservation System yang berarti Sistem Informasi Reservasi Perhotelan merupakan salah satu bentuk pelayanan publik yang menawarkan suatu jasa dalam hal pendataan administrasi pada Reservasi perhotelan yang sangat memerlukan ketepatan mekanisme dan penataan yang terorganisir agar data dapat terkemas dan terjaga keamanannya dengan baik dalam bentuk database. Database tersebut dibuat dengan tujuan agar proses kerja lebih optimal dan dapat dilakukan secara cepat dan tepat dengan tingkat kesalahan yang dapat diminimalisasi.


5. Traffic Control System

Sistem kendali lalu lintas kendaraan atau Auto Traffic Contol System(ATCS) adalah pengendalian lalu lintas dengan menyelaraskan waktu lampu merah pada jaringan jalan raya dari sebuah kota.Pengaturan lalu lintas melalui sistem ini memerlukan parameter jumlah kendaraan dan waktu tempuh kendaraan.Telah digunakan pada kota jakarta untuk mencegah terjadinya kemacetan. Tetapi meningkatnya jumlah kendaran menyebabkan ATCS berfungsi kurang optimal. Untuk itu dibuat sistem ATCS yang dapat bekerja menentukan lama penyalaan lampu hijau secara otomatis berdasarkan distribusi kepadatan. Sistem ini mengontrol lampu Lalu Lintas otomatis dengan menggunakan kamera berbasis mikrokontroller.  Kamera digunakan sebagai pengamat kepadatan kendaraan pada suatu persimpangan. Hasil pengamatan diolah PC sehingga diperoleh persentase kepadatan pada tiap-tiap jalur.Mikrokontroller bekerja menyalakan lampu lalu lintas secara default kontrol yaitu searah dengan arah jarum jam. Jika PC terkoneksi dengan mikrokontroller maka mikrokontroller mengirimkan informasi jalur mana yang lampu hijaunya akan menyala. Kemudian PC mengolah gambar persimpangan dan menentukan besarnya persentase kepadatan serta lama penyalaan lampu hijau untuk jalur yang telah ditentukan. Pada umumnya arah perpindahan lampu lalu lintas dapat diatur sesuai dengan arah jarum jam (clockwise) atau berlawanan arah jarumjam (counter clockwise).Lampu lalu lintas bekerja secara bergantian pada tiap jalur sesuai dengan waktu yang sudah ditentukan dengan urutan menyala lampu hijau, lampu kuning dan lampu merah.
6. Police Emergency System

Sistem polisi darurat komunikasi nirkabel yang terdiri dari:kartu magnetik yang terdiri dari sebuah perangkat identifikasi, perangkat baterai, suara-perangkat cahaya, rangkaian kontrol, modul komunikasi nirkabel di mana kata yang terdiri dari rangkaian kontrol tombol darurat dan sebuah tombol konfirmasi; dimana kartu magnetik yang memanfaatkan rangkaian kontrol untuk menghasilkan sinyal. Host server yang terdiri dari modul komunikasi nirkabel, sebuah sistem,database dan sebuah microprocessor; kata host server yang menerima sinyal dari kartu magnetik dan hakim sumber sinyal, danpolisi-sistem darurat polisi-warga sambungan menerima sinyal dari kata host serverdan menghubungkan dengan polisi segera bagi polisi untuk pergi di tempat kejadian dalam waktu singkat. kata daripadanya alat identifikasi kartu magnetis digunakan sebagai identifikasi pengguna, ketika ada peristiwa darurat terjadi, pengguna-down menekan tombol darurat dan tombol konfirmasi bersamaan untuk menghasilkan sinyal dan sinyal yang akan diteruskan ke host server melalui komunikasi nirkabel modul;komunikasi nirkabel kata modul server menerima sinyal yang berasal dari kartu magnetik dan mengirimkan sinyal ke mikroprosesor; mengatakan prosesor membandingkan data dalam database untuk menilai apakah sumber sinyal sesuai dengan data dalam database, jika ya, kata sinyal ditularkan oleh kata host server ke polisi segera untuk polisi tiba di tempat kejadian di mana kejahatan terjadi.

7. Airline Seat Reservation System


Berasal dari arti Sebuah Sistem Reservasi Airline adalah bagian dari apa yang disebut Passenger Service Systems (PSS), yang mendukung aplikasi kontak langsung dengan penumpang. Sistem Reservasi Airline (ARS) adalah salah satu perubahan paling awal untuk meningkatkan efisiensi. ARS akhirnya berkembang ke dalam Sistem Reservasi Komputer (CRS). A Computer Reservation System adalah digunakan untuk reservasi maskapai penerbangan tertentu dan interface dengan Global Distribution System (GDS) yang mendukung agen-agen perjalanan dan saluran distribusi yang lain dalam membuat pemesanan untuk sebagian besar maskapai penerbangan utama dalam satu sistem.Sistem Reservasi Airline berisi jadwal penerbangan, tarif tarif, penumpang reservasi dan tiket catatan. Sebuah maskapai penerbangan distribusi langsung bekerja dalam sistem reservasi mereka sendiri, serta mendorong keterangan kepada GDS. Kedua jenis saluran distribusi langsung adalah konsumen yang menggunakan internet atau aplikasi mobile untuk membuat reservasi mereka sendiri. Agen perjalanan dan lain saluran distribusi tidak langsung mengakses GDS sama seperti yang diakses oleh maskapai penerbangan 'sistem reservasi, dan semua pesan ditularkan oleh sistem pesan standar yang berfungsi terutama pada pesan TTY bernama SITA. Karena sistem reservasi maskapai penerbangan bisnis aplikasi kritis, dan fungsional mereka cukup kompleks, operasi sebuah rumah dalam sistem reservasi maskapai penerbangan relatif mahal.

Monday, October 1, 2012

Steganografi , Kriptographi, dan Enkripsi

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:
  • Format image : bitmap (bmp), gif, pcx, jpeg, dll.
  • Format audio : wav, voc, mp3, dll.
  • 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.

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:

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 Invertion: 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 menjadi stego 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).

 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).

 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.

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).

 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. Gambar di bawah ini[rujukan?] menunjukkan sebuah diagram untuk menjelaskan sistem stego. Lingkaran-lingkaran menunjukkan tempat-tempat penyerang yang berpotensi memiliki jalan masuk ke satu atau lebih dari tempat-tempat tersebut akibat penyerangan-penyerangan yang berbeda jenis, dan juga berfungsi untuk melakukan sebuah penyerangan aktif. Jika lingkaran tidak terisi, penyerang hanya dapat melakukan penyerangan pasif yaitu menghalangi memotong data.
Penyerangan-penyerangan berikut memungkinkan dalam model dari stegosistem ini:
  • Stego-Only-Attack (Penyerangan hanya Stego). Penyerang telah menghalangi stego data dan dapat menganalisisnya.
  • 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.
  • 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.
  • 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).
  • 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.
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 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.
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 :
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
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.

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 :

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:

 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
    1. Ahmad membuat dua buah kunci, kunci-publik \!K_{publik[Ahmad]} dan kunci-privat \!K_{privat[Ahmad]}
    2. Bejo membuat dua buah kunci, kunci-publik \!K_{publik[Bejo]} dan kunci-privat \!K_{privat[Bejo]}
  2. Mereka berkomunikasi dengan cara:
    1. Ahmad dan Bejo saling bertukar kunci-publik. Bejo mendapatkan \!K_{publik[Ahmad]} dari Ahmad, dan Ahmad mendapatkan \!K_{publik[Bejo]} dari Bejo.
    2. Ahmad mengenkripsi teks-terang \!P ke Bejo dengan fungsi \!C = E(P,K_{publik[Bejo]})
    3. Ahmad mengirim teks-sandi \!C ke Bejo
    4. Bejo menerima \!C dari Ahmad dan membuka teks-terang dengan fungsi \!P = D(C,K_{privat[Bejo]})
Hal yang sama terjadi apabila Bejo hendak mengirimkan pesan ke Ahmad
  1. Bejo mengenkripsi teks-terang \!P ke Ahmad dengan fungsi \!C = E(P,K_{publik[Ahmad]})
  2. Ahmad menerima \!C dari Bejo dan membuka teks-terang dengan fungsi \!P = D(C,K_{privat[Ahmad]})

 Algoritma -Algoritma Sandi Kunci-Asimetris

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)

 Algoritma-Algoritma Fungsi Hash Kriptografi

Beberapa contoh algoritma fungsi hash Kriptografi:
Diperoleh dari “http://id.wikipedia.org/wiki/Kriptografi”
ENKRIPSI
A. Pengertian Algorima Enkripsi
Menyandikan, mengkodekan, enkripsi. Encryption atau enkripsi merupakan proses untuk mengubah sebuah pesan (informasi) sehingga tidak dapat dilihat tanpa menggunakan kunci pembuka. Enkripsi adalah cara yang paling efektif untuk memperoleh pengamanan data. Untuk membaca file yang di-enkrip, kita harus mempunyai akses terhadap kata sandi yang memungkinkan kita men-dekrip pesan tersebut. Data yang tidak di-enkrip disebut plaintext, sedangkan yang di-enkrip disebut ciphertext. Sebuah pesan dalam bentuk plaintext diubah dengan encryption menjadi ciphertext.
Proses sebaliknya, untuk mengembalikan ciphertext ke plaintext disebut decryption. Menurut ISO 7498-2 istilah yang lebih tepat untuk encryption adalah enchipher sedangkan istilah yang lebih tepat untuk decryption adalah decipher. Encryption menggunakan algoritma tertentu untuk mengacak pesan. Umumnya algoritma enkripsi dapat dibagi menjadi dua kelompok: algoritma untuk private key system dan algoritma untuk public key system. Contoh untuk algoritma yang digunakan di private key system adalah DES dan IDEA, sedangkan contoh algoritma yang digunakan di public key system adalah RSA dan ECC.
B. Enkripsi Komunikasi Data
Di dalam Internet (atau intranet) data yang dikirimkan dari satu komputer ke komputer lainnya, pasti melewati komputer-komputer lain. Ambil contoh, pada saat Anda memasukkan password untuk mengecek account email di hotmail, data akan dikirim dalam bentuk teks biasa melewati beberapa host sebelum akhirnya diterima oleh hotmail. Pernahkah Anda berfikir bahwa salah satu dari komputer yang dilewati oleh data Anda dipasangi program sniffer?
Sniffer adalah program yang membaca dan menganalisa setiap protokol yang melewati mesin di mana program tersebut diinstal. Secara default, sebuah komputer dalam jaringan (workstation) hanya mendengarkan dan merespon paket-paket yang dikirimkan kepada mereka. Namun demikian, kartu jaringan (network card) dapat diset oleh beberapa program tertentu, sehingga dapat memonitor dan menangkap semua lalu lintas jaringan yang lewat tanpa peduli kepada siapa paket tersebut dikirimkan.
C. Keamanan Password dengan Enkripsi
Salah satu feature keamanan yang penting yang digunakan saat ini adalah password. Penting bagi anda dan seluruh pemakai anda untuk memiliki password yang aman dan tidak dapat diterka. Kebanyakan distribusi Linux terbaru menyertakan program ‘passwd’ yang tidak membolehkan anda menset password yang mudah diterka. Pastikan program passwd anda terbaru dan memiliki feature ini.
Kebanyakan unicies (dan Linux bukanlah perkecualian) utamanya menggunakan algoritma enkripsi satu arah (one-way), disebut DES (Data Encryption Standard) untuk mengenkripsi password anda. Password terenkripsi ini kemudian disimpan (umumnya) di /etc/passwd (atau kurang umum) di /etc/shadow. Ketika anda berusaha login, apapun yang anda ketikkan dienkripsi dibandingkan dengan masukan dalam file yang menyimpan password anda.
Jika cocok, pastilah passwordnya sama, dan anda dibolehkan mengakses. Meskipun DES merupakan algoritma enkripsi dua arah (anda dapat menkode dan mendekode pesan, dengan memberi kunci yang tepat), varian yang digunakan kebanyakan unicies adalah satu arah. Artinya tidak mungkin membalik enkripsi untuk memperoleh password dari isi /etc/passwd (atau /etc/shadow).

sumber : ”http://yoir.wordpress.com/amankan-data-dengan-teknik-enkripsi/”

Followers

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified


  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP