Selasa, 17 November 2015

RESUME KRIPTOGRAFI DAN CODING



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