Kamis, 16 Mei 2019

Cryptography

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan  pesan.
Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).

Pengirim dan Penerima pesan
Pesan ->Plaintext atau Cleartext
1. Pesan dapat berupa data atau informasi yang dikirim (melalui kurir, saluran komunikasi data, dsb).
2. Pesan dapat disimpan di dalam media perekaman (kertas, storage, dsb).
3. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan disandikan ke bentuk lain.
4. Bentuk pesan yang tersandi  disebut ciphertext atau cryptogram. Tidak bergantung dengan suatu program.
5. Ciphertext harus dapat ditransformasi kembali menjadi plaintext.
6. Proses menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption) atau enciphering
7. Proses mengembalikan ciphertext menjadi plaintextnya disebut dekripsi (decryption) atau deciphering

Algoritma kriptografi adalah:
1. aturan/metode untuk enkripsi dan dekripsi
2. fungsi matematika yang digunakan untuk enkripsi dan dekripsi.

- Sistem kriptografi (atau cryptosystem) adalah algoritma kriptografi, plainteks, cipherteks, dan kunci.
- Penyadap adalah orang yang mencoba menangkap  pesan selama ditransmisikan. Nama lain: enemy, adversary, intruder, interceptor, bad guy
- Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis.
- Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis.

- Aplikasi kriptografi:
1. Pengiriman data melalui saluran komunikasi
2. Penyimpanan data di dalam disk storage.

Contoh-contoh pada pengiriman data melalui saluran komunikasi
- ATM tempat mengambil uang
- Internet
- Militer
- Wi-Fi
- Pay TV
- GSM

Algoritma Enkripsi dan Dekripsi
Kekuatan algoritma kriptografi TIDAK ditentukan dengan menjaga kerahasiaan algoritmanya.

Cara tersebut tidak aman dan tidak cocok lagi di saat ini.
Pada sistem kriptografi modern, kekuatan kriptografinya terletak pada kunci,  yang berupa deretan karakter atau bilangan bulat, dijaga kerahasiaannya.

Algoritma Enkripsi dan Dekripsi
- Jika kunci enkripsi sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem simetris atau sistem konvensional.
- Algoritma kriptografinya disebut algoritma simetri atau algoritma konvensional atau algoritma kunci private/rahasia.

Kriptografi Dengan Kunci Simetris/Private
- Bentuk kriptografi tradisional
- Kunci Simetris digunakan untuk mengenkrip dan mendekrip pesan
- Kunci Simetris juga berkaitan dengan otentikasi

Masalah utama:
- Pengirim dan penerima menyetujui kunci simetris tanpa ada orang lain yang mengetahui.
- Butuh metode dimana kedua pihak dapat berkomunikasi tanpa takut disadap

Contoh Metode Kriptografi Dengan Kunci Simetris/Private
1. Simple Cipher
2. Caesar Cipher
3. Running Key Cipher









Kamis, 09 Mei 2019

Check Digit dan Kompresi

Check Digit
Check Digit merupakan salah satu dari pengendalian aplikasi input. Pengendalian aplikasi input adalah pengendalian pada saat data diinputkan ke dalam aplikasi. Check digit adalah satu digit angka yang digunakan untuk mengecek apakan satu kode (atau nomor seri) yang diinputkan sudah benar.

Macam - macam Check Digit yaitu:
1. UPC
2. Credit Card Number

1. UPC
   Angka terakhir pada UPC adalah check digit
Langkah-langkah dalam mengecek UPC :
1. Tambahkan angka-angka yang berada di posisi ganjil.
2. Lalu hasilnya dikali 3.
3. Tambahkan hasil tersebut dengan angka yang berada di posisi genap.
4. Lalu hasil tersebut di moduluskan 10 harus menghasilkan 0.

contoh :
036000291452

Jawab :
1. 0+6+0+2+1+5 = 14 
2. 14 X 3 = 42
3. 42+3+0+0+9+4+2 = 60
4. 60 mod 10 = 0

2. Credit Card Number
   Umumnya terdiri dari 16 digit dan angka terakhir adalah check digit

Langkah-langkah dalam mengecek Credit Card Number :
1. Tambahkan angka-angka yang berada di posisi ganjil.
2. Lalu hasilnya di kali 2.
3. Bila hasil perkaliannya terdapat 2 angka seperti(12,23), makakedua angka tersebut ditambah (1+2/2+3).
4. Lalu hasil tersebut ditambah dengan angka yang berada diposisi genap.
5. Setelah itu hasilnya di moduluskan 10 dan harus menghasilkan angka 0.

Contoh :
5302 7191 4355 6704

Jawab :
1. 5 X 2 = 10 4 X 2 = 8
   0 X 2 = 0 5 X 2 = 10
   7 X 2 = 14 6 X 2 = 12
   9 X 2 = 18 0 X 2 = 0

2. 10 = 1 + 0 = 1
   14 = 1 + 4 = 5
   18 = 1 + 8 = 9
   10 = 1 + 0 = 1
   12 = 1 + 2 = 3
   jadi, 1+5+9+1+3+8 = 27

3. 27+3+2+1+1+3+5+7+4 = 53

4. 53 mod 10 = 7
untuk modulus yang ini bukan sisa nya yang jadi jawabannya, tetapi 53 tambah berapa agar  menghasilkan modulus 0.
   53 + x = ... mod 10 = 0
   53 + 7 = 60 mod 10 = 0.

Compression
Tujuan : Untuk memampatkan text/string

Dampak :1. Mempersingkat pengiriman data di jaringan
                2. Membuat text/string tidak dapat dimengerti (mirip crytograpy)

Cara Kerja : Memanfaatkan karakter yang muncul berulang-ulang

contoh : Metode Huffman, MetodeLZ

Langkah-langkah dalam kompresi Metode Huffman :
1. Hitunglah jumlah pemunculan dari setiap karakter.
2. Buat simpul untuk setiap karakter.
3. Simpul diurutkan berdasarkan jumlah pemunculan dari kiri ke kanan secara DESC
4. 2 Simpul yang terkecil (2 simpul paling kanan) digabungkan, sehingga membentuk simpul baru.
5. Simpul baru ini diposisikan sejajar dengan simpul - simpul sebelumnya yang tidak ikut digabungkan
6. Lakukan proses 3-5 terus menerus sampai didapat hanya sebuah simpul saja.
7. Akan terbentuk Pohon Huffman (Huffman Tree)

Cara Kerja Metode Huffman :
1. Path pada huffman Tree diberi label. yang berada di kiri diberi label 0 dan yang berada di kanan diberi lebel 1.
2. Hasil kompresi didapat dengan menelusuri path dari root sampai ke simpul daun (simpul yang tidak memiliki anak).


Contoh terdapat kata seperti berikut :
KUKU AKU KAKU

Jawab :
1.K = 5
   U = 4
   A = 2

2.yang dimaksudkan simpul itu adalah lingkaran
  
3. lalu diurutkan dari yang paling kanan nilai yang paling kecil
4. lalu gabungkan yang paling kanan tersebut

5. terus lakukan pengabungan, namun sebelum itu urutkan lagi dari yang terkecil

6.hingga menjadi satu simpul 

7. lalu akhirnya menjadi seperti ini












Jumlah bit diatas = 17 bit

Rabu, 01 Mei 2019

Error Detection

Error detection adalah suatu kegiatan untuk memastikam bahwa data yang diterima sama dengan data yang dikirim. Sedangkan Error correction adalah deteksi kesalahan dan rekonstruksi, asli bebas dari kesalahan data. Penyebab data error karena noise, baik black maupun white noise dan akibatnya karena data berubah 0 berubah menjadi 1, sedangkan 1 berubah menjadi 0.


Tujuan Error Detection 
Mengetahui apakah data yang dikirim melalui saluran telekomunikasi atau data yang disimpan telah mengalami perubahan atau tidak
Contoh:
1. Parity Check
2. Check Sum
3. Check Digit

Error Detection Parity Check
Menambahkan parity bit dari rangkaian bit yang mau dikirim atau disimpan
Ada 2 metode parity :
1. Even Parity
2. Odd Parity

1. Error Detection Even Parity
Parity bit bernilai 1 bila jumlah bit 1 adalah ganjil
Contoh :
10001001
pada soal diatas terdapat angka 1 sebanyak 3, maka even paritynya adalah 1

Parity bit bernilai 0 bila jumlah bit 1 adalah genap
Contoh :
10101010 
pada soal diatas terdapat angka 1 sebanyak 4, maka even paritynya adalah 0

2. Error Detection Odd Parity
Parity bit bernilai 1 bila jumlah bit 1 adalah genap
Contoh :
10101010 
pada soal diatas terdapat angka 1 sebanyak 4, maka even paritynya adalah 1

Parity bit bernilai 0 bila jumlah bit 1adalah ganjil
Contoh :
10001001
pada soal diatas terdapat angka 1 sebanyak 3, maka even paritynya adalah 0

Singkatnya, odd parity adalah kebalikan dari even parity

Checksum
Checksum adalah skema kesalahan-deteksi sederhana dimana setiap pesan yang dikirim yang menghasilkan nilai numeric berdasarkan byte dalam pesan. Pengirim menempatkan nilai yang dihitung dalam pesan (biasanya di header pesan ) dan mengirimkan nilai pada pesan. Penerima menerapkan rumus yang sama untuk  masing-masing menerima pesan dan memeriksa untuk memastikan nilai numeric adalah sama. Jika tidak, penerima dapat mengasumsikan bahwa pesan telah rusak dalam transmisi.

Error Detection CheckSum Langkah-langkah pencarian Contoh:
1. Jumlahkan semua byte
2. Hilangkan carry bila ada
3. Cari two’s complement hasil nomer 2 => checksum

Contoh:
Diberikan 4 byte: 0x15, 0x7F, 0x86, 0x5C

langkah 1 :
0x15 + 0x7F + 0x86 + 0x5C = 0x176

langkah 2 :
0x176 dihilanhkan carry menjadi 0x76

langkah 3 :
0x76, lalu diubah 7 = 0111 , dan 6 = 0110
hasilnya = 01110110 
lalu di invers menjadi 10001001
lalu setelah diubah, ditambah 1's complement menjadi 
10001001
              1
________+
10001010

lalu seperti diawal ambil 4 digit lalu diubah kembali menjadi 1000 = 8 dan 1010 = 10 lalu ke hexadecimal = A
jadi hasilnya 0x8A.

DAFTAR PUSTAKA
Mirawati, Wendy 2015, Error Detection, Slideplayer, dilihat 01 Mei 2019,
https://slideplayer.info/slide/2422548/

Cryptography

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan  pesan. Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer)....