-
Kita memerlukan prosedur numerik yang mana
mudah dilakukan dari satu arah,
-
namun sulit dilakukan di arah yang lain.
-
Hal ini membawa kita ke aritmatika modular
yang juga dikenal sebagai aritmatika jam.
-
Contoh, untuk mendapatkan 46 mod 12, kita
bisa mengambil tali sepanjang 46 unit,
-
meletakkannya di sekeliling jam sebesar
12 unit yang dikenal sebagai modulo,
-
dan titik dimana tali itu berakhir adalah
hasilnya.
-
Jadi kita bisa simpulkan bahwa
46 mod 12 kongruen (setara) dengan 10.
-
Gampang. Nah, untuk membuat ini bekerja,
kita gunakan modulo prima, seperti 17
-
Kemudian kita cari akar primitif dari 17,
yang adalah, 3.
-
Yang memiliki sifat yang penting
yaitu ketika dipangkatkan,
-
hasilnya tersebar merata
di sekeliling jam.
-
3 dikenal sebagai generator.
Kalau kita pangkatkan 3 dengan x,
-
maka hasilnya adalah integer antara
0 dan 17 dengan kemungkinan yang sama.
-
Sekarang, prosedur kebalikannya
sulit untuk dilakukan.
-
Katakanlah, diketahui hasilnya 12, temukan
pangkat yang diperlukan oleh 3.
-
Kasus ini dinamakan
masalah Logaritma Diskrit.
-
Dan sekarang kita punya fungsi satu arah.
-
Mudah dilakukan,
namun sulit untuk dibalikkan.
-
Diketahui 12, kita terpaksa melakukan uji
coba untuk menemukan pangkat yang tepat.
-
Seberapa sulitkah ini dilakukan?
-
Untuk angka kecil ini mudah, tapi dengan
modulo prima sepanjang ratusan digit,
-
hal ini sangat tidak praktis dilakukan.
-
Kalaupun kamu menggabungkan semua komputer
di Bumi, diperlukan waktu ribuan tahun
-
untuk menjalankan seluruh kemungkinan
yang ada.
-
Jadi kekuatan fungsi satu arah didasarkan
pada waktu untuk membalikkannya.