Showing posts with label dasar kriptologi. Show all posts
Showing posts with label dasar kriptologi. Show all posts

Monday

ALGORITMA KRIPTOGRAFI

Algoritma kriptografi adalah algoritma yang berfungsi untuk melakukan tujuan dari ilmu kriptografi itu sendiri. Algoritma kriptografi terdiri dari 2 bagian fungsi, yaitu :
  1. ENKRIPSI (encryption), dan
  2. DEKRIPSI (decryption).
Shannon mengatakan bahwan Algoritma kriptografi harus memiliki kekuatan untuk melakukan konfusi dan difusi.
  • KONFUSI (confusion). Mengaburkan hubungan antara plaintext dan ciphertext. Cara palingmudah untuk melakukan konfusi adalah menggunakan substitusi. Konfusi menimbulkan kesulitan dalam usaha musuh untuk mencari keteraturan dan pola statistik antara plaintext dan ciphertext.
  • DIFUSI (difusion), Menyebarkan redudansi plaintext dengan menyebarkan masukan ke seluruh ciphertext. Caa yang paling mudah untuk dapat melakukan difusi adalah dengan menggunakan metode transposisi. Jika menggunakan difusi, akan dibutuka waktu ang lebih lama untk emecakan sandi rahasia ini.

Sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritma sandi harus memperhatikan kualitas layanan 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.
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
Berdasarkan arah implementasi dan pembabakan zamannya dibedakan menjadi :
  • ALGORITMA SANDI KLASIK.
  • ALGORITMA SANDI MODERN
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
  • ALGORITMA SANDI KUNCI RAHASIA
  • ALGORITMA SANDI KUNCI PUBLIK

Thursday

KRIPTOGRAFI DALAM E-KTP

Apa itu e-KTP ???

e-KTP atau KTP Elektronik adalah dokumen kependudukan yang memuat sistem keamanan / pengendalian baik dari sisi administrasi ataupun teknologi informasi dengan berbasis pada database kependudukan nasional.
Penduduk hanya diperbolehkan memiliki 1 (satu) KTP yang tercantum Nomor Induk Kependudukan (NIK). NIK merupakan identitas tunggal setiap penduduk dan berlaku seumur hidup
Nomor NIK yang ada di e-KTP nantinya akan dijadikan dasar dalam penerbitan Paspor, Surat Izin Mengemudi (SIM), Nomor Pokok Wajib Pajak (NPWP), Polis Asuransi, Sertifikat atas Hak Tanah dan penerbitan dokumen identitas lainnya (Pasal 13 UU No. 23 Tahun 2006 tentang Adminduk)
Quote:
Autentikasi Kartu Identitas (e-ID) biasanya menggunakan biometrik yaitu verifikasi dan validasi sistem melalui pengenalan karakteristik fisik atau tingkah laku manusia. Ada banyak jenis pengamanan dengan cara ini, antara lain sidik jari (fingerprint), retina mata, DNA, bentuk wajah, dan bentuk gigi. Pada e-KTP, yang digunakan adalah sidik jari.

Penggunaan sidik jari e-KTP lebih canggih dari yang selama ini telah diterapkan untuk SIM (Surat Izin Mengemudi). Sidik jari tidak sekedar dicetak dalam bentuk gambar (format jpeg) seperti di SIM, tetapi juga dapat dikenali melalui chip yang terpasang di kartu. Data yang disimpan di kartu tersebut telah dienkripsi dengan algoritma kriptografi tertentu. Proses pengambilan sidik jari dari penduduk sampai dapat dikenali dari chip kartu adalah sebagai berikut:
Sidik jari yang direkam dari setiap wajib KTP adalah seluruh jari (berjumlah sepuluh), tetapi yang dimasukkan datanya dalam chip hanya dua jari, yaitu jempol dan telunjuk kanan. Sidik jari dipilih sebagai autentikasi untuk e-KTP karena alasan berikut:
1. Biaya paling murah, lebih ekonomis daripada biometrik yang lain
2. Bentuk dapat dijaga tidak berubah karena gurat-gurat sidik jari akan kembali ke bentuk semula walaupun kulit tergores
3. Unik, tidak ada kemungkinan sama walaupun orang kembar

Quote:
Informasi penduduk yang dicantumkan dalam e-KTP ditunjukkan pada layout kasar berikut:

Untuk mendapatkan informasi di atas dari penduduk, wajib KTP harus mengisi formulir tipe F1.01.
Selain tujuan yang hendak dicapai, manfaat e-KTP diharapkan dapat dirasakan sebagai berikut:
1. Identitas jati diri tunggal
2. Tidak dapat dipalsukan
3. Tidak dapat digandakan
4. Dapat dipakai sebagai kartu suara dalam pemilu atau pilkada

Quote:
Struktur e-KTP terdiri dari sembilan layer yang akan meningkatkan pengamanan dari KTP konvensional. Chip ditanam di antara plastik putih dan transparan pada dua layer teratas (dilihat dari depan). Chip ini memiliki antena didalamnya yang akan mengeluarkan gelombang jika digesek. Gelombang inilah yang akan dikenali oleh alat pendeteksi e-KTP sehingga dapat diketahui apakah KTP tersebut berada di tangan orang yang benar atau tidak. Untuk menciptakan e-KTP dengan sembilan layer, tahap pembuatannya cukup banyak, diantaranya:

1. Hole punching, yaitu melubangi kartu sebagai tempat meletakkan chip
2. Pick and pressure, yaitu menempatkan chip di kartu
3. Implanter, yaitu pemasangan antenna (pola melingkar berulang menyerupai spiral)
4. Printing,yaitu pencetakan kartu
5. Spot welding, yaitu pengepresan kartu dengan aliran listrik
6. Laminating, yaitu penutupan kartu dengan plastik pengaman

e-KTP dilindungi dengan keamanan pencetakan seperti relief text, microtext, filter image, invisible ink dan warna yang berpendar di bawah sinar ultra violet serta anti copy design.
Penyimpanan data di dalam chip sesuai dengan standar internasional NISTIR 7123 dan Machine Readable Travel Documents ICAO 9303 serta EU Passport Specification 2006. Bentuk KTP elektronik sesuai dengan ISO 7810 dengan form factor ukuran kartu kredit yaitu 53,98 mm x 85,60 mm.
Mengapa harus e-KTP?

Quote:
Proyek e-KTP dilatarbelakangi oleh sistem pembuatan KTP konvensional di Indonesia yang memungkinkan seseorang dapat memiliki lebih dari satu KTP. Hal ini disebabkan belum adanya basis data terpadu yang menghimpun data penduduk dari seluruh Indonesia. Fakta tersebut memberi peluang penduduk yang ingin berbuat curang terhadap negara dengan menduplikasi KTP-nya. Beberapa diantaranya digunakan untuk hal-hal berikut:

1. Menghindari pajak
2. Memudahkan pembuatan paspor yang tidak dapat dibuat di seluruh kota
3. Mengamankan korupsi
4. Menyembunyikan identitas (misalnya oleh para teroris)
Quote:

Kartu identitas elektronik telah banyak digunakan di negara-negara di Eropa antara lain Austria, Belgia, Estonia, Italia, Finlandia, Serbia, Spanyol dan Swedia, di Timur Tengah yaitu Arab Saudi, Uni Emirat Arab, Mesir dan Maroko, dan di Asia yaitu India dan China.
Mendagri Gamawan Fauzi membeberkan keunggulan Kartu Tanda Penduduk Elektronik (e-KTP) yang akan diterapkan di Indonesia, dibandingkan dengan e-KTP yang diterapkan di RRC dan India. Gamawan menyebut, e-KTP di Indonesia lebih komprehensif.
Di RRC, Kartu e-ID tidak dilengkapi dengan biometrik atau rekaman sidik jari. Di sana, e-ID hanya dilengkapi dengan chip yang berisi data perorangan yang terbatas. Sedang di India, sistem yang digunakan untuk pengelolaan data kependudukan adalah sistem UID (unique Identification), yang di Indonesia namanya NIK (Nomor Induk Kependudukan).
“UID diterbitkan melalui register pada 68 titik pelayanan, sedangkan program KTP elektronik di Indonesia akan dilaksanakan di 6.214 kecamatan,” ujar Gamawan.
“Dengan demikian, KTP elektronik yang akan diterapkan di Indonesia merupakan gabungan e-ID RRC dan UID India, karena KTP elektronik dilengkapi dengan biometrik dan chip,” 


Sumber

Saya sangat tertarik dengan yang saya garis bawahi yaitu mengenai "algoritma enkripsi tertentu" .  Terpikir oleh ku, Apa sih algoritma enkripsi itu, akhirnya saya mendapatkan informasi itu dari PERATURAN MENTERI DALAM NEGERI
NOMOR 6 TAHUN 2011 TENTANG PERUBAHAN ATAS PERATURAN MENTERI DALAM NEGERI NOMOR 38 TAHUN 2009 TENTANG STANDAR DAN SPESIFIKASI PERANGKAT KERAS, PERANGKAT LUNAK DAN BLANGKO KARTU TANDA PENDUDUK BERBASIS NOMOR INDUK KEPENDUDUKAN SECARA NASIONAL . Dari peraturan itu dengan jelas memberikan informasi mengenai algoritma enkripsi yang dipakai. Apa itu ?

1. Pada Kode Keamanan Chip Point c.


Tanda tangan elektronik (Digital Signature) berdasarkan standar Elliptic Curve Digital Signature Algorithm paling rendah 256 bit   atau RSA 2048 bit dan Hash Algorithm SHA-256.

2. Pada Bagian Keamanan ( Security) :

Algoritma Keamanan (Security Algorithm) bersifat simetris (symmetric) berdasarkan algoritma: 3DES dengan panjang kunci 168 bit, AES 128 bit, atau setara;


Nah udah pada tahu kan kan implementasi kriptografi dalam E-KTP, apa saja algoritma enkripsi yang digunakan, namun saya belum tahu pemanfaatan algoritma itu di dalam E-KTP, yang pasti ada data yang dienkripsi dan di signature. Paling tidak kita tahu E-KTP menggunakan fitur kriptografi untuk keamanannya.

KRIPTOGRAFI DALAM KEHIDUPAN SEHARI-HARI

1. Transaksi lewat Anjungan Tunai mandiri (ATM)

· Anjungan Tunai Mandiri atau Automatic Teller Machine (ATM) digunakan nasabah bank untuk melakukan transaski perbankan. Utamanya, kegunaan ATM adalah untuk menarik uang secara tunai (cash withdrawal), namun saat ini ATM juga digunakan untuk transfer uang (pemindahbukuan), mengecek saldo, membayar tagihan kartu ponsel, membeli tiket kereta api, dan sebagainya

· Transaksi lewat ATM memerlukan kartu magnetik (disebut juga kartu ATM) yang terbuat dari plastik dan kode PIN (Personal Information Number) yang berasosiasi dengan kartu tersebut.

· PIN terdiri dari 4 angka yang harus dijaga kerahasiannya oleh pemilik kartu ATM, sebab orang lain yang mengetahui PIN dapat menggunakan kartu ATM yang dicuri atau hilang untuk melakukan penarikan uang.

· PIN digunakan untuk memverifikasi kartu yang dimasukkan oleh nasabah di ATM. Proses verifikasi dilakukan di komputer pusat (host) bank, oleh karena itu harus ada komunikasi dua arah antara ATM dan komputer host. ATM mengirim PIN dan informasi tambahan pada kartu ke komputer host, host melakukan verifikasi dengan cara membandingkan PIN yang di-entry-kan oleh nasabah dengan PIN yang disimpan di dalam basisdata komputer host, lalu mengirimkan pesan tanggapan ke ATM yang menyatakan apakah transaksi dapat dilanjutkan atau ditolak.

· Selama transmisi dari ATM ke komputer host, PIN harus dilindungi dari penyadapan oleh orang yang tidak berhak.

· Bentuk perlindungan yang dilakukan selama transmisi adalah dengan mengenkripsikan PIN. Di sisi bank, PIN yang disimpan di dalam basisdata juga dienkripsi.

· Algoritma enkripsi yang digunakan adalah DES dengan mode ECB. Karena DES bekerja dengan mengenkripsikan blok 64-bit, maka PIN yang hanya terdiri dari 4 angka (32 bit) harus ditambah dengan padding bits sehingga panjangnya menjadi 64 bit. Padding bits yang ditambahkan berbeda-beda untuk setiap PIN, bergantung pada informasi tambahan pada setiap kartu ATM-nya.

· Karena panjang PIN hanya 4 angka, maka peluang ditebak sangat besar. Seseorang yang memperoleh kartu ATM curian atau hilang dapat mencoba semua kemungkinan kode PIN yang mungkin, sebab hanya ada 10 ´ 10 ´ 10 ´ 10 = 10.000 kemungkinan kode PIN 4-angka. Untuk mengatasi masalah ini, maka kebanyakan ATM hanya membolehkan peng-entry-an PIN maksimum 3 kali, jika 3 kali tetap salah maka ATM akan ‘menelan’ kartu ATM. Masalah ini juga menunjukkan bahwa kriptografi tidak selalu dapat menyelesaikan masalah keamanan data.

2. Pay TV

· Pay TV adalah siaran TV yang hanya dapat dinikmati oleh pelanggan yang membayar saja, sedangkan pemilik TV yang tidak berlangganan tidak dapat menikmati siarannya (Di Indonesia Pay TV dikelola oleh PT. IndoVision).

· Siaran Pay TV dipancarkan secara broadcast, namun hanya sejumlah pesawat TV yang berhasil menangkap siaran tersebut yang dapat ‘mengerti’ isinya.

· Pada sistem Pay TV, sinyal broadcast dienkripsi dengan kunci yang unik. Orang-orang yang berlangganan Pay TV pada dasarnya membayar untuk mengetahui kunci tersebut.

· Bagaimana mengetahui bahwa kunci tersebut dimiliki oleh pelanggan yang sah, dan bukan orang yang mengetahui kunci tersebut dari pelanggan lainnya? Solusi yang umum adalah setiap pelanggan diberikan smart card yang mengandung kunci rahasia (private key) yang unik dalam konteks algoritma kriptografi kunci-publik.

· Smart card dimasukkan ke dalam card reader yang dipasang pada pesawat TV. Selanjutnya, pelanggan Pay TV dikirimi kunci simetri yang digunakan untuk mengenkripsi siaran. Kunci simetri ini dikirim dalam bentuk terenkripsi dengan menggunakan kunci publik pelanggan. Smart card kemudian mendekripsi kunci simetri ini dengan kunci rahasia pelanggan. Selanjutnya, kunci simetri digunakan untuk mendekripsi siaran TV.

3. Komunikasi dengan Telepon Seluler (GSM mobile phone)

· Penggunaan telepon seluler (ponsel) yang bersifat mobile memungkinkan orang berkoumikasi dari tempat mana saja.

· Telepon seluler bersifat nirkabel (wireless), sehingga pesan yang dikirim dari ponsel ditransmisikan melalui gelombang mikro (microwave) atau radio sampai ia mencapai base station (BST) terdekat, selanjutnya ditransfer melalui saluran kabel fixed.

· Karena menyadap sinyal radio jauh lebih mudah daripada menyadap sinyal pada saluran kabel, maka ini berarti GSM tidak lebih aman daripada telepon fixed konvensional.

· Untuk membuat komunikasi lewat ponsel aman, maka pesan dienkripsi selama transmisi dari ponsel ke BST terdekat. Metode enkripsi yang digunakan adalah metode cipher aliran (stream cipher).

· Masalah keamanan lain adalah identitas penelpon. Operator seluler harus dapat mengidentifikasi suatu panggilan (call) dan mengetahui siapa yang melakukan panggilan tersebut. Jadi, pada GSM diperlukan dua kebutuhan keamanan lainnya, yaitu kerahasiaan (confidentiality), yang merupakan kebutuhan bagi pelanggan, dan otentikasi pengguna (user authentication), yang merupakan kebutuhan bagi sistem.

· Dua kebutuhan ini dipenuhi dengan penggunaan smart card yang disebut SIM card. SIM card disediakan oleh operator seluler (service provider). SIM card berisi nilai otentikasi rahasia sepanjang 128-bit yang diketahui hanya oleh operator. Nilai ini digunakan sebagai kunci pada protokol otentikasi dengan menggunakan algoritma yang dipilih oleh operator.

· Ketika pengguna ponsel melakukan panggilan (call), identitasnya dikirim ke komputer host via BST untuk keperluan otentikasi. Komputer host melakukan verifikasi pengguna lalu membangkitkan pesan (challenge) dan mengirimnya ke BST.

· Program otentikasi menerima masukan 128-bit dan mengeluarkan response 128-bit, yang bergantung pada kunci otentikasi di dalam kartu. Dari 128-bit keluaran, hanya 32 bit yang dikirim dari SIM card ke BST sebagai response. Jadi, masih ada 96 bit yang hanya diketahui hanya oleh SIM card, BST, dan komputer host.

· SIM card juga berisi program stream cipher untuk mengenkripsi pesan dari ponsel ke BST. Kunci enkripsi panjangnya 64 bit, yang diambil dari 96 bit sisa dari response SIM card.

4. Transaksi E-commerce di Internet

· Sekarang banyak orang berbelanja melalui web di internet. Pembayaran barang dilakukan dengan menggunakan kartu kredit, yang berarti bahwa pembeli harus mengirimkan kode PIN kartu kredit dan informasi lainnya melalui internet. Karena alasan keamanan yang menyangkut informasi kartu kredit maka transaksi barang lewat internet tidak terlalu populer.

· Browsing web secara aman adalah fitur paling penting pada e-commerce. Secure Socket Layer (SSL) adalah protokol yang digunakan untuk browsing web secara aman. Kedua protokol ini memfasilitasi penggunaan enkripsi untuk data yang rahasia dan membantu menjamin integritas informasi yang dipertukarkan antara website dan web brwoser (misalnya Netscape, Interner Explorer, dsb).

· SSL adalah contoh protokol client-server, yang dalam hal ini web browser adalah client dan website adalah server. Client yang memulai komunikasi, sedangkan server memberi respon terhadap permintaan client. Fungsi paling dasar yang digunakan SSL adalah membentuk saluran untuk mengirimkan data terenkripsi, seperti data kartu kredit, dari browser ke website yang dituju.

PROTOKOL KRIPTOGRAFI

Protokol: aturan yang berisi rangkaian langkah-langkah, yang melibatkan dua atau lebih orang, yang dibuat untuk menyelesaikan suatu kegiatan.

Protokol kriptografi: protokol yang menggunakan kriptografi. Orang yang berpartisipasi dalam protokol kriptografi memerlukan protokol tersebut misalnya untuk:
- berbagi komponen rahasia untuk menghitung sebuah nilai,
- membangkitkan rangkaian bilangan acak,
- meyakinkan identitas orang lainnya (otentikasi),
- dll

• Protokol kriptografi dibangun dengan melibatkan beberapa algoritma kriptografi.

• Sebagian besar protokol kriptografi dirancang untuk dipakai oleh kelompok yang terdiri dari 2 orang pemakai, tetapi ada juga beberapa protokol yang dirancang untuk dipakai oleh kelompok yang terdiri dari lebih dari dua orang pemanaki (misalnya pada aplikasi teleconferencing)

• Untuk mendemonstrasikan protokol kriptografi, kita menggunakan nama-nama pemain sebagai berikut:

Alice : orang pertama (dalam semua protokol)
Bob : orang kedua (dalam semua protokol)
Carol : orang ketiga dalam protokol tiga- atau empat- orang
Dave : orang keempat dalam protokol empat-orang
Eve : penyadap (eavesdropper)
Trent : juru penengah (arbitrator) yang dipercaya

1.Protokol Komunikasi dengan Sistem Kriptografi Simetri.

Protokol 1:
(1) Alice dan Bob menyepakati algoritma kriptografi simetri yang akan digunakan.
(2) Alice dan Bob menyepakati kunci yang akan digunakan.
(3) Alice menulis pesan plainteks dan mengenkripsinya dengan kunci menjadi cipherteks.
(4) Alice mengirim pesan cipherteks kepada Bob.
(5) Bob mendekripsi pesan cipherteks dengan kunci yang sama dan membaca plainteksnya.

•Eve mendengar semua percakapan antara Alice dan Bob pada protokol ini.
-jika Eve menyadap transmisi pesan pada langkah (4), ia harus mencoba mengkriptanalisis cipherteks untuk memperoleh plainteks tanpa mengetahui kunci.
-jika ia mendengar pembicaraan pada langkah (1)dan (2), maka ia mengetahui algoritma dan kunci yang digunakan, sehingga ia dapat mendekripsi cipherteks dengan kunci tsb.

•Protokol kriptografi di atas tidak bagus karena kunci harus tetap rahasia sebelum, sepanjang, dan setelah protokol. Langkah (1) dapat dilakukan dalam mode publik, namun langkah (2) harus dilakukan dalam mode rahasia. Sistem kriptografi kunci-publik dapat memecahkan masalah distribusi kunci ini.

2.Protokol Komunikasi dengan Sistem Kriptografi Kunci-Publik.

Protokol 2:
(1)Alice dan Bob menyepakati algoritma kriptografi kunci-publik yang akan digunakan.
(2)Bob mengirimi Alice kunci publiknya (kunci publik Bob).
(3)Alice mengenkripsi pesannya dengan kunci publik Bob kemudian mengirimkannya ke Bob
(4)Bob mendekripsi pesan dari Alice dengan kunci rahasia miliknya (kunci rahasia Bob).

•Pada umumnya, pengguna di jaringan menyepakati algoritma kriptografi kunci-publik yang digunakan. Setiap pengguna jaringan mempunyai kunci publik dan kunci rahasia, yang dalam hal ini kunci publik dipublikasikan melalui basisdata yang dapat diakses bersama. Dengan demikian, protokol kriptografi kunci-publik menjadi lebih sederhana sebagai berikut:

Protokol 3:
(1)Alice mengambil kunci publik Bob dari basisdata kunci-publik.
(2)Alice mengenkripsi pesannya dengan kunci publik Bob kemudian mengirimkannya kepada Bob.
(3)Bob mendekripsi pesan dari Alice dengan kunci rahasia miliknya (kunci rahasia Bob).

•Eve yang mendengar pembicaraan selama protokol ini akan mendapatkan kunci publik Bob, tetapi Eve tidak dapat mendekripsi cipherteks karena ia tidak mengetahui kunci rahasia Bob.

•Dalam dunia nyata, sistem kriptografi kunci-publik bukanlah pengganti sistem kriptografi sismetri. Sistem kriptografi kunci-publik tidak digunakan untuk mengenkripsi pesan, melainkan untuk mengenkripsi kunci pada sistem kriptografi simetri.

•Dengan sistem kriptogfai kunci-publik, maka pertukaran kunci pada sistem kriptografi simetri dapat dilakukan dengan protokol kriptografi kunci-publik sebagai berikut:

Protokol 4:

(1)Bob mengirimi Alice kunci publiknya.
(2)Alice membangkitkan kunci simetri K, mengenkripsikannya dengan kunci publik (PK) Bob, dan mengirimkannya ke Bob,

EPK(K)

(3)Bob mendekripsi pesan dari Alice dengan menggunakan kunci rahasianya (SK) untuk mendapatkan kembali kunci simetri K,

DSK(EPK(K)) = K

(4)Baik Alice dan Bob dapat saling berkirim pesan dengan sistem kriptografi simetri dengan menggunakan kunci K.

•Dua gabungan sistem kriptografi yang digunakan pada protokol 4 di atas disebut hybrid cryptosystem dan kunci sismetri yang dipertukarkan disebut session key.

•Dengan protokol 4 di atas, kita katakan bahwa sistem kriptografi kunci-publik berhasil memecahkan masalah manajemen kunci yang sangat penting, yaitu pertukaran kunci.

3.Protokol untuk Sidik Dijital (Digital Signature)


a.Menandatangani Dokumen dengan Sistem Kriptografi Simetri dan Seorang Juru Penengah.

Alice ingin menandatangani dokumen digital (pesan atau arsip) dan mengirimkannya ke Bob. Ia meminta Trent sebagai juru penengah (misalnya pengacara) antara Alice dan Bob (diperlukan jika sewaktu-waktu ada pertengkaran antara Alice dan Bob). Trent akan memberikan sidik berupa sertifikasi terhadap dokumen yang dikirim oleh Alice. Sistem kriptografi yang digunakan adalah simetri. Trent memberikan kunci rahasia KA kepada Alice dan kunci rahasia KB kepada Bob (KA dan KB berbeda).

Protokol 5:
(1)Alice mengenkripsi dokumen dengan KA dan mengirimkannya kepada Trent.
(2)Trent mendekripsi dokumen dari Alice dengan KA.
(3)Trent menambahkan pada dokumen yang sudah didekripsi sebuah pernyataan sertifikasi bahwa dia telah menerima dokumen itu dari Alice, kemudian mengenkripsi keseluruhannya dengan KB.
(4)Trent mengirim cipherteks yang dihasilkan kepada Bob.
(5)Bob mendekripsi cipherteks dengan KB. Ia membaca dokumen dan sertifikasi dari Trent bahwa Alice yang mengirimkan dokumen tersebut.

•Karakteristik pemberian tanda tangan dengan prtotokol 5 adalah sbb:
1.Sidik (signature) pasti otentik, karena Trent adalah juru penegah yang dipercaya, Trent mengetahui bahwa dokumen dari Alice. Sertifikasi dari Trent berlaku sebagai bukti bagi Bob.
2.Sidik tidak dapat digunakan lagi untuk dokumen yang lain. Jika Bob menggunakan sertifikasi dari Trent untuk dokumen yang lain, maka kecurangan Bon ini dapat diketahui oleh Trent sbb:
-Trent meminta dokumen tersebut dari Bob.
-Trent mengenkripsi dokumen tersebut dengan KA dan membandingkannya dengan cipherteks dari Alice.
-Jika hasil enkripsi dokumen dari Bob tidak sama dengan cipherteks dari Alice, maka Bob telah mekakukan kecurangan.

3.Dokumen yang sudah ditandatangani tidak dapat diubah. Trent dapat membuktikan bahwa dokumen sudah berubah dengan cara yang sama seperti 2 di atas.
4.Sidik tidak dapat disangkal. Jika Alice menyangkal bahwa dia yang mengirim dokumen, sertifikasi dari Trent dapat menyanggah sangkalan Alice.


•Protokol 5 di atas tidak praktis karena membutuhkan pihak ketiga (Trent) untuk memberikan sertifikasi keabsahan dokumen dan prosesnya memakan waktu.


b. Menandatangani Dokumen dengan Sistem Kriptografi Kunci-Publik.

Protokol 6:
(1)Alice mengenkripsi dokumen dengan kunci rahasianya. Ini sekaligus juga berarti Alice telah memberikan sidik (signature) pada dokumennya.
(2)Alice mengirim dokumen yang terenkripsi kepada Bob.
(3)Bob mendekripsi dokumen dengan kunci publik Alice. Ini sekaligus juga berarti Bob telah memverifikasi sidik pada dokumen.

•Protokol 6 tidak membutuhkan pihak ketiga (Trent) untuk memberikan tandatangan (Trent hanya diperlukan untuk mensertifikasi bahwa kunci publik Alice memang benar milik Alice).

•Protokol 6 memiliki karakteristik yang sama seperti pada protokol 5.


c. Menandatangani Dokumen dengan Sistem Kriptografi Kunci-Publik dan Fungsi Hash Satu-Arah

Protokol 7:
(1)Alice meringkas dokumennya menjadi message digest dengan fungsi hash satu-arah.
(2)Alice mengenkripsi message digest dengan kunci rahasianya. Hasil enkripsinya disertakan (embedded) pada dokumen. Ini berarti Alice telah memberi sidik dijital pada dokumennya.
(3)Alice mengirim dokumen yang sudah diberi sidik dijital kepada Bob.
(4)Bob meringkas dokumen dari Alice menjadi mesaage digest dengan fungsi hash yang sama. Bob mendekripsi sidik dijital yang disertakan pada dokumen Alice. Jika hasil dekripsinya sama dengan message digest yang dihasilkan, maka sidik dijital tersebut sah.

.Jika dokumen yang sama ingin ditandatangani oleh dua orang (Alice dan Bob), maka orang ketiga, Carol, dibutuhkan pada proses verifikasi. Protokolnya adalah sebagai berikut:

Protokol 8:

(1)Alice memberi sidik dijital pada message digest dari dokumen.
(2)Bob memberi sidik dijital pada message digest dari dokumen.
(3)Bob mengirimkan sidik dijitalnya kepada Alice.
(4)Alice mengirim dokumen yang sudah diberi sidik dijitalnya dan sidik dijital dari Bob kepada Carol.
(5)Carol memverifikasi sidik dijital Alice dan sidik dijital Bob (Carol mengetahui kunci publik Alice dan kunci publik Bob).


4.Protokol untuk Sidik Dijital dengan Enkripsi


•Protokol ini dapat dianalogikan seperti pengiriman surat yang menggunakan amplop tertutup. Tanda tangan pada surat memberikan bukti kempemilikan, hal ini sama dengan fungsi sidik dijital pada pada dokumen elektrinis. Sedangkan amplop memberikan perlindungan keamanan (privacy), hal ini sama dengan fungsi enkripsi pada dokumen.

•Sidik dijital diberikan dengan menggunakan kunci rahasia pengirim (lihat protokol 6) dan dokumen dienkripsi dengan kunci publik penerima.

•Protokolnya adalah sbb:

Protokol 9:

(1)Alice menandatangi dokumen atau pesan (M) dengan menggunakan kunci rahasianya (SK-A).
SSK-A(M)
(2)Alice mengenkripsi dokumen yang sudah ditandatangi dengan kunci publik Bob (PK-B) dan mengirimkannya kepada Bob
EPK-B(SSK-A(M))
(3)Bob mendekripsi cipherteks yang diterima dengan kunci rahasianya (SK-B).
DSK-B(EPK-B(SSK-A(M))) = SSK-A(M))
(4)Bob melakukan verifikasi dengan mendekripsi hasil pada langkah 3 dengan menggunakan kunci publik Alice dan sekaligus mendapatkan kembali dokumen yang belum dienkripsi.
VPK-A( SSK-A(M)) = M

•Menandatangani dokumen sebelum mengenkripsikannya adalah cara yang alamiah. Dalam kehidupan sehari-hari, kita menulis surat, menandatanganinya, dan memasukkannya ke dalam amplop. Bila Alice memasukkan surat ke dalam amplop, kemudian menandatangani amplop, maka keabsahannya diragukan. Jika Bob memperlihatkan surat Alice tersebut kepada Carol, maka Carol mungkin menuduh Bob berbohong tentang isi surat tersebut.
•Alice tidak harus menggunakan menggunakan kunci publik/kunci rahasia yang sama untuk enkripsi dan tanda tangan. Alice dapat menggunakan dua pasang kunci: sepasang untuk enkripsi dan sepasang untuk pemberian tanda tangan.
•Misalkan Bob ingin mengkonfirmasi bahwa dia telah menerima dokumen dari Alice. Maka, Bob mengirimkan konfirmasi “tanda terima” kepada Alice. Protokol pengiriman pesan tanda terima adalah sebagai berikut:
Protokol 10:
(1)Alice menandatangi dokumen atau pesan (M) dengan menggunakan kunci rahasianya (SK-A), mengenkripsikannya dengan kunci publik Bob (PK-B) dan mengirimkannya kepada Bob
EPK-B(SSK-A(M))
(2)Bob mendekripsi cipherteks yang diterima dengan kunci rahasianya (SK-B), memverifikasi sidik dijital dengan kunci publik Alice dan sekaligus mendapatkan kembali dokumen yang belum dienkripsi.
VPK-A(DSK-B(EPK-B(SSK-A(M)))) = M
(3)Bob menandatangani dokumen (M) dengan kunci rahasianya (SK-B), mengenkripsikannya dengan kunci publik Alice (PK-A), dan mengirimkannya ke Alice.
EPK-A(SSK-B(M))
(4)Alice mendekripsi dokumen dengan kunci rahasianya (SK-A) dan memverifikasi sidik dijital dengan kunci publik Bob (PK-B).
VPK-B(DSK-A(EPK-A(SSK-B(M)))) = M ’
Jika M ’ yang dihasilkan sama dengan dokumen yang dikirim oleh Alice (M), maka Alice tahu bahwa Bob menerima dokumennya dengan benar.

( Sumber Buku Kriptografi,Rinaldi Munir )

FUNGSI HASH DAN ALGORITMA MD5

Fungsi Hash sering juga disebut fungsi enkripsi satu arah, atau disebut juga message diggest. Fungsi Hash digunakan untuk menjamin servis otentikasi dan integritas suatu pesan atau file. Suatu fungsi hash h memetakan bit-bit string dengan panjang sembarang ke sebuah string dengan panjang tertentu misal n. Dengan domain D dan range R maka: Proses hashing merupakan proses pemetaan suatu input string menjadi output disebut. Output dari fungsi Hash disebut nilai hash atau hasil Hash.

h : D → R dan |D| > |R|

Ide utama dari hash adalah bahwa suatu nilai hash berlaku sebagai representasi dari data secara sederhana (disebut juga message-diggest, imprint, digital finger-print) dari suatu input string, dan dapat digunakan hanya jika nilai hash tersebut dapat diidentifikasi secara unik dengan input string tersebut. Fungsi h adalah many-to-one, sehingga memungkinkan terjadinya pasangan input dengan output sama : collision. Secara umum fungsi hash harus memiliki 2 (dua) sifat dasar yaitu :

1. Kompresi (Compression), fungsi h memetakan suatu input x dgn panjang sembarang ke output y = h(x) dgn panjang tetap n;

2. Mudah dihitung (Easy Computation), dengan diberikan h dan sebuah input x, maka y mudah dihitung.

Fungsi hash diklasifikasikan dalam 2 kelas yaitu (menurut Menezes, Oorschot dan Vanstone, 1996):

1. MDCs (Manipulation Detection Codes).

2, Message Authentication Codes (MACs).

MDCs (Manipulation Detection Codes), atau juga disebut dengan istilah modification detecton codes atau message integrity codes (MICs) yang merupakan fungsi Hash tanpa kunci. Tujuannya adalah (informal) untuk memberikan suatu imej yang representatif (disebut nilai hash) pada suatu message. Pada kelas ini input darifungsi hash hanyalah pesan yang akan dikirim dan tidak membutuhkan input kunci rahasia. MDCs banyak digunakan untuk servis integritas data khususnya dalam aplikasi skema digital-signature. Pembagian kelas dari MDCs adalah:1. One Way hash Functions (OWHFs).2. Collision resistant hash Functions (CRHFs).Contoh algoritma hash untuk MDCs diantaranya adalah : MD2, MD4, MD5, RIPE-MD, Snefru, N-Hash, Secure Hash Algoritm-1 (SHA-1) yang merupakan OWHF sedangkan MASH-1 dan MASH-2 masuk kategori CRHF.

Message Authentication Codes (MACs) MACs adalah fungsi hash untuk otentikasi data dengan teknik simetrik. Algoritma MACs mengambil dua input yang secara fungsional berbeda, sebuah pesan (message) dan sebuah kunci rahasia (maka disebut “keyed hash function”), untuk menghasilkan suatu output dengan ukuran yang tetap. Secara praktis sulit menghasilkan nilai MAC yang sama tanpa pengetahuan tentang kunci rahasia tersebut. MACs juga menyediakan servis integritas data. Contoh algoritma hash untuk aplikasi MACs adalah HMAC, MD5-MAC, MAA, Block-based MACs : CBC-MAC, RIPE-MAC, GOST; Stream-based MACs : SEAL; CRC-based MAC, dan lainnya. Pada prinsipnya MACs dapat dikonstruksi dari MDCs seperti contohnya algoritma MD5-MAC.


ALGORITMA MD5
MD5 ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standard Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file.

MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya, yaitu MD4 yang berhasil diserang oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.

MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD-5 secara garis besar adalah mengambil pesan yang mempunyai panjang variable diubah menjadi ‘sidik jari’ atau ‘intisari pesan’ yang mempunyai panjang tetap yaitu 128 bit. ‘Sidik jari’ ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari ‘sidik jari’ MD-5

Message Digest 5 (MD-5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD-5 merupakan fungsi hash kelima yang dirancang oleh Ron Rivest dan didefinisikan pada RFC 1321[10]. MD-5 merupakan pengembangan dari MD-4 dimana terjadi penambahan satu ronde[1,3,10]. MD-5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD-5 berupa 4 buah blok yang masing-masing 32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash[3,10]. Simpul utama MD5 mempunyai blok pesan dengan panjang 512 bit yang masuk ke dalam 4 buah ronde. Hasil keluaran dari MD-5 adalah berupa 128 bit dari byte terendah A dan tertinggi byte D.


Algoritma Dan Cara Kerja

A. Penjelasan Algoritma MD5

Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan. Kita anggap sebanyak b bit. Di sini b adalah bit non negatif integer, b bisa saja nol dan tidak harus selalu kelipatan delapan.

B. Cara Kerja MD5

Langkah-langkah pembuatan message digest secara garis besar:

1. Penambahan bit-bit pengganjal (padding bits).

2. Penambahan nilai panjang pesan semula.

3. Inisialisasi penyangga (buffer) MD.

4. Pengolahan pesan dalam blok berukuran 512 bit.


1. Penambahan Bit-bit Pengganjal

        Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512.
        Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512.
        Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.


2. Penambahan Nilai Panjang Pesan

        Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula.
        Jika panjang pesan > 264 maka yang diambil adalah panjangnya dalam modulo 264. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64 bit yang ditambahkan menyatakan K modulo 264.
        Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit.


3. Inisialisai Penyangga MD

* MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32 bit. Total panjangpenyangga adalah 4 ´ 32 = 128 bit. Keempat penyangga ini menampung hasil antara dan hasil akhir.

* Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:

A = 01234567

B = 89ABCDEF

C = FEDCBA98

D = 76543210 

4. Pengolahan Pesan dalam Blok Berukuran 512 bit.
    * Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai YL – 1). *
    * Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran 128-bit, dan ini
    disebut proses HMD5. Gambaran proses HMD5 diperlihatkan pada Gambar berikut ini.

  C. Inisialisasi MD5

Pada MD-5 terdapat empat buah word 32 bit register yang berguna untuk menginisialisasi message digest

pertama kali. Register-register ini di inisialisasikan dengan bilangan hexadesimal.

word A: 01 23 45 67

word B: 89 AB CD EF

word C: FE DC BA 98

word D: 76 54 32 10

Register-register ini biasa disebut dengan nama Chain variabel atau variabel rantai.


   D Proses Pesan di Dalam Blok 16 word
Pada MD-5 juga terdapat 4 (empat) buah fungsi nonlinear yang masing-masing digunakan pada tiap operasinya (satu fungsi untuk satu blok), yaitu:
F(X,Y,Z) = (X Ù Y) Ú ((Ø X) Ù Z)
G(X,Y,Z) = (X Ù Z) Ú (Y Ù (Ø Z))
H(X,Y,Z) = X Å Y Å Z
I (X,Y,Z) = Y Å (X Ú (Ø Z))
(Å untuk XOR, Ù untuk AND, Ú untuk OR dan Ø untuk NOT).
Pada Gambar 3.2 dapat dilihat satu buah operasi dari MD-5 dengan operasi yang dipakai sebagai contoh adalah FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<<>
FF(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + F(b,c,d) + Mj + ti) <<<>
GG(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + G(b,c,d) + Mj + ti) <<<>
HH(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + H(b,c,d) + Mj + ti) <<<>
II(a,b,c,d,Mj,s,ti) menunjukan a = b + ((a + I(b,c,d) + Mj + ti) <<<>

CHIPER DAN ALGORITMA D.E.S

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 DES
DES (Data Encryption Standard) adalah algoritma cipher blok yang populer karena dijadikan standard algoritma enkripsi kunci-simetri, meskipun saat ini standard tersebut telah digantikan dengan algoritma yang baru, AES, karena DES sudah dianggap tidak aman lagi. Sebenarnya DES adalah nama standard enkripsi simetri, nama algoritma enkripsinya sendiri adalah DEA (Data Encryption Algorithm), namun nama DES lebih populer daripada DEA. Algoritma DES dikembangkan di IBM dibawah kepemimpinan W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada algoritma Lucifer yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.
DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.






Gambar 6.1 Skema global algoritma DES
Skema global dari algoritma DES adalah sebagai berikut (lihat Gambar 6.1):
1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
2. Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kaH (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.
Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang ;isebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal K,. Keluaran dai =angsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok - yang baru langsung diambil dari blok R sebelumnya. Ini adalah satu putaran DES. Secara watematis, satu putaran DES dinyatakan sebagai
Li=Ri-1 (6.1)
R i=L i-1 f(Ri-1, K i) (6.2)
Gambar 6.3 memperlihatkan skema algoritma DES yang lebih rinci. Satu putaran DES merupakan model jaringan Feistel (lihat Gambar 6.2). Perlu dicatat dari Gambar 6.2 bahwa ika (L,6, R,6) merupakan keluaran dari putaran ke-16, maka (R,6, L,s) merupakan pra­:ipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya diperoleh dengan melakukan permutasi awal balikan, IP-1, terhadap blok pra-cipherteks.

Gambar 6.2. Jaringan Feistel untuk satu putaran DES

Gambar 6.3 Algoritma Enkripsi dengan DES Permutasi Awal
Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial-permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-bit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks permutasi awal berikut ini:

Cara membaca tabel/matriks: dua entry ujung kiri atas (58 dan 50) artinya:
"pindahkan bit ke-58 ke posisi bit 1"
"pindahkan bit ke-50 ke posisi bit 2", dst
Pembangkitan Kunci Internal
Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K,, Kz, ...,K16. Kunci-kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci eksternal panjangnya 64 bit atau 8 karakter.
Misalkan kunci eksternal yang tersusun dari 64 bit adalah K. Kunci eksternal ini menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi PC- 1 sebagai berikut:
Dalam permutasi ini, tiap bit kedelapan (parity bit) dari delapan byte kunci diabaikan. Hasil 7-ermutasinya adalah sepanjang 56 bit, sehingga dapat dikatakan panjang kunci DES adalah 56 bit. Selanjutnya, 56 bit ini dibagi menjadi 2 bagian, kiri dan kanan, yang masing-masing nanjangnya 28 bit, yang masing-masing disimpan di dalam Co dan DO:
CO: berisi bit-bit dari K pada posisi
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
Do: berisi bit-bit dari K pada posisi
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22
14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjang satu atau dua bit bergantung pada tiap putaran.

KRIPTOGRAFI SYMMETRIC DAN ASYMMETRIC

KRIPTOGRAFI SYMMETRIC
Dengan kriptografi symmetric key (kunci simetris), sebuah pesan dapat terenkripsi dan terdekripsi menggunakan kunci yang sama. Baik pengirim maupun penerima message harus memiliki kunci yang sama supaya proses tersebut berjalan dengan sukses. Pengirim menggunakan kunci rahasia untuk mengenkripsi pesan, sedangkan penerima menggunakan kunci yang sama untuk mendekripsi pesan. Sekali pesan telah terenkripsi, message tersebut dapat dikirimkan melalui jaringan tanpa dipahami oleh penyadap







kriptografi symmetric key terbagi menjadi dua yaitu block cipher dan stream cipher
Algoritma-algoritma sandi symmetric key/kunci-simetris: DES (Data Encryption Standard), blowfish, twofish, MARS, IDEA, 3DES , AES – Advanced Encryption Standard, dll


KRIPTOGRAFI ASYMMETRIC 
Permasalahan dari symmetric key/kunci-asimetris adalah kedua pihak harus memiliki key yang sama. Key tersebut harus dikirimkan secara aman menuju penerima dari beberapa sebab sehingga key dapat dicuri dan digunakan untuk mendekripsi sebuah message. Dengan menggunakan asymmetric keys, pengirim mengenkripsi message dengan menggunakan public key penerima. Kemudian penerima mendekripsi message tersebut menggunakan private key. Private key hanya dimiliki oleh penerima. Antara private dan public key merupakan komplemen matematis sehingga message yang terenkripsi menggunakan public key dapat terdekripsi menggunakan private key. Hal tersebut secara komputasi juga sulit untuk membuat private key ulang
menggunakan public key. Algoritma-algoritma sandi kunci-asimetris: Knapsack, RSA (Rivert-Shamir-Adelman), Diffie-Hellman.

SEJARAH DAN TUJUAN KRIPTOGRAFI

Kriptografi sudah digunakan sekitar 40 abad yang lalu oleh orang – orang Mesir untuk mengirim pesan ke pasukan yang berada di medan perang dan agar pesan tersebut tidak terbaca oleh pihak musuh walaupun pembawa pesan tersebut tertangkap oleh musuh. Sekitar 400 SM, kriptografi digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkamen yang dibungkus dengan batang kayu.

Pada zaman Romawi kuno, ketika Julius Caesar ingin mengirimkan pesan rahasia pada seorang Jendral di medan perang. Pesan tersebut harus dikirimkan melalui seorang prajurit, tetapi karena pesan tersebut mengandung rahasia, Julius Caesar tidak ingin pesan tersebut terbuka di tengah jalan. Di sini Julius Caesar memikirkan bagaimana mengatasinya yaitu dengan mengacak isi pesan tersebut menjadi suatu pesan yang tidak dapat dipahami oleh siapapun kecuali hanya dapat dipahami oleh Jendralnya saja. Tentu sang Jendral telah diberi tahu sebelumnya bagaimana cara membaca pesan yang teracak tersebut, karena telah mengetahui kuncinya.

Pada perang dunia kedua, Jerman menggunakan mesin enigma atau juga disebut dengan mesin rotor yang digunakan Hitler untuk mengirim pesan kepada tentaranya di medan perang. Jerman sangat percaya bahwa pesan yang dienkripsi menggunakan enigma tidak dapat dipecahkan. Tapi anggapan itu keliru, setelah bertahun-tahun sekutu mempelajarinya dan berhasil memecahkan kode-kode tersebut. Setelah Jerman mengetahui bahwa enigma dapat dipecahkan, maka enigma mengalami beberapa kali perubahan. Enigma yang digunakan Jerman dapat mengenkripsi suatu pesan sehingga mempunyai (15).(10)^18 kemungkinan untuk dapat mendekripsi pesan.

Perkembangan komputer dan sistem komunikasi pada tahun 60-an berdampak pada permintaan dari pihak – pihak tertentu sebagai sarana untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan. Dimulai dari usaha Feistel dari IBM di awal tahun 70-an dan mencapai puncaknya pada 1977 dengan pengangkatan DES (Data Encryption Standard) sebagai standar pemrosesan informasi federal Amerika Serikat untuk mengenkripsi informasi yang tidak belum diklasifikasi. DES merupakan mekanisme kriptografi yang paling dikenal sepanjang sejarah.

Pengembangan paling mengejutkan dalam sejarah kriptografi terjadi pada 1976 saat Diffie dan Hellman mempublikasikan ”New Directions in Cryptography”. Tulisan ini memperkenalkan konsep revolusioner kriptografi kunci publik dan juga memberikan metode baru untuk pertukaran kunci, keamanan yang berdasar pada kekuatan masalah logaritma diskret. Meskipun Diffie dan Hellman tidak memiliki realisasi praktis pada ide enkripsi kunci publik saat itu, idenya sangat jelas dan menumbuhkan ketertarikan yang luas pada komunitas kriptografi. Pada 1978 Rivest, Shamir dan Adleman menemukan rancangan enkripsi kunci publik dan tanda tangan digital, yang sekarang disebut RSA. Rancangan RSA berdasar pada masalah faktorisasi yang sulit untuk kriptografi, dan menggiatkan kembali usaha untuk menemukan metode yang lebih efisien untuk pemfaktoran. Tahun 80-an menunjukkan peningkatan luas di area ini, sistem RSA masih aman. Sistem lain yang merupakan rancangan kunci publik ditemukan oleh Taher ElGamal pada tahun 1985. Rancangan ini berdasar pada masalah logaritma diskret.

Salah satu kontribusi penting dari kriptografi kunci publik adalah tanda tangan digital. Pada 1991 standar internasional pertama untuk tanda tangan digital diadopsi. Standar ini berdasar pada rancangan kunci publik RSA. Pada 1994 pemerintah Amerika Serikat mengadopsi Digital Signature Standard, sebuah mekanisme kriptografi yang berdasar pada algoritma kunci publik ElGamal.

Ada empat tujuan dari ilmu kriptografi, yaitu :

* Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas,
* 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 menyangkut penyisipan, penghapusan, dan pensubtitusian data lain ke dalam data yang sebenarnya
* Autentikasi, adalah berhubungan dengan identifikasi, 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, yang berarti begitu pesan terkirim, maka tidak akan dapat dibatalkan.

ABOUT KRIPTOGRAFI


Definisi Kriptografi
Apa sih itu kriptografi ????, Menurut sumber [buku jelajah kriptologi] yang saya baca kriptografi itu:

*. Seni atau ilmu untuk menjaga kerahasiaan berita.
*. Ilmu menyandikan dan mengupas berita-berita kode rahasia atau sandi.
*. Pembelajaran dari teknik matematika yang terkait dengan aspek dalam keamanan informasi yaitu confidentiality, data integrity, entity authentication dan data origin authentication.
*. Ilmu yang berguna untuk mengacak (kata yang lebih tepat adalah masking) data sedemikian rupa sehingga tidak bisa dibaca oleh pihak ketiga. Tentu saja data yang diacak harus bisa dikembalikan ke bentuk semula oleh pihak yang berwenang.
*. Masih banyak lagi, cari aja sendiri.OK

 Pesan, Plainteks, Cleartext dan Cipherteks

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks

Pengirim dan Penerima

Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit dan sebagainya.

Enkripsi (Enchiper,Encrypt,Encode,Act of scrambling) dan dekripsi (Decipher,Decrypt, Decode, Descrambling with secret key)

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi

Cipher dan kunci (Key,Cryptovariable)

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut.

 Sistem kriptografi

Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci.

 Penyadap

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

Kriptanalisis dan kriptologi
Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.