02 September 2017

Affine Cipher

Metode Affine cipher adalah perluasan dari metode Caesar cipher, yang mengalikan plainteks dengan sebuah nilai P dan menambahkannya dengan sebuah pergeseran b menghasilkan cipherteks C dinyatakan dengan fungsi kongruen:
\[C\equiv mP+b(\bmod n) \]
Yang mana n adalah ukuran alphabet, m adalah bilangan bulat yang harus relatif prima dengan n (jika tidak relatif prima, maka dekripsi tidak bisa dilakukan) dan b adalah jumlah pergeseran (Caesar cipher adalah bentuk khusus dari Affine cipher dengan m=1). Untuk melakukan dekripsi, persamaan di atas harus dipecahkan untuk memperoleh P. Solusi kekongruenan tersebut hanya ada jika invers m (mod n), dinyatakan dengan \(m^{-1}\). Jika \(m^{-1}\) ada maka dekripsi dilakukan dengan persamaan sebagai berikut: (Munir, 2006)
\[P\equiv m^{-1}(C-b)(\bmod n)\]

  • ENKRIPSI & DEKRIPSI
Berikut adalah contoh ENKRIPSI dan DEKRIPSI dengan menggunakan library Affine Cryptosystem yang sudah tersedia di Sagemath. Author Affine Cipher adalah Minh Van Nguyen (Agustus 2009)

  • ENKRIPSI dengan menggunakan KUNCI INVERS
Mengenkripsi Ciphertext di atas dengan menggunakan invers key akan menghasilkan Plaintext juga. Jadi selain dengan Dekripsi ciphertext menggunakan key aslinya, Plaintext-nya dapat dihasilkan juga dengan Enkripsi ciphertext dengan invers key-nya.

  • BRUTE FORCE
Contoh berikut ini menunjukkan Brute Force terhadap Enkripsi di atas untuk menghasilkan plaintext tanpa menggunakan kuncinya :

Catatan :
  • Jika dilihat di atas, nilai a memiliki batasan. Nilai a yang diijinkan adalah 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 dan  25 (jika alfabet yang digunakan adalah 26 karakter -- mod 26) karena sesuai dengan Teorema Bezout menunjukkan bahwa invers a (a') hanya ada jika a dan 26 (panjang alfabet) adalah coprime. Biasa saja kita melakukan Enkripsi dengan nilai a yang tidak coprime dengan 26 akan tetapi pada saat Dekripsi kita akan mendapatkan hasil dekripsi yang salah.
  • Nilai b memiliki batasan dari 1 s.d. 25 jika modulo yang digunakan adalah mod 26. Sebenarnya bisa juga menggunakan nilai negatif seperti -1 akan tetapi hasilnya sama saja karena pada mod 16, nilai -1 sama dengan 25 (25 = -1 mod 26).
  • Pada contoh Brute Force di atas, dicoba sebanyak 312 kombinasi key (a,b). Nilai key a yang mungkin sebanyak 12 key dan b sebanyak 26 sehingga 12 x 26 = 312.
Pada video di bawah ini diberikan contoh cara mencari invers pada modulo 26.

Berikut adalah Affine Cipher versi Buku William Stalling:
Contoh Enkripsi dan Dekripsi Affine Cipher dengan fungsi-fungsi di atas sbb:

01 September 2017

Contoh-contoh Soal Kriptografi Bagian I

CONTOH SOAL UTS RMKI 2015
  1. Sebutkan kelemahan One Time Pad?
  2. a. Jelaskan prinsip kerja Timing Attack! b. Jelaskan apa yang dimaksud dengan "bit independence criterion"!
  3. Hitunglah inversi perkalian dari \(x^{5}+x^{4}+x^{2}+1\) pada \(GF(2^{8})\) dimana \(m(x)=x^{8}+x^{4}+x^{3}+x+1\).
  4. Jelaskan mengapa Sbox pada AES membutuhkan inversi sedangkan pada DES tidak!
  5. Manakah yang memiliki performa terbaik dalam bidang 'random access' dari mode berikut (ECB, CBC, CFB, OFB, CTR). Jelaskan!
Jawaban :

2. Belum dijawab
3. Invers perkalian dari \(x^{5}+x^{4}+x^{2}+1\) pada \(GF(2^{8})\) dengan modulus \(m(x)=x^{8}+x^{4}+x^{3}+x+1\) dapat dihitung dengan menggunakan Extended Euclidian sebagai berikut : 
Iterasi 1 : \(x^{8}+x^{4}+x^{3}+x+1\) dibagi \(x^{5}+x^{4}+x^{2}+1\) hasilnya adalah \(x^{3}+x^{2}+x\) dengan sisa hasil pembagian \(x^{3}+x^{2}+1\) 
Iterasi 2 : \(x^{5}+x^{4}+x^{2}+1\) dibagi dengan \(x^{3}+x^{2}+x\) hasilnya adalah \(x^{2}\) dengan sisa hasil pembagian 1, karena sisa hasil pembagian sudah 1 maka iterasi berhenti.
Jadi Invers-nya = 1 - (\(x^{2}\))*(\(x^{3}+x^{2}+x\)) =  \(x^{5}+x^{4}+x^{3}+1\).
Untuk detail rumusnya bisa dilihat pada gambar di samping kanan.



Bandingkan jawaban dengan Sage sebagai berikut :

4. Belum dijawab
5. Belum dijawab

SAAT RESTORAN DIBUKA KEMBALI, INILAH YANG HARUS ANDA KETAHUI TENTANG AC, ALIRAN UDARA, DAN COVID-19

Pengunjung yang makan di restoran mungkin bisa memberi tahu banyak tentang bagaimana para penggiat bisnis restoran berusaha mengurangi risik...