Back to IF4020 Kriptografi

Teori Bilangan untuk Kriptografi

Questions/Cues

  • Cabang matematika apa saja yang menjadi landasan kriptografi?
  • Bagaimana mendefinisikan operasi mod, termasuk untuk bilangan negatif?
  • Apa itu kekongruenan (congruence) dan notasi ?
  • Apa arti dua bilangan “relatif prima” dan bagaimana perannya?
  • Apa itu balikan (invers) modulo dan kapan ia ada?
  • Mengapa bilangan prima penting untuk kriptografi?

Reference Points

  • IF4020 Kriptografi — Landasan Matematika untuk Kriptografi (Slides 1-3)

Materi Matematika untuk Kriptografi

Kriptografi berdiri di atas lima cabang matematika:

  1. Teori Bilangan — integer dan aritmetika modulo, algoritma Euclidean, kekongruenan, relatif prima, balikan (invers) modulo, bilangan prima.
  2. Probabilitas dan Statistik — untuk analisis frekuensi dan menilai keacakan.
  3. Kompleksitas algoritma — untuk menilai apakah sebuah serangan “layak” secara komputasi.
  4. Teori Informasi — entropi dan ukuran ketidakpastian pesan (lihat Teori Informasi dan Entropi).
  5. Aljabar abstrak — grup, ring, dan field; dibahas kelak pada materi ECC (Elliptic Curve Cryptography).

Poin 1–3 sudah dipelajari di Matematika Diskrit dan Probabilitas & Statistik; catatan ini merangkumnya kembali dalam konteks kriptografi.

Aritmetika Modulo

adalah sisa pembagian oleh , dengan hasil selalu berada di rentang . Untuk bilangan negatif, tambahkan kelipatan hingga hasilnya non-negatif.

  • — karena .
  • — karena , lalu .

Operasi ini adalah inti setiap cipher klasik: Caesar cipher bekerja mod 26 untuk alfabet dan mod 256 untuk ASCII.

Kekongruenan (Congruence)

dibaca ” kongruen modulo ”, artinya membagi habis , atau dan bersisa sama bila dibagi .

  • — karena .
  • — karena .

Relatif Prima (Coprime)

Dua bilangan bulat relatif prima bila (dalam notasi Indonesia: ) — tidak punya faktor bersama selain 1.

  • dan relatif prima sebab .

dihitung efisien dengan algoritma Euclidean: , diulang hingga sisa 0. Syarat relatif prima muncul di Affine cipher (kunci harus relatif prima dengan ukuran alfabet ) dan RSA.

Balikan (Invers) Modulo

adalah bilangan sedemikian sehingga .

  • — karena .
  • — karena .

Invers modulo hanya ada bila , dan dihitung dengan extended Euclidean algorithm. Invers modulo dipakai pada dekripsi Affine cipher (), Hill cipher (invers matriks mod 26), dan RSA (menghitung kunci privat ).

Bilangan Prima

Bilangan prima adalah bilangan bulat yang hanya habis dibagi 1 dan dirinya sendiri. Kriptografi kunci publik modern (RSA, Diffie-Hellman, ElGamal) bergantung pada sifat bilangan prima besar dan kesulitan memfaktorkan hasil kali dua prima besar.

flowchart LR
    M["Aritmetika modulo"] --> Caesar["Caesar &amp; Vigenere<br/>(mod 26 / 256)"]
    RP["Relatif prima (gcd = 1)"] --> Affine1["Affine: kunci m"]
    INV["Invers modulo"] --> Affine2["Affine &amp; Hill: dekripsi"]
    INV --> RSA1["RSA: kunci privat d"]
    PR["Bilangan prima"] --> RSA2["RSA, Diffie-Hellman, ElGamal"]

Latihan

  • (a) , jadi 9 (cek: ).
  • (b) ; cari (sebab ). Jadi .

Summary

Kriptografi bertumpu pada lima cabang matematika; tiga di antaranya — teori bilangan, probabilitas/statistik, kompleksitas — sudah dari Matdis & Probstat. Aritmetika modulo ( selalu di ) adalah mesin setiap cipher klasik. Kekongruenan berarti . Dua bilangan relatif prima bila (dihitung dengan algoritma Euclidean), syarat yang dituntut kunci Affine cipher dan RSA. Invers modulo memenuhi , ada hanya bila , dan dipakai untuk dekripsi Affine, Hill, serta menghitung kunci privat RSA. Bilangan prima besar menopang kriptografi kunci publik. Landasan ini dipakai langsung di Caesar Cipher dan ROT13, Playfair dan Affine Cipher, dan Hill Cipher dan Enigma Cipher.