RESUME
KRIPTOGRAFI DAN CODING
A. Kriptografi
Kriptografi
berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia)
dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi
adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari
suatu tempat ke tempat yang lain.
Sejarah
penulisan rahasia tertua dapat ditemukan pada peradaban Mesir kuno, yakni tahun
3000 SM. Bangsa Mesir menggunakan ukiran rahasia yang disebut dengan
hieroglyphics untuk menyampaikan pesan kepada orang-orang yang berhak.
Awal
tahun 400 SM bangsa Spartan di Yunani memanfaatkan kriptografi di bidang
militer dengan menggunakan alat yang disebut scytale, yakni pita panjang
berbahan daun papyrus yang dibaca dengan cara digulungkan ke sebatang silinder.
Sedangkan peradaban Cina dan Jepang menemukan kriptografi pada abad 15 M.
Peradaban
Islam juga menemukan kriptografi karena penguasaannya terhadap matematika,
statistik, dan linguistik. Bahkan teknik kriptanalisis dipaparkan untuk pertama
kalinya pada abad 9 M oleh seorang ilmuwan bernama Abu Yusuf Ya’qub ibn ‘Ishaq
as-Shabbah al Kindi atau dikenal dengan Al-Kindi yang menulis kitab tentang
seni memecahkan kode. Kitabnya berjudul Risalah fi Istikhraj al-Mu’amma
(Manuskrip untuk memecahkan pesan-pesan Kriptografi). Terinspirasi dari
perulangan huruf dalam Al-Qur’an, Al-Kindi menemukan teknik analisis frekuensi,
yakni teknik untuk memecahkan ciphertext berdasarkan frekuensi kemunculan
karakter pada sebuah pesan (Wirdasari, 2008).
Di
dalam kriptografi kita akan sering menemukan berbagai istilah atau terminology.
Beberapa istilah yang harus diketahui yaitu :
1. Pesan, plaintext,
dan cipherteks
Pesan
(message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya.
Nama lain untuk pesan adalah (plaintext)
atau teks jelas (cleartext). Agar pesan tidak dapat dimengerti maknanya oleh
pihak lain yang tidak berkepentingan, maka pesan perlu disandikan kebentuk lain
yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram
(cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi
plaintext semula agar dapat diterima dan bisa dibaca.
2. Pengirim dan
penerima
Komunikasi
data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah
entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah
entitas yang menerima pesan. Pengirim tentu menginginkan pesan dapat dikirm
secara aman, yaitu pengirim yakin bahwa pihak lain tidak dapat membaca isi
pesan yang dikirim. Solusinya adalah dengan cara menyandikan pesan menjadi
cipherteks.
3. Enkripsi dan
dekripsi
Proses
menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau
enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks
disebut dekripsi (decryption) atau deciphering.
4. Cipher dan kunci
Algoritma
kriptogarfi disebut juga cipher, yaitu aturan untuk enkripsi dan dekripsi, atau
fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher
memerlukan algoritma yang berbeda untuk enciphering dan deciphering.
Konsep
matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah
himpunan yang berisi elemen – elemen plainteks dan himpunan yang berisi
cipherteks. Enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-
elemen antara dua himpunan tersebut. Misalkan P menyatakan plainteks dan C
menyatakan cipherteks, maka fungsi enkripsi E memetakan P ke C.
E(P)
= C
Dan
fungsi dekripsi D memetakan C ke P
D(C)
= P
Karena
proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan semula, maka
kesamaan berikut harus benar,
D(E(P))
= P
Kriptografi
mengatasi masalah keamanan data dengan menggunakan kunci, yang dalam hal ini
algoritma tidak dirahasiakan lagi, tetapi kunci harus tetap dijaga
kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi
enciphering dan deciphering. Kunci biasanya berupa string atau deretan
bilangan. Dengan menggunakan K, maka fungsi enkripsi dan dekripsi dapat ditulis
sebagai :
EK(P)=C
dan DK(C)=P
Dan
kedua fungsi ini memenuhi
DK
(EK(P)) = C
Keterangan
: P = plainteks
C
= cipherteks
K
= kunci
EK
= proses enkripsi menggunakan kunci K
DK
= proses dekripsi menggunakan kunci K
5. Sistem kriptografi
Kriptografi
membentuk sebuah sistem yang dinamakan sistem Kriptografi. Sistem kriptografi
(cryptosystem) adalah kumpulan yang terdiri dari algoritma kriptografi, semua
plainteks dan cipherteks yang mungkin, dan kunci. Di dalam kriptografi, cipher
hanyalah salah satu komponen saja.
6. Penyadap
Penyadap
(eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan.
Tujuan penyadap adalah untuk mendapatkan informasi sebanyak - banyaknya
mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud
untuk memecahkan cipherteks. Nama lain penyadap : enemy, adversary, intruder,
interceptor, bad guy.
7. Kriptanalisis dan
kriptologi
Kriptografi
berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu
kriptanalisis. Kriptanalisis ( cryptanalysis) adalah ilmu dan seni untuk
memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan.
Pelakunya disebut kriptanalis. Jika seorang kriptografer (cryptographer)
mentransformasikan plainteks menjadi cipherteks dengan suatu algoritma dan
kunci maka sebaliknya seorang kriptanalis berusaha untuk memecahkan cipherteks
tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptology) adalah
studi mengenai kriptografi dan kriptanalisis.
2.1.2 Tujuan
kriptografi
1. Kerahasiaan
(confidentiality)
Kerahasiaan
adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh
pihak – pihak yang tidak berhak. Di dalam kriptografi layanan ini
direalisasikan dengan menyandikan plainteks menjadi cipherteks. Misalnya pesan
“harap datang pukul 8” disandikan menjadi “trxC#45motyptre!%”. istilah lain
yang senada dengan confidentiality adalah secrecy dan privacy.
2. Integritas data
(data integrity)
Integritas
data dalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah
dimanipulasi selama pengiriman. Dengan kata lain, aspek keamanan ini dapat
diungkapkan sebagai pertanyaan: “ apakah pesan yang diterima masih asli atau
tidak mengalami perubahan (modifikasi)?”.
3. Otentikasi
(authentication)
Otentifikasi
adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi
kebenaran pihak – pihak yang berkomunikasi ( user autehentication). Dua pihak
yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia
dapat memastikan sember pesan.
4. Nirpenyangkalan
(non-repudiation)
Nirpenyangkalan
adalah layanan untuk menjaga entitas yang berkomunikasi melakukan penyangkalan,
yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan
menyangkal telah menerima pesan.
B. Coding
Coding
di istilahkan ke dalam bahasa Indonesia adalah Pemrograman. Bahasa yang
digunakan oleh OS (Operating System) dalam melakukan suatu tugas tertentu
disebut Coding. Karena dalam komputer hanya mengenal yang namanya Bahasa Biner
yaitu bilangan 1 dan 0, maka manusia sulit untuk mengerti bahasa ini jadi di
buatlah bahasa tingkat tinggi yang dimengerti oleh manusia yang di sebut bahasa
pemrograman hight level.
Coding
bertujuan tentu untuk membuat program komputer, dan program komputer itu
sendiri adalah kumpulan instruksi-instruksi dalam membantu sebuah komputer
dalam mengeksekusi untuk melakukan aktifitas tertentu. Banyak bahasa
pemrograman yang sering digunakan untuk membuat sebuah program komputer,
seperti VB(Visual Basic), Java, PHP dan masih banyak bahasa pemrograman
komputer lainnya.
Menurut
Strauss dan Corbin terdapat 3 (tiga) macam/jenis proses analisis data (coding)
yaitu Open Coding, Axial Coding, dan Selective Coding. Agar teori yang dibangun
berdasarkan data itu tidak salah, ketiga macam coding tersebut harus dilakukan
secara simultan dalam penelitian.
1)
Open coding adalah proses merinci, menguji, membandingkan, konseptualisasi, dan
melakukan kategorisasi data.
2)
Axial coding adalah suatu perangkat prosedur dimana data dikumpulkan kembali
bersama dengan cara baru setelah open coding, dengan membuat kaitan antara
kategori-kategori. Ini dilakukan dengan memanfaatkan landasan berpikir (paradigma)
coding yang meliputi kondisi-kondisi, konteks-konteks, aksi strategi-strategi
interaksi dan konsekuensi-konsekuensi.
3)
Selective coding adalah proses seleksi kategori inti, menghubungkan secara
sistematis ke kategori-kategori lain, melakukan validasi hubungan-hubungan
tersebut, dan dimasukkan ke dalam kategori-kategori yang diperlukan lebih
lanjut untuk perbaikan dan pengembangan.
Tidak ada komentar:
Posting Komentar