Macam-Macam
Enkripsi
Algoritma Sandi
algoritma sandi adalah algoritma yang berfungsi untuk
melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk
melakukan (dikemukakan oleh Shannon):
- konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya
- difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang.
sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya
sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari
keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal
adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada
kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan
algoritma sandi adalah kriptanalisa.
Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan
yaitu yang berisi elemen teks terang / plaintext dan yang
berisi elemen teks sandi/ciphertext. Enkripsi
dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut.
Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks
sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E,
dekripsi dengan notasi D.
Enkripsi : E(P)=C Dekripsi : D(C)=P atau D(E(P))=P
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan
menjadi :
- kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
- kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan
menjadi :
- algoritma sandi klasik classic cryptography
- algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
- algoritma sandi kunci rahasia secret-key
- algoritma sandi kunci publik publik-key
Pada skema kunci-simetris, digunakan sebuah kunci rahasia yang sama untuk
melakukan proses enkripsi dan dekripsinya. Sedangkan pada sistem
kunci-asimentris digunakan sepasang kunci yang berbeda, umumnya disebut kunci
publik(public key) dan kunci
pribadi (private key), digunakan
untuk proses enkripsi dan proses dekripsinya. Bila elemen teks terang
dienkripsi dengan menggunakan kunci pribadi maka elemen teks sandi yang
dihasilkannya hanya bisa didekripsikan dengan menggunakan pasangan kunci
pribadinya. Begitu juga sebaliknya, jika kunci pribadi digunakan untuk proses
enkripsi maka proses dekripsi harus menggunakan kunci publik pasangannya.
1. 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.
a. 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 :
b. 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 digunakan kunci yang merupakan hasil
pembangkitan dari kunci sebelum.
Algoritma-algoritma sandi
kunci-simetris
Beberapa
contoh algoritma yang menggunakan kunci-simetris:
·
blowfish
·
twofish
·
MARS
·
IDEA
2. 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
![](file:///C:\Users\FRIAND~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png)
·
Knapsack
3. 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.
Fungsi Hash sering disebut dengan funsi satu
arah (one-way function), message digest, fingerprint,
fungsi kompresi dan message authentication code (MAC), merupakan suatu
fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke
dalam urutan biner dengan panjang yang tetap. Fungsi Hash biasanya diperlukan
bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan
suatu tanda bahwa pesan tersebut benar-benar berasal dari orang-orang yang
diinginkan.
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)
Contoh
Algoritma has
Kini akan
dibahas mengenai keutuhan pesan saat dikirimkan. Bagaimana jika Anto
mengirimkan surat pembayaran kepada Badu sebesar 1 juta rupiah, namun di tengah
jalan Maman (yang ternyata berhasil membobol sandi entah dengan cara apa)
membubuhkan angka 0 lagi dibelakangnya sehingga menjadi 10 juta rupiah? Di mata
Tari, pesan tersebut harus utuh, tidak diubah-ubah oleh siapapun, bahkan bukan
hanya oleh Maman, namun juga termasuk oleh Anto, Badu dan gangguan pada transmisi
pesan (noise). Hal ini dapat dilakukan dengan fungsi hash satu
arah (one-way hash function), yang terkadang disebut sidik jari (fingerprint),
hash, message integrity check, atau manipulation detection
code.
![](file:///C:\Users\FRIAND~1\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png)
Saat Anto
hendak mengirimkan pesannya, dia harus membuat sidik jari dari pesan yang akan
dikirim untuk Badu. Pesan (yang besarnya dapat bervariasi) yang akan di-hash
disebut pre-image, sedangkan outputnya yang memiliki ukurannya tetap,
disebut hash-value (nilai hash). Kemudian, melalui saluran
komunikasi yang aman, dia mengirimkan sidik jarinya kepada Badu. Setelah Badu
menerima pesan si Anto – tidak peduli lewat saluran komunikasi yang mana Badu
kemudian juga membuat sidik jari dari pesan yang telah diterimanya dari Anto.
Kemudian Badu membandingkan sidik jari yang dibuatnya dengan sidik jari yang
diterimanya dari Anto. Jika kedua sidik jari itu identik, maka Badu dapat yakin
bahwa pesan itu utuh tidak diubah-ubah sejak dibuatkan sidik jari yang diterima
Badu. Jika pesan pembayaran 1 juta rupiah itu diubah menjadi 10 juta rupiah,
tentunya akan menghasilkan nilai hash yang berbeda.
Fungsi hash
untuk membuat sidik jari tersebut dapat diketahui oleh siapapun, tak
terkecuali, sehingga siapapun dapat memeriksa keutuhan dokumen atau pesan
tertentu. Tak ada algoritma rahasia dan umumnya tak ada pula kunci rahasia.
Jaminan dari
keamanan sidik jari berangkat dari kenyataan bahwa hampir tidak ada dua
pre-image yang memiliki hash-value yang sama. Inilah yang disebut dengan
sifat collision free dari suatu fungsi hash yang baik. Selain
itu, sangat sulit untuk membuat suatu pre-image jika hanya diketahui hash-valuenya
saja.
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.
Algoritma-Algoritma Fungsi Hash
Kriptografi
Beberapa contoh algoritma fungsi
hash Kriptografi:
·
MD4
·
MD5
·
SHA-0
·
SHA-1
·
SHA-256
·
SHA-512
1 komentar
Informasinya sangat bermanfaat Terima Kasih...My blog
Posting Komentar