Mengenai Saya

Foto saya
Nama saya Muhammad Hanif Akmalludin. Mahasiswa Univ. Budi Luhur

Minggu, 12 Mei 2019

P9 - Kriptografi


Kriptografi

Kriptografi adalah ilmu mengenai teknik enkripsi dimana “naskah asli” (plaintext) diacak menggunakan suatu kunci enkripsi menjadi “naskah acak yang sulit dibaca” (ciphertext) oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi bisa mendapatkan kembali data asli. Probabilitas mendapat kembali naskah asli oleh seseorang yang tidak mempunyai kunci dekripsi dalam waktu yang tidak terlalu lama adalah sangat kecil.

Teknik enkripsi yang digunakan dalam kriptografi klasik adalah enkripsi simetris dimana kunci dekripsi sama dengan kunci enkripsi. Untuk public key cryptography, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi asimetris menggunakan bilangan – bilangan yang sangat besar. (Kromodimoeljo, 2010).

Tujuan

melindungi informasi agar tidak terlihat oleh pihak yang tidak diotorisasi,
  • nomor kartu kredit,
  • password suatu aplikasi,
  • data-data yang terdapat di komputer, dll
Mengurangi resiko kerugian besar terhadap aspek kerahasiaan data
  • pengguna yang tidak berhak dapat melakukan pengaksesan informasi yang penting,
  • Enkripsi (encryption): proses menyandikan plainteks menjadi cipherteks.
  • Dekripsi (decryption): Proses mengembalikan cipherteks menjadi plainteks semula.

Notasi Matematika

Misalkan: C = chiperteks P = plainteks

Fungsi enkripsi E memetakan P ke C,
E(P) = C

Fungsi dekripsi D memetakan C ke P,
  D(C) = P

Fungsi enkripsi dan dekripsi harus memenuhi sifat:  
D(E(P)) = P

Layanan Kriptografi

1. Confidentiality
Layanan yang digunakan untuk menjaga isi pesan dari siapapun yang tidak berhak untuk membacanya.

2. Integrity
Layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.
“Apakah pesan yang diterima masih asli atau tidak mengalami perubahan (modifikasi)?”.

3. Authentication
Layanan yang untuk mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication) dan untuk mengidentifikasi kebenaran sumber pesan (data origin authentication).
“Apakah pesan yang diterima benar-benar berasal dari pengirim yang benar?”

4. Non Repudiation
Layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

Kriptanalisis

  • Kriptanalisis (cryptanalysis): ilmu dan seni untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang digunakan.
  • Pelakunya disebut kriptanalis
  • (Perancang algoritma kriptografi: kriptografer)
  • Kriptanalisis merupakan “lawan” Kriptografi
  • Kriptologi (cryptology): studi mengenai kriptografi dan kriptanalisis.
Terminologi Persamaan kriptografer dan kriptanalis:
  • Keduanya sama-sama menerjemahkan cipherteks menjadi plainteks
Perbedaan kriptografer dan kriptanalis:
  • Kriptografer bekerja atas legitimasi pengirim atau penerima pesan
  • Kriptanalis bekerja tanpa legitimasi pengirim atau penerima pesan

Cara Kerja Kriptografi

Unsur Kriptografi

Sistem kriptografi (cryptosystem) memiliki unsur sebagai berikut:
  • Algoritma Kriptografi,
  • Plainteks,
  • Cipherteks,
  • Kunci.

Kategori Enkripsi Data

  • Pengiriman data melalui saluran komunikasi (data encryption on motion).
  • Penyimpanan data di dalam disk storage (data encryption at rest)

Data Encryption On Motion

  • Sinyal yang ditransmisikan dalam percakapan menggunakan handphone.
  • Nomor PIN kartu ATM yang ditransmisikan dari mesin ATM ke komputer bank.
  • Data terkirim dalam komunikasi BB

Kriptografi Kunci Simetri

  • Symmetric-key cryptography
  • Kunci enkripsi = kunci dekripsi
  • Istilah lainnya: kunci simetri, kunci privat, kunci rahasia (secret key)
  • Algoritma kriptografinya disebut algoritma simetri

Algoritma Kunci Asimetri

  • Asymmetric-key cryptography
  • Kunci enkripsi Tidak Sama Dengan kunci dekripsi
  • Nama lain: kriptografi kunci-publik
  • karena kunci enkripsi bersifat publik (public key) sedangkan kunci dekripsi bersifat rahasia (secret key atau private key).

Contoh Kriptografi menggunakan Caesar Chiper :

Tiap huruf alfabet digeser 3 huruf ke kanan
Key = 3

pi : 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
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Contoh:
Plainteks: MUHAMMAD HANIF AKMALLUDIN
Cipherteks: PXLDPPDG LDQMI DNPDOOXGMQ

*Key bisa berapa saja

Daftar Pustaka

Sabtu, 04 Mei 2019

P8 - Error Detection (Part 2)



Sebelumnya saya sudah membahas apa itu Error Detection dan Parity Check. Kalian Bisa melihatnya Di Sini. Kali ini saya akan membahas cara mengecek Credit Card Number.

Credit Card

  • Umumnya terdiri dari 16 digit dan angka terakhir adalah check digit

Cara pengecekan Credit Card Number
  • Angka pada posisi ganjil dikalikan 2
  • Hasilnya ditambah dengan angka pada posisi genap
  • Hasilnya dimodulus 10 dan harus menghasilkan angka 0

Check Digit

Cek digit berfungsi untuk memeriksa apakah data yang dimasukkan tersebut benar atau salah. Biasanya angka cek digit ini ditambahkan pada akhir suatu data yang dimasukkan.

Dalam implementasinya cek digit digunakan pada nomor kartu kredit (seperti Visa Card, Master Card, Amex, JCB, dan lain-lain), nomor rekening bank, kode barang pada swalayan atau bahkan pada Nomor Induk Mahasiswa. Coba bayangkan bila cek digit tidak diterapkan pada kartu kredit. Bila terjadi kesalahan pengetikan nomor kartu kredit, maka tidak dengan segera ketahuan. Hal ini bisa mengakibatkan tagihannya akan jatuh ke orang lain. 

Salah satu cara untuk mencari nilai cek digit adalah dengan menggunakan algoritma Luhn.

Algoritma Luhn adalah salah satu algoritma yang digunakan untuk menghasilkan nilai cek digit. Beberapa kartu kredit menggunakan algoritma ini untuk menghasilkan nilai cek digit tersebut. Pada umumnya, nomor pada kartu kredit terdiri dari 16 angka. Angka yang paling kanan merupakan nilai cek digit.

Rumus Check Digit

  • Angka posisi ganjil dikalikan 2, jika hasilnya lebih dari 9 maka di kurangi 9
  • Angka posisi genap di kalikan 1
  • Hasil perkalian di jumlahkan (15 digit dari no kartu)
  • Hasil penjumlahan + X = Mod 10 (0) harus NOL

Maka Check Digit = X

Contoh Check Digit
No kartu kredit = 085811812813999X
Maka perhitungan dengan metode algoritma Lunh=Hitam=posisi ganjil merah=posisi genap= (0x2)+(8x1)+(5x2)+(8x1)+(1x2)+(1x1)+(8x2)+(1x1)+(2x2)+(8x1)+(1x2)+(3x1)+(9x2)+(9x1)+(9x2)= 0 + 8 + (10-9=1) + 8 + 2 + 1 + (16-9=7) + 1 + 4 + 8 + 2 + 3 + (18-9=9) + 9 + (18-9=9) = 72= 72 + X = mod --> hasil penjumlahan di bulatkan ke atas
Jadi hasilnya 72 + 8 = mod 10 = 80 mod 10 = 0
Jadi X = 8 , No Kartu Kredit 0858118128139998



Daftar Pustaka