Kamis, 16 Mei 2019

KRIPTOGRAFI

Pengertian Kriptografi

Secara etimologi kata kriptografi (Cryptography) berasal dari bahasa Yunani, yaitu kryptos yang artinya yang tersembunyi dan graphein yang artinya tulisan (Prayudi, 2005). Awal mula kriptografi dipahami sebagai ilmu tentang menyembunyikan pesan (Sadikin, 2012), tetapi seiring perkembangan zaman hingga saat ini pengertian kriptografi berkembang menjadi ilmu tentang teknik matematis yang digunakan untuk menyelesaikan persoalan keamanan berupa privasi dan otentikasi (Diffie, 1976).

Sejarah Kriptografi

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.

Scytale

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)
Risalah fi Istikhraj al-Mu’amma
Risalah fi Istikhraj al-Mu’amma

Istilah-istilah dalam Kriptografi

Dalam kriptografi akan dijumpai beberapa istilah-istilah penting antara lain adalah plaintext, ciphertext, enkripsi, dekripsi, cryptanalysis, dan cryptology. Plaintext adalah data yang dapat dibaca, sedangkan teknik untuk menjadikan data tidak dapat dibaca disebut enkripsi. Data yang telah dienkripsi disebut ciphertext, dan teknik untuk mengembalikan ciphertext menjadi plaintext disebut dekripsi (Prayudi, 2005).Cipher merupakan algoritma kriptografi, yakni fungsi matematika yang berperan dalam enkripsi dan dekripsi data (Rizal, 2011). Pelaku yang ahli dalam bidang kriptografi disebut cryptographer.

Cryptanalysis adalah ilmu untuk memecahkan ciphertext menjadi plaintext dengan tidak melalui cara yang semestinya, sedangkan orang yang menguasai ilmu ini disebut Cryptanalyst. Cabang matematika yang meliputi kriptografi dan cryptanalysis disebut Cryptology, sedangkan orang yang menguasai ilmu ini disebut cryptologist.


Jenis Kriptografi Berdasarkan Perkembangan

Algoritma kriptografi dapat diklasifikasikan menjadi menjadi dua jenis berdasarkan perkembangannya, yaitu kriptografi klasik dan kriptografi modern.

a. Algoritma Kriptografi Klasik 

Algoritma ini digunakan sejak sebelum era komputerisasi dan kebanyakan menggunakan teknik kunci simetris. Metode menyembunyikan pesannya adalah dengan teknik substitusi atau transposisi atau keduanya (Sadikin, 2012). Teknik substitusi adalah menggantikan karakter dalam plaintext menjadi karakter lain yang hasilnya adalah ciphertext. Sedangkan transposisi adalah teknik mengubah plaintext menjadi ciphertext dengan cara permutasi karakter. Kombinasi keduanya secara kompleks adalah yang melatarbelakangi terbentuknya berbagai macam algoritma kriptografi modern (Prayudi, 2005).

b. Algoritma Kriptografi Modern 

Algoritma ini memiliki tingkat kesulitan yang kompleks (Prayudi, 2005), dan kekuatan kriptografinya ada pada key atau kuncinya (Wirdasari, 2008). Algoritma ini menggunakan pengolahan simbol biner karena berjalan mengikuti operasi komputer digital. Sehingga membutuhkan dasar berupa pengetahuan terhadap matematika untuk menguasainya (Sadikin, 2012).


Jenis Kriptografi Berdasarkan Kunci

Algoritma kriptografi dapat diklasifikasikan menjadi dua jenis berdasarkan kuncinya, yaitu algoritma simetris dan algoritma asimetris (Prayudi, 2005).

a. Algoritma Simetris 

Algoritma ini disebut simetris karena memiliki key atau kunci yang sama dalam proses enkripsi dan dekripsi sehingga algoritma ini juga sering disebut algoritma kunci tunggal atau algoritma satu kunci. Key dalam algoritma ini bersifat rahasia atau private key sehingga algoritma ini juga disebut dengan algoritma kunci rahasia (Prayudi, 2005).

b. Algoritma Asimetris 

Algoritma ini disebut asimetris karena kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Kunci yang digunakan untuk enkripsi adalah kunci publik atau public key sehingga algoritma ini juga disebut dengan algoritma kunci publik. Sedangkan kunci untuk dekripsi menggunakan kunci rahasia atau private key (Prayudi, 2005).

TERMINOLOGI 

1. ENKRIPSI adalah proses menyandikan plainteks menjadi cipherteks
2. DEKRIPSI adalah proses mengembalikan cipherteks menjadi plainteks

Contoh ENKRIPSI 
1. Carilah cipherteks dari kalimat "MAAF SAYA TERLAMBAT" dengan rotasi = 5
=> Plainteks : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
   Cipherteks:  F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

Sehingga, dapat di simpulkan cipherteks dari kalimat "MAAF SAYA TERLAMBAT" adalah "RFFK XFDF YJWQFRGFY"

Contoh DEKRIPSI
1. Carilah plainteks dari kalimat "ZSMZFGW" dengan rotasi = 12
=> Plainteks : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    Cipherteks: M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

Sehingga, dapat disimpulkan plainteks dari kalimat "ZSMZFGW" adalah "NGANTUK"

Proses enkripsi dan dekripsi
Proses enkripsi dan dekripsi

Minggu, 05 Mei 2019

ERROR DETECTION & COMPRESSION



Pengertian Error Detection

Error detection adalah suatu kegiatan untuk memastikam bahwa data yang diterima sama dengan data yang dikirim.

Contoh Error Detection 

1. Parity Check -> Menambahkan sebuah bit pada setiap pengiriman sejumlah bit, sehingga jumlah bit bernilai 1 selalu genap/ganjil. Parity bit dapat mendeteksi kesalahan 1 bit atau Kesalahan  bit dalam jumlah ganjil, namun tidak dapat mendeteksi  kesalahan  dalam jumlah genap

2. CRC “Cyclic redundancy check” -> Method yang umum digunakan untuk mendeteksi error . CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirim akan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit).

Tujuan utama dari teknik error deteksi dan koreksi ini adalah untuk memperbaiki performa system transmisi data digital. 

1. CHECK SUM

Checksum adalah skema kesalahan-deteksi sederhana di mana setiap pesan yang dikirim yang menghasilkan nilai numeric berdasarkan byte dalam pesan. 

2. CHECK DIGIT
Check digit adalah satu digit angka yang digunakan untuk mengecek apakan satu kode (atau nomor seri) yang diinputkan sudah benar.

PENGERTIAN COMPRESSION
Adalah sebuah cara dalam ilmu komputer untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut. 

Tujuan Compression : untuk memapraskan text/string

Cara kerja Compression : memanfaatkan karakter yang muncul berulang-ulang

1. Metode Hufftman Tree adalah algoritma pemampatan citra yang menggunakan pendekatan statistic.
Adapun contoh proses encode algoritma ini adalah sebagai berikut:
Kode ASCII string “ABBABABACAACDDD
1.    Hitung jumlah kemunculan setiap karakter.

2.    Urutkan nilai-nilai grayscale berdasarkan frekuensi kemunculannya.

3.    Gabungkan dua buah pohon yang mempunyai frekuensi kemunculan terkecil dan urutkan kembali.

4.    Ulangi langkah (3) sampai membentuk sebuah pohon biner.

5.    Berikan label pada pohon biner tersebut dengan cara sisi kiri pohon diberi label 0 dan sisi kanan pohon diberi label 1.

6.    Telusuri pohon biner dari akar ke daun. Barisan label-label sisi dari akar ke daun adalah kode Huffman.
A = 1               (1 bit)
B = 01             (2 bit)
C = 001          (3 bit)
D = 000          (3 bit)
Jadi untuk Kode ASCII string “ABBABABACAACDDD” menjadi10101101101100111001000000000
Rasio sebelum pemampatan = 15 x 8 bit = 120 bit
Rasio setelah pemampatan = (6 x 1 bit) + (4 x 2 bit) + (2 x 3 bit) + (3 x 3 bit) = 29 bit
Jadi persentase rasionya adalah 100% - (29/120 x 100%) = 82,5%

KRIPTOGRAFI

Pengertian Kriptografi Secara etimologi kata kriptografi ( Cryptography ) berasal dari bahasa Yunani, yaitu kryptos yang artinya yang te...