Empat digit acak. 10.000 kemungkinan kombinasi. Dihasilkan sepenuhnya di browser Anda.
PIN numerik adalah salah satu struktur paling sederhana dalam kombinatorika. Setiap posisi memuat satu digit dari 0 hingga 9, dipilih secara independen dari setiap posisi lainnya. PIN 4 digit oleh karena itu memiliki 10,000 kemungkinan nilai, dan generator yang benar-benar acak memberikan setiap nilai probabilitas yang persis sama. Digit di posisi satu tidak mengungkapkan apa pun tentang digit di posisi dua. PIN tidak memiliki logika internal, tidak ada pola, tidak ada struktur yang bisa dieksploitasi.
Teori informasi mengukur keacakan dalam bit. Setiap digit desimal membawa log2(10) ≈ 3,322 bit entropi, sehingga PIN 4 digit mengandung 13.3 bit. Sebagai perbandingan, kata sandi 16 karakter yang diambil dari 95 karakter ASCII yang dapat dicetak menghasilkan sekitar 105 bit. PIN sengaja dibuat lebih sederhana karena mengandalkan model keamanan yang secara fundamental berbeda: pembatasan laju percobaan.
ATM mengizinkan tiga percobaan salah berturut-turut sebelum menelan kartu. Ponsel pintar menerapkan jeda yang meningkat setelah kegagalan. Dalam batasan seperti itu, menghabiskan 10,000 kombinasi menjadi praktis tidak mungkin. Keamanan PIN terletak pada kuncinya, dan keacakan mencegah penyerang menebak secara cerdas.
PIN empat digit bermula dari tahun 1967, ketika penemu asal Skotlandia John Shepherd-Barron merancang mesin ATM pertama untuk Barclays Bank di London. Desain aslinya menggunakan enam digit. Istrinya, Caroline, menguji prototipe tersebut dan meyakinkannya bahwa empat digit adalah jumlah maksimum yang bisa dia ingat dengan andal di bawah tekanan ringan antrean yang terbentuk di belakangnya. Percakapan rumah tangga itu membentuk standar keamanan global yang bertahan lebih dari lima puluh tahun kemudian. Empat digit tetap menjadi standar untuk ATM, layar kunci ponsel, dan terminal point-of-sale di seluruh dunia.
Nick Berry dari DataGenetics menganalisis 3,4 juta PIN empat digit yang bocor dan menemukan konsentrasi yang mengkhawatirkan. Urutan 1234 saja menyumbang 10,7% dari semua PIN dalam dataset tersebut. Dua puluh PIN paling umum teratas mencakup 27% dari total populasi. Tahun lahir dalam format 19xx, digit berulang (1111, 0000), dan pola keyboard (2580, kolom tengah pada keypad numerik) mendominasi daftar tersebut.
Penyerang yang mencoba seratus PIN paling umum terlebih dahulu dapat membuka kunci sekitar satu dari tiga akun yang menggunakan PIN pilihan manusia. PIN yang dihasilkan secara acak menghilangkan kerentanan ini sepenuhnya. Setiap satu dari 10,000 nilai menjadi sama-sama mungkin, termasuk 1234 dan 0000. Penyerang tidak mendapat keuntungan dari mencoba pola umum terlebih dahulu karena PIN tidak pernah dipilih oleh pikiran manusia yang mencari pola.
Setiap digit di halaman ini berasal dari crypto.getRandomValues(), Web Cryptography API yang ditentukan oleh W3C dan tertanam di setiap browser modern. Entropi yang mendasarinya berasal dari proses fisik tingkat perangkat keras di perangkat Anda: derau termal, jitter listrik, dan variasi waktu yang mekanika kuantum buktikan sebagai hal yang secara fundamental tidak dapat diprediksi. Implementasinya menggunakan rejection sampling untuk menghilangkan bias modulo, memastikan setiap digit dari 0 hingga 9 memiliki probabilitas yang secara matematis identik.
PIN tidak pernah berpindah melalui jaringan apa pun. PIN hanya ada di memori browser Anda dan di layar Anda. Server mengirimkan halaman ini dan selesai. Perangkat Anda yang membuat rahasianya.
Pembuatan PIN menyediakan titik masuk konkret untuk kombinatorika. Tanyakan kepada siswa: berapa banyak PIN empat digit yang ada? Kebanyakan menebak jauh lebih sedikit dari 10.000. Rumus 104 = 10.000 memperkenalkan eksponensiasi sebagai alat penghitung. Kemudian tambahkan batasan: jika digit pertama tidak boleh nol, berapa yang tersisa? (9.000.) Jika tidak ada digit yang boleh berulang? (10 × 9 × 8 × 7 = 5.040.) Pembatasan ini secara progresif mengurangi ruang kemungkinan, mengilustrasikan perbedaan antara permutasi dengan dan tanpa pengulangan.
Untuk aktivitas kelompok, minta setiap siswa mengunjungi /pin/6 dan menghasilkan PIN enam digit. Tanyakan: berapa probabilitas dua siswa dalam kelas berisi 30 orang memiliki PIN yang sama? Jawabannya (sekitar 0,04%) mengejutkan siswa yang mengharapkan kecocokan. Bandingkan ini dengan masalah ulang tahun, di mana 23 orang yang berbagi ulang tahun dari hanya 365 pilihan melewati probabilitas 50%. Perbandingan ini mengungkapkan betapa dramatisnya ukuran ruang kemungkinan memengaruhi tingkat kecocokan. Alat ini tidak memerlukan akun dan tidak menyimpan data siswa.
Setiap PIN yang dihasilkan di halaman ini tetap berada di dalam browser Anda. Server mengirimkan template halaman. Generator angka acak kriptografis perangkat Anda menghasilkan setiap digit. Tidak ada PIN yang pernah muncul di log server, analitik, atau permintaan jaringan. Riwayat pembuatan Anda tersimpan di localStorage di perangkat Anda saja.
Bagian berbagi di bawah membagikan URL alat, bukan PIN yang dihasilkan. Mengirim tautan kepada seseorang memberi mereka generator yang sama. Perangkat mereka menghasilkan hasil yang sepenuhnya independen dari sumber entropinya sendiri. URL membawa alat. Perangkat Anda membawa rahasianya.
URL menentukan panjang PIN sepenuhnya:
Kirim tautannya. Penerima menghasilkan PIN independen mereka sendiri dari perangkat mereka sendiri.
Inspirasi Harian
Karya terpilih juri dari A' Design Award, disajikan segar setiap pagi.