Salah satu metode pengamanan yang dapat dilakukan untuk pengamanan pesan adalah dengan menggunakan kriptografi. Kriptografi telah digunakan selama berabad-abad oleh raja dan ratu di Eropa untuk memberi perintah terhadap pasukan perang mereka. Secara garis besar berdasarkan peralatan dan penerapannya kriptografi terbagi menjadi dua jenis kriptografi, yaitu klasik dan modern.
Kriptografi Klasik
1. Scytale
Metode scytale digunakan oleh bangsa Sparta sekitar tahun 475 S.M pada jaman Yunani kuno untuk memperkuat kekuatan militer mereka. Scytale terbuat dari tongkat dengan lembaran papyrus yang mengelilingi secara spiral di mana diameter tongkatlah yang menjadi kunci rahasia. Jadi walaupun pihak lawan memiliki pesan yang ada di lembaran papyrus tersebut, hanya orang yang memiliki diameter tongkat yang benarlah yang bisa membaca isi pesan.
2. Caesar Cipher
Caesar cipher pertama kali digunakan oleh Julius Caesar untuk menaklukkan banyak bangsa-bangsa di Eropa. Teknik yang digunakan adalah menyubstitusikan alphabet secara berurutan dengan kunci berupa alphabet yang digeser sejumlah bilangan tertentu ke kanan.
Misalkan A = 0, B = 1, …, Z = 25, maka secara matematis caesar cipher dirumuskan sebagai berikut:- Enkripsi: ci = E(pi) = (pi + 3) mod 26
- Dekripsi: pi = D(ci) = (ci – 3) mod 26
Jika pergeseran huruf sejauh k, maka:
- Enkripsi: ci = E(pi) = (pi + k) mod 26
- Dekripsi: pi = D(ci) = (ci – k) mod 26
- k = kunci rahasia
Untuk 256 karakter ASCII, maka:
- Enkripsi: ci = E(pi) = (pi + k) mod 256
- Dekripsi: pi = D(ci) = (ci – k) mod 256
- k = kunci rahasia
Kelemahan Caesar cipher adalah mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
Karakteristik Kriptografi Klasik
Kriptografi klasik dapat di karakteristikkan kedalam tiga area :
1. Tipe Operasi
Tipe operasi yang digunakan untuk merubah plainteks ke ciperteks. Terdapat dua prinsip umum untuk algoritma pengenkripsian yaitu substitusi (menukar bit, karakter, atau blok karakter dari plainteks dengan substitusi) dan transposisi (menyusun elemen-elemen plainteks). Pada area ini, seluruh operasi harus dapat dibalik dan tidak ada informasi yang hilang.
Cipher Subtitusi
Cipher abjad tunggal atau monoalphabetic cipher. Satu karakter di plainteks diganti dengan satu karakter yang bersesuaian. Jumlah kemungkinan susunan huruf-huruf cipherteks yang dapat dibuat adalah sebanyak :
26! = 403.291.461.126.605.635.584.000.000
Contoh: Caesar Cipher Polyalphabetic substitution cipher.
Panjang kunci sepanjang plainteks. Jika kunci kurang dari plainteks, maka kunci di ulang sepanjang plainteks. Contoh Vigenere Cipher:
Plainteks: SHE SELLS SEA SHELLS
+ Kunci : KEY KEYKE YKE YKEYKE
Cipherteks: CLC CIJVW QOE QRIJVW
Cipher Transposisi / Permutasi
Cipherteks diperoleh dengan mengubah posisinya. Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks. Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.
2. Jumlah Kunci yang Digunakan
Jumlah kunci yang digunakan. Terdapat dua sistem yaitu simetri atau enkripsi kunci rahasia (pengirim dan penerima menggunakan kunci yang sama) dan asimetri atau enkripsi kunci publik (pengirim dan penerima menggunakan kunci yang berbeda). Telah dijelaskan pada sub-bab sebelumnya.
3. Cara Proses Plaintext
Terdapat dua proses, cipher blok (adalah suatu fungsi pemetaan n-bit blok plainteks ke n-bit blok cipherteks) dan cipher stream (string plainteks dan menghasilkan string cipherteks, dimana pada suatu blok tertentu saling berhubungan dengan blok tertentu lainnya).
Cipher Blocking
Sistem enkripsi terkadang membagi plainteks menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsikan secara independen. Dengan menggunakan enkripsi blocking dipilih jumlah lajur dan kolom untuk penulisan pesan. Jumlah lajur atau kolom menjadi kunci bagi kriptografi dengan teknik ini.
Contoh Reverse Cipher:
Misalkan plainteks adalah "FAKULTAS TEKNIK INFORMATIKA UMRAH"
Kunci baris 5, kolom 6; maka untuk melakukan enkripsi:
Enkripsi :
Cipherteks: (baca secara vertikal) FAIRAASKMUKTIAMUENTRLKFIATNOKH
Untuk melakukan dekripsi bagi panjang cipherteks dengan kunci kolom: 30/6 = 5, maka :
Plainteks: (dibaca secara vertikal) FAKULTAS TEKNIK INFORMATIKA UMRAH
Ekspansi
Suatu metode sederhana untuk mengacak pesan adalah dengan “memelarkan” pesan itu dengan aturan tertentu. Salah satu contoh penggunaan teknik ini adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di akhir kata itu dan menambahkan akhiran -"an". Bila suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran "i". Proses enkripsi dengan cara ekspansi terhadap plainteks terjadi sebagai berikut :
Plainteks: 5 TEKNIK DASAR KRIPTOGRAFI Cipher: 5AN EKNIKTAN ASARDAN RIPTOGRAFIKAN
Kriptografi Modern
Kriptografi modern menggunakan gagasan dasar yg sama seperti kriptografi klasik (permutasi & transposisi) tetapi penekanannya berbeda. Bila kriptografi klasik berorientasi pada karakter, kriptografi modern berorientasi pada bit, sehingga penyandiannya dengan menggunakan media komputer. Kriptografi modern tidak selalu berupa karakter, tetapi bisa berupa gambar atau video.
Kategori algoritma (cipher) berbasis bit adalah sebagai berikut:
1. Stream Cipher (cipher aliran).
Tipe ini beroperasi pada bit tunggal. Mengenkripsi plainteks menjadi chiperteks bit per bit (1 bit setiap kali transformasi) atau byte per byte (1 byte setiap kali transformasi) dengan kunci keystream. Diperkenalkan oleh Vernam melalui algoritmanya, Vernam Cipher. Vernam cipher diadopsi dari one-time pad cipher, yang dalam hal ini karakter diganti dengan bit (0 atau 1).
Bit-bit kunci untuk enkripsi/dekripsi disebut keystream. Keystream dibangkitkan oleh keystream generator. Keystream di-XOR-kan dengan bit-bit plainteks, p1, p2, …, pn menghasilkan aliran bit-bit cipherteks:
ci = pi ⊕ ki
Di sisi penerima dibangkitkan keystream yang sama untuk mendekripsi aliran bit-bit cipherteks:
pi = ci ⊕ ki
keamanan sistem ini bergantung pada keystream generator.
Keystream generator diimplementasikan sebagai prosedur yang sama di sisi pengirim dan penerima pesan. Keystream generator dapat membangkitkan keystream berbasis bit per bit atau dalam bentuk blok-blok bit. Jika keystream berbentuk blok-blok bit, cipher blok dapat digunakan untuk untuk memperoleh cipher aliran.
Contoh keysteam generator ada yang dikenal dengan Linear Feefback Shift Register (LFSR). LFSR terdiri dari dua bagian: register geser (n bit) dan fungsi umpan balik.
2. Block Cipher
Bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama, misalnya 64 bit. Panjang kunci enkripsi = panjang blok. Enkripsi dilakukan terhadap blok bit plainteks menggunakan bit-bit kunci. Algoritma enkripsi menghasilkan blok cipherteks yang panjangnya = blok plainteks.
Blok plainteks berukuran m bit:
P = (p1, p2, …, pm), pi ∊ {0, 1}
Blok cipherteks (C) berukuran m bit:
C = (c1, c2, …, cm), ci ∊ {0, 1}
Block cipher memiliki 4 mode operasi. Mode operasi merupakan model yang berkaitan dengan cara blok dioperasikan.
- Electronic Code Block (ECB)
- Cipher Block Chaining (CBC)
- Cipher Feedback (CFB)
- Output Feedback (OFB)
0 Comments
Komentar akan dimoderasi terlebih dahulu untuk sementara karena ada beberapa komentar yg mengandung spam porno. Jadi komentar tidak akan langsung muncul sebelum disetujui.
Dilarang berkomentar yang mengandung porno, judi, spam, rasis, promosi iklan dan sara.
Form komentar akan di nonaktifkan setelah komentar mencapai 30 komentar lebih.