Menengah Pelajaran 5 Baca 4 menit

Ukuran 2^256: mengapa tidak ada yang bisa menebak kunci

Ruang kunci tidak besar, itu sangat tidak masuk akal. Pelajaran ini mengukur dinding dengan angka yang bisa dibayangkan, dan menunjukkan di mana sebenarnya dinding itu melunak.

Setiap kali seseorang memahami bahwa kunci pribadi hanyalah sebuah angka, pertanyaan yang sama muncul: bagaimana jika saya mencoba angka-angka sampai menemukan yang benar? Pertanyaan ini bagus, dan jawabannya bukan "sulit". Jawabannya adalah bahwa usaha tersebut terbentur pada batasan fisika sebelum terbentur pada batasan rekayasa, dan ada baiknya melihat seberapa besar hambatannya.

Sebuah kunci pribadi memiliki 256 bit. Ini berarti jumlah kunci yang mungkin adalah 2 dikalikan dengan dirinya sendiri sebanyak 256 kali: kira-kira 115 diikuti oleh 75 nol. Menuliskan jumlahnya mudah; membayangkannya yang sulit, dan perbandingan yang biasa digunakan semuanya gagal ke arah yang sama — mereka terlalu kecil.

Butiran pasir di semua pantai dan gurun di Bumi berjumlah sekitar tujuh setengah kuintiliun, sebuah angka dengan sembilan belas digit. Bintang-bintang di semua galaksi yang dapat dijangkau teleskop berjumlah sekitar sepuluh sekstiliun, dengan dua puluh dua digit. Atom-atom yang ada di alam semesta yang dapat diamati berada di kisaran 10^80 — dan ini adalah perbandingan pertama yang akhirnya melampaui ruang kunci, dengan selisih seribu kali. Jika setiap kunci yang mungkin menerima satu atom dari alam semesta, masih akan ada seribu atom tersisa untuk masing-masing.

Jika setiap butir pasir di Bumi adalah sebuah percobaan, pencarian belum akan dimulai.

Angka-angka sebesar itu menjadi lebih konkret ketika dibayar dengan energi. Jaringan Bitcoin saat ini menghitung sekitar satu sekstiliun hash per detik, upaya komputasi terbesar yang pernah dilakukan umat manusia untuk satu tugas saja. Jika jaringan tersebut berhenti menambang dan mulai menguji kunci dengan kecepatan ini, akan mencakup sekitar 3 diikuti oleh 28 nol per tahun — dan akan memakan waktu lebih dari 10^48 tahun untuk menyapu seluruh ruang. Alam semesta berusia 13,8 miliar tahun, sebuah angka dengan sebelas digit.

Batas yang lebih keras bukanlah itu, dan telah dihitung oleh Bruce Schneier pada tahun 1996. Ada jumlah energi minimum yang perlu dikeluarkan oleh komputer mana pun untuk mengubah satu bit status, dan itu berasal dari termodinamika, bukan teknologi. Dengan perhitungan minimum teoritis ini, komputer sempurna yang menangkap seluruh energi yang dipancarkan oleh Matahari selama tiga puluh dua tahun hanya dapat menghitung hingga 2^192. Menghitung. Tanpa memverifikasi apa pun, tanpa membandingkan dengan alamat mana pun. Dan 2^192 adalah bagian yang sangat kecil dari 2^256.

Menghitung hingga sana tidak mahal: itu tidak mungkin. Energi dari seluruh bintang pun tidak mendekati.

Sekarang koreksi yang jujur, karena keamanan nyata bukanlah 2^256. Ada algoritma yang menyerang kunci pribadi melalui kunci publik dan menyelesaikan masalahnya sekitar akar kuadrat dari ruang tersebut — yang mengurangi eksponen menjadi setengah dan membawa usaha ke urutan 2^128, atau 34 diikuti oleh 37 nol. Ini adalah topik modul tentang pencarian kunci, dalam jalur lanjutan. Dan 2^128 tetap berada di luar jangkauan dengan margin yang sangat besar: perhitungan Matahari di atas sudah menunjukkan bahwa bahkan 2^192 tidak muat, tetapi meskipun turun sejauh itu, angkanya masih lebih besar daripada jumlah butiran pasir di planet ini dikalikan dengan dirinya sendiri.

Apa yang bisa dilakukan, dan itulah yang dilakukan dunia, adalah memperkecil intervalnya. Tidak ada yang mencari di 2^256; pencarian dilakukan di 2^70, di 2^80, di rentang di mana seseorang sudah tahu bahwa kuncinya ada. Setiap bit yang lebih sedikit memotong pekerjaan menjadi setengah, dan aritmetika inilah yang memisahkan sebuah proyek dari sebuah kemustahilan.

Bukan ukuran interval yang berkurang. Itu adalah ukuran undian.

Semua kunci yang telah ditemukan dalam praktik jatuh melalui jalur ini. Tidak ada satupun yang ditebak: mereka diundi dengan buruk. Kalimat yang dipilih oleh manusia, generator Android yang rusak yang diceritakan pada pelajaran sebelumnya, interval kecil dari sebuah tes yang menjadi dompet sungguhan. Ukuran angka tidak pernah gagal; yang gagal adalah undiannya, dan undian adalah satu-satunya bagian yang bergantung pada seseorang yang melakukan pekerjaan dengan benar.

Angka yang sangat besar ini, dalam praktiknya, tidak pernah Anda ketik. Ia ditulis dalam empat cara berbeda, dan membingungkan satu dengan yang lain dapat membuat dompet terlihat kosong tanpa ada yang hilang. Pada pelajaran berikutnya, format kunci.