A. Sejarah
dan Pengertian kriptografi
Kriptografi
adalah kata serapan dari bahasa asing, dalam hal ini bahasa inggris, yaitu
cryptography. Cryptography atau cryptology berasal dari bahasa Yunani, yaitu
κρυπτός, kryptos, "hidden, secret" atau “tersembunyi, rahasia”, dan
γράφω, gráphō, "I write" atau “aku menulis”, dan -λογία, -logia atau “ilmu”. Kriptografi
adalah ilmu atau seni untuk menyembunyikan informasi. Proses menyembunyikan
informasi ini dilakukan dengan teknik penyandian, atau mengubah pesan atau informasi
menjadi sandi-sandi yang tidak dimengerti oleh orang lain, selain pembuat dan
penerimanya.
Pada
kriptografi dikenal istilah-istilah seperti plain text, cipher text, enkripsi,
dan dekripsi. Plain text adalah pesan asli yang ingin dikirimkan. Cipher text
adalah pesan yang telah disandikan dengan metode enkripsi tertentu. Enkripsi
adalah proses mengubah sebuah plain text menjadi cipher text, dan dekripsi
adalah proses mengubah sebuah cipher text menjadi plain text.
Transaksi
data banyak dilakukan dalam kehidupan sehari-hari. Beberapa informasi yang
dikirimkan tersebut adalah informasi-informasi yang bersifat rahasia dan
pribadi. Karena itu data-data yang dikirimkan perlu dirahasiakan sehingga pihak
lain yang mencoba mendapatkan informasi tersebut tanpa izin tidak akan dapat
mengetahuinya.
Pada
masa lalu, informasi yang dianggap rahasia adalah seperti pada masa peperangan.
Informasi mengenai operasi militer, kekuatan militer, dan sebagainya adalah
informasi yang tidak boleh sampai ketahuan oleh pihak musuh. Karena itu
informasi-informasi ini perlu disandikan ketika ingin dikirimkan ke tempat
lain, sehingga jika informasi yang dikirim jatuh ke tangan pihak musuh, mereka
tetap tidak mengerti. Sementara pada era modern ini, kita sering melakukan
transaksi secara elektronik. Transaksitransaksi ini juga perlu dilindungi
karena mengandung informasi yang bersifat pribadi, misalnya nomor kartu kredit.
Karena itu kriptografi menjadi sebuah cabang ilmu yang terus diteliti dan
dikembangkan untuk melindungi kerahasiaan data.
Sebelum
era modern ini, manusia telah menggunakan teknik penyandian dalam pertukaran
atau pengiriman informasi yang dianggap sangat rahasia. Pesan-pesan yang
dikirim diubah menjadi 4 sandi-sandi sehingga orang yang menyadap tidak dapat
mengetahui isi pesan tanpa pengetahuan mengenai cara penyandian.
Scytale
yang dimiliki masyarakat Yunani kuno mungkin merupakan salah satu alat pertama
yang digunakan untuk menyandikan sebuah pesan. Cara kerja scytale ini adalah
pesan yang ingin dikirim dituliskan di secarik kulit yang dililitkan di
sebatang kayu berbentuk silinder sehingga jika dilepaskan, maka tulisan
tersebut menjadi teracak. Orang yang dapat menyandikan kembali pesan itu ke
pesan yang sebenarnya perlu memiliki kayu yang berukuran sama (atau kayu yang
sama). Scytale ini termasuk dalam transposition cipher yaitu metode enkripsi
yang melakukan perubahan posisi terhadap karakter-karakter di pesan asli.
Misalnya pesan “saya disini” dapat disandikan menjadi “ini sidayas” dengan
menggunakan transposition cipher ini.
Dikenal
juga substitution cipher, atau metode enkripsi yang melakukan substitusi
terhadap karakter-karakter pada pesan asli. Salah satu substitution cipher yang
terkenal adalah Caesar Cipher yang mengubah setiap huruf dari pesan asli dengan
huruf ke sekian di depannya. metode ini diberi nama menurut nama Julius Caesar
yang dipercaya menggunakan metode ini untuk berkomunikasi dengan
jendral-jendralnya selama peperangan.
Pada
perang dunia II, banyak negara yang juga mengembangkan dan menggunakan mesin-mesin
tertentu untuk menyandikan pesan mereka. Contohnya seperti Mesin Lorenz dan
Enigma yang digunakan oleh militer Jerman.
Perkembangan
teknologi dan ditemukannya komputer membuat penggunaan algoritma kriptografi
yang lebih kompleks lagi menjadi terbuka kemungkinannya. Banyak penelitian
mengenai algoritma kriptografi telah dilakukan sehingga muncul metode baru
dalam sistem penyandian pesan. Metode-metode enkripsi yang selama ini dikenal
adalah dengan menggunakan sebuah kunci atau kode khusus yang digunakan untuk
menyandikan dan membaca pesan.
Misalnya
dalam Caesar Cipher digunakan 3 huruf setelah huruf yang digunakan untuk
menyandikan pesan. Dan hal itu berarti untuk membaca pesan, kita cukup
menggeser setiap huruf yang muncul dengan 3 huruf sebelumnya. Metode ini
dikenal dengan symmetric-key cryptography, dimana untuk membaca dan menyandikan
sebuah pesan digunakan sebuah key atau kunci yang sama.
Di
tahun 1976, sebuah sistem kriptografi yang asymmetric-key dipublikasikan oleh
Whitfield Diffie dan Martin Hellman yang dipengaruhi oleh metode distribusi
kunci publik (public-key) yang dikembangkan oleh Ralph Merkle. Sistem
pertukaran kunci ini dikenal dengan nama Diffie- Hellman key exchage (pada
tahun 2002, Hellman menyarankan agar nama ini diubah menjadi Diffie-Hellman-Merkle
key exchage atas jasa Merkle dalam penemuan metode public-key). Sistem 5 ini
juga disebut public-key cryptography.
Dalam
public-key cryptography, kedua pihak yang ingin mengirimkan dan menerima pesan
akan saling bertukar kunci yang digunakan untuk mengenkripsi data, sedangkan
kunci untuk melakukan dekripsi tetap dirahasiakan. Salah satu public-key
cryptography adalah kriptografi RSA.
B. Komponen
Kriptografi
·
Plain text : Sumber berita/pesan/teks asli
·
Cipher text : Teks yang sudah diproses
(diacak, digantikan)
·
Algoritma & kunci : Misal: subsitusi (algoritma) &
number of shift (kunci)
Pemisahan algoritma &
kunci ditemukan oleh Auguste
Kerckhoffs von Niewenhof
(1883)
C. Tujuan Kriptografi
Kriptografi bertujuan untuk memberikan layanan pada
aspek-aspek keamanan antara lain:
1. kerahasiaan (confidentiality), yaitu
menjaga supaya pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak,
2. integritas data (data integrity), yaitu
memberikan jaminan bahwa untuk tiap bagian pesan tidak akan mengalami perubahan
dari saat data 10 dibuat/dikirim oleh pengirim sampai dengan saat data tersebut
dibuka oleh penerima data,
3. otentikasi
(authentication), yaitu berhubungan dengan identifikasi, baik
mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun
mengidentifikasi kebenaran sumber pesan,
4.
nirpenyangkalan (non repudiation),
yaitu memberikan cara untuk membuktikan
bahwa suatu dokumen datang dari seseorang tertentu sehingga apabila ada
seseorang yang mencoba mengakui memiliki dokumen tersebut, dapat dibuktikan
kebenarannya dari pengakuan orang tersebut.
D. Jenis Algoritma Kriptografi
Berdasarkan
kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan
menjadi 2 macam, yaitu kriptografi simetri (symetric cryptography) dan
kriptografi asimetri asymetric cryptography).
1. Kriptografi
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:
·
Cipher aliran ( stream cipher)
Algoritma
kriptografi 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.
·
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. Cipher
blok mengenkripsi satu blok bit setiap kali.
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)
2.
Kriptografi Asimetri (Asymetric
Cryptography)
Pada sistem kriptografi asimetri, kunci untuk proses enkripsi tidak sama
dengan kunci
untuk proses dekripsi. Istilah lain untuk kriptografi asimetri adalah
kriptografi
kunci publik (public key cryptography), sebab kunci untuk enkripsi
tidak rahasia
dan dapat diketahui oleh siapapun, sementara kunci untuk dekripsi
hanya
diketahui oleh penerima pesan.
Berdasarkan arah implementasi dan pembabakan jamannya
dibedakan menjadi :
- algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan
menjadi :
- algoritma sandi kunci publik publik-key
E. Fungsi
Hash Satu Arah
Fungsi hash satu arah (one-way hash
function) digunakan untuk membuat sidik jari (fingerprint) dari suatu dokumen
atau pesan X. Pesan X (yang besarnya dapat bervariasi) yang akan di-hash
disebut pre-image, sedangkan outputnya yang memiliki ukuran tetap, disebut
hash-value (nilai hash). Fungsi hash dapat diketahui oleh siapapun, tak
terkecuali, sehingga siapapun dapat memeriksa keutuhan dokumen atau pesan X
tersebut. Tak ada algoritma rahasia dan umumnya tak ada pula kunci rahasia.
Contoh algoritma fungsi hash satu arah adalah MD-5 dan SHA. Message
Authentication Code (MAC) adalah salah satu variasi dari fungsi hash satu arah,
hanya saja selain pre-image, sebuah kunci rahasia juga menjadi input bagi
fungsi MAC.
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)
Beberapa
contoh algoritma fungsi hash Kriptografi:
1.
MD4
2.
MD5
3.
SHA-0
4.
SHA-1
5.
SHA-256
6.
SHA-512
F. Tanda
Tangan Digital
Selama ini, masalah tanda tangan digital
masih sering di permasalahkan keabsahannya, hal ini terjadi karena pengertian
dan konsep dasarnya belum dipahami. Penandatanganan digital terhadap suatu
dokumen adalah sidik jari dari dokumen tersebut beserta timestamp-nya di
enkripsi dengan menggunakan kunci privat pihak yang menandatangani. Tanda
tangan digital memanfaatkan fungsi hash satu arah untuk menjamin bahwa tanda
tangan itu hanya berlaku untuk dokumen yang bersangkutan saja. Keabsahan tanda
tangan digital itu dapat diperiksa oleh pihak yang menerima pesan.
G. Dasar
Matematis
1.
Konsep Dasar Kriptografi
Dasar matematis yang
mendasari proses enkripsi dan dekripsi adalah relasirelasi himpunan yaitu
himpunan yang berisi elemen plainteks dan himpunan yang berisi elemen
cipherteks [4]. Enkripsi dan dekripsi merupakan fungsi transformasiantara dua
himpunan tersebut. Bila himpunan plainteks dinotasikan dengan P danhimpunan
cipherteks dinotasikan dengan C, sedangkan fungsi enkripsidinotasikan dengan E
dan fungsi dekripsi dinotasikan dengan D maka proses enkripsi dan dekripsi
dapat dinyatakan dalam notasi matematis sebagai berikut :
E(P) = C
D(C) = P
Karena
proses enkripsi dan dekripsi bertujuan untuk memperoleh kembali data asal, maka
:
D(E(P)) = P
Relasi
antara himpunan plainteks dengan himpunan cipherteks merupakan korespondensi
satu-satu. Hal ini merupakan keharusan untuk mencegah terjadinya ambigu dalam
dekripsi yaitu satu elemen cipherteks menyatakan lebih dari satu elemen
plainteks.
Pada
metode kriptografi simetris hanya menggunakan satu buah kunci untuk proses
enkripsi dan dekripsi. Bila kunci dinotasikan dengan k maka proses enkripsi
dan dekripsi kriptografi simetris dapat dinyatakan sebagai berikut :
E
k (P) C =D k (C) P Maka: D (E (P))=P
Pada metode kriptografi asimetris menggunakan kunci
umum untuk enkripsi dan kunci pribadi untuk dekripsi. Bila kunci umum
dinotasikan dengan pk dan kunci pribadi dinotasikan dengan sk,
maka proses enkripsi dan dekripsi kriptografi asimetris dapat dinyatakan
sebagai berikut :
E pk (P) =C
D sk (C)=P
Maka:
D sk (E pk (P))=P
2. Aritmatika
Modular
Aritmetika modular merupakan operasi
matematika yang banyak diimplementasikan pada metode kriptografi. Pada metoda
kriptografi simetris, operasi aritmetika modular yang sering dipakai adalah
operasi penjumlahan modulo dua dan operasi XOR (Exclusive OR) dengan simbol ⊕.. operasi modulo dua ini melibatkan bilangan 0 dan 1 saja
sehingga identik dengan bit pada komputer. Seluruh kemungkinan nilai operasi
XOR ini dapat dilihat pada table dibawah ini :
Dari tabel diatas dapat dilihat
sifat-sifat unik operasi XOR yaitu :
A ⊕ A = 0, A ⊕ 0 = A, A ⊕ 1 = A’, dengan A’ adalah komplemen
dari A.
thanks, artikelnya cukup bermanfaat dan membantu saya membuat tugas algoritma kriptografi :D
BalasHapusPanduan phototoshop
ini contoh algoritma kriptografi klasik http://arfianhidayat.com/algoritma-kriptografi-vigenere-cipher
BalasHapussemoga membantu menambah referensi
Algoritma itu makanan apa tumbuhan yah
BalasHapus