• Monday July 15,2019

Cara Membuat Kod Bahawa NSA Tidak Boleh Berputus

Anonim

Dalam jawatan terdahulu saya menyifatkan ahli matematik mencari berterusan untuk sifat-sifat utama nombor prima. Usaha itu nampaknya tergolong sepenuhnya dalam bidang matematik tulen; tetapi menghairankan, kepentingan prima jauh melebihi kegagalan matematik menara gading. Sebenarnya, penggunaan nombor perdana mendasari beberapa peristiwa yang paling dramatik dalam berita minggu-minggu terakhir ini: kisah di belakang pendedahan Edward Snowden bahawa Badan Keselamatan Negara (NSA) sedang mengintai mengenai komunikasi warga Amerika dan Eropah diplomat.

Sementara orang-orang Eropah telah memprotes komunikasi dalaman mereka yang dipintas oleh NSA-ironis-alat yang boleh digunakan oleh seseorang untuk perlindungan daripada mengintip oleh sesiapa sahaja yang mudah diakses dalam talian, dalam kesusasteraan profesional, dan buku panduan dan buku teks yang tersedia secara umum. Kaedah ini semua bergantung kepada penggunaan nombor perdana.

Keperluan teknik ini jauh dari yang baru. Dasar-dasar program untuk membuat kod yang begitu kuat sehingga tidak dapat dipecahkan walaupun eavesdropper menggunakan semua kuasa komputer yang tersedia di seluruh dunia yang diletakkan lebih dari 35 tahun yang lalu. Tahun 1976 menyaksikan perkembangan kaedah pertukaran utama Diffie-Hellman (dinamakan selepas Whitfield Diffie dan Martin Hellman; nama-nama Ralph Merkle, James Ellis, Clifford Cocks, dan Malcolm Williamson sering dikaitkan dengannya); dan yang berikut, 1977, menyaksikan rupa algoritma RSA. Kedua-dua kaedah telah maju sejak tiga dan setengah dekad lalu, tetapi maklumat tentang sambungan mereka juga tersedia untuk sesiapa sahaja.

Bagaimanakah teknik ini berfungsi? Saya akan menerangkan kedua-dua kaedah di sini-semestinya dengan cara yang mudah. (Mereka yang berminat untuk belajar lebih banyak boleh membaca beberapa artikel dalam pautan yang muncul di sepanjang siaran ini.)

Alice menghantar mesej rahsia kepada Bob

Ide pertukaran utama Diffie-Hellman telah dijelaskan dengan cara yang jelas dan ringkas menggunakan analogi oleh Terence Tao, yang bekerja pada nombor perdana yang saya sebutkan dalam jawatan saya yang terdahulu. Idea ini adalah seperti berikut. Alice mahu menghantar mesej rahsia kepada Bob (kriptografi lebih suka menggunakan "dari Alice to Bob" dan bukannya "dari A hingga B") dan dia mahu menghalang Eve ("eavesdropper") daripada membacanya. Jadi Alice meletakkan mesej itu dalam kotak, meletakkan kunci yang baik di atasnya, menyimpan kunci, dan menghantar pakej itu kepada Bob. (Sekiranya Alice telah menghantar Bob kunci secara berasingan, ada kemungkinan bahawa Eve boleh memintas kedua-dua pakej dan kunci.)

Bob tidak mempunyai kunci untuk kunci Alice. Jadi apa yang dilakukannya adalah meletakkan kuncinya sendiri di dalam kotak. Dan dia kini menghantar pakej itu kembali ke Alice, dikunci dua kali: menggunakan kedua-dua kunci dan dia. Alice mendapat pakej, membuang kunci sendiri menggunakan kekuncinya, dan kemudian menghantar kotak itu, masih selamat kerana ia menanggung kunci Bob, kembali kepada Bob. Sekarang Bob menggunakan kekuncinya, membuka kotak itu, dan mendapat mesej! Setiap orang di sini menggunakan kunci dan kekuncinya sendiri-namun satu mesej telah diluluskan dengan selamat dari Alice kepada Bob.

Versi digital

Idea ini dilaksanakan secara digital dalam pertukaran utama Diffie-Hellman. Mesej yang akan dihantar dari Alice ke Bob adalah nombor rahsia, memanggilnya n . "Kunci" Alice adalah eksponen, yang, yang dia pilih, dan kemudian menggunakannya untuk menaikkan n . Jadi kotak "dikunci dengan mesej" yang Alice menghantar Bob adalah n a . Bob mempunyai "kunci" sendiri, yang merupakan beberapa pilihannya sendiri, b, yang dia gunakan sebagai eksponen. Dia tidak tahu n atau, tetapi dia mempunyai n, yang dia dapat dari Alice, jadi dia menaikkan nombor ini kepada kuasa b . Dia menghantar Alice "kotak dengan dua kunci": n ab . Alice menggunakan kunci sendiri untuk membuka kuncinya sendiri bermakna dia mengambil akar n ab, yang, dari matematik mudah eksponen, kita tahu memberi dia n, yang kini dihantar kembali kepada Bob. Menggunakan "kunci" nya, eksponennya, Bob mengambil akar bb nb, dan dia memperoleh nombor rahsia n yang Alice ingin menyampaikan kepadanya.

Mewujudkan kod yang lebih kuat dengan bilangan prima

Ia adalah mungkin untuk menghantar nombor rahsia dari Alice kepada Bob seperti yang saya sebutkan, dan jika bilangannya cukup besar, seseorang akan mempunyai kebarangkalian yang munasabah bahawa nombor itu tidak dapat disimpulkan oleh Hawa. Walau bagaimanapun, sebenarnya, pelaksanaan utama bursa utama Diffie-Hellman menggunakan elemen yang lebih canggih untuk menjadikannya lebih sukar untuk memecahkan kod. Dan nombor rahsia tidak dihantar dari Alice ke Bob, tetapi disimpulkan oleh kedua-duanya menggunakan formula n ab (yang, tentu saja, juga sama dengan n ba ).

Alice dan Bob memilih nombor prima, yang mereka anggap boleh dikenali kepada Hawa, atau kepada sesiapa sahaja di dunia. Katakanlah bahawa nombor ini adalah 11. Mereka kemudian melakukan semua perhitungan dengan menggunakan kumpulan berbilang matematik integer modulo 11 (seperti jam yang berkeliling hingga 12 dan kemudian bermula dari 1, kumpulan ini mula dikira lagi setelah mencapai 11). Mereka juga memilih asas, dan katakan bahawa ia adalah nombor 5. Alice kemudian memilih nombor rahsianya, katakan 3. Secara berasingan, Bob memilih nombor rahsianya, 4.

Alice menaikkan pangkalan yang disepakati kepada 5 hingga kekuatan nombor rahsianya 3, dan modulus perhitungan 11. Dia mendapat: 5 3 = 125, tetapi 125 modulo 11 adalah 4 (ia adalah baki pembahagian 125 oleh 11, yang memberikan 11 dan selebihnya 4 - ia bertindak seperti 16 jam dalam jam, tetapi jam ini berdasarkan 11 dan bukannya 12). Dia menghantar Bob jawapannya, nombor 4. Ingatlah bahawa Bob telah memilih nombor rahsia sebanyak 4, jadi dia menaikkan 4 yang dia dapatkan dari Alice ke kuasa ke-4, modulo 11, dan ini memberinya 4 4 = 256, tetapi 256 modulo 11 adalah 3 (kerana 11 × 23 = 253, meninggalkan baki 3), yang merupakan jawapan terakhirnya.

Alice mendapat dari Bob yang asal 5 mereka telah bersetuju, tetapi kini dibesarkan dengan kuasa nombor rahsianya, 4, modulo 11, iaitu 625 modulo 11, iaitu 9 (sebagai 11 × 56 = 616, meninggalkan selebihnya 9). Dia kemudian menaikkan nombor ini kepada kekuasaan rahsia nombor 3, sekali lagi melakukan modulasi ini 11. Dia mendapat nombor yang sama dengan Bob, 3 (kerana 9 3 = 729, tetapi modulo 11 adalah 3, sejak 11 × 66 = 726, yang meninggalkan baki 3).

Dengan menggunakan aritmetik modular rumit ini berdasarkan nombor perdana, tetapi pada asasnya meningkatkan bilangan kepada kuasa tersembunyi seperti pada bahagian sebelumnya, Alice dan Bob menubuhkan nombor rahsia umum, dalam contoh ini, 3. Aritmetik modular menggunakan nombor perdana membantu membuat algoritma banyak lebih sukar untuk dimaklumkan oleh eavesdropper. * Pada hakikatnya, nombor utama adalah besar, dan begitu juga nombor-nombor lain. Apabila Alice dan Bob menggunakan nombor rahsia 100 digit panjang, nombor biasa bersama yang disimpulkan oleh Alice dan Bob tidak dapat dipelajari oleh Hawa walaupun dia mempunyai akses kepada semua kuasa pengkomputeran yang ada di dunia.

Apabila Alice dan Bob telah menubuhkan nombor rahsia umum, mereka boleh menggunakannya sebagai kunci untuk menyulitkan mesej dari satu ke yang lain dan harus mempunyai kebarangkalian yang tinggi bahawa komunikasi mereka tidak akan diuraikan oleh orang luar.

Dua kunci lebih baik daripada satu

Tahun selepas algoritma Diffie-Hellman diterbitkan, tiga akademik kemudian bekerja di MIT-Ron Rivest, Adi Shamir, dan Leonard Adelman-menghasilkan idea cemerlang untuk menyulitkan mesej. Apa yang mereka cuba lakukan adalah untuk mengelakkan panggung di mana Alice dan Bob mesti membuat nombor rahsia umum, kerana tahap ini memperlambat komunikasi di antara mereka.

Tiga saintis MIT mengembangkan gagasan sepasang kunci: kunci awam dan kunci persendirian, yang kemudiannya digunakan bersama untuk menyampaikan mesej rahsia. Kunci awam boleh diterbitkan dan diketahui oleh semua orang. Penggunaannya menjimatkan masa. Kunci peribadi adalah rahsia yang dipelihara oleh Bob, membenarkannya untuk memecahkan mesej berkod dari Alice (atau dari sesiapa yang mengetahui kunci awamnya). Bob menerbitkan kunci awamnya, yang merupakan jumlah besar. Nombor ini diperoleh apabila dia mengalikan dua nombor perdana yang sangat besar, yang diketahui hanya kepadanya (mereka membentuk kunci persendiriannya). Apabila Alice mahu menghantar mesej rahsia Bob, dia menyulitkannya menggunakan kunci awamnya yang diketahui. Tetapi untuk mendekripsi mesej itu, seseorang perlu mengetahui kunci peribadi Bob, iaitu dua nombor perdana yang digunakannya untuk mencipta kunci umumnya. Kononnya, hanya Bob yang dapat melakukan ini.

Penyulitan dan penyahkodan mesej menggunakan algoritma RSA adalah prosedur matematik yang rumit yang bergantung kepada aritmetik modular dan nombor prima sama seperti cara mereka digunakan dalam perihalan sistem Diffie-Hellman di atas. Tetapi ia lebih canggih supaya ia boleh membenarkan pemecahan menggunakan hanya kunci persendirian. Kunci awam sahaja tidak berguna untuk menafsirkan kod RSA.

Elemen penting RSA adalah hakikat bahawa kunci awam terdiri daripada dua nombor perdana yang tidak diketahui. Ia berlaku bahawa pemfaktoran nombor ke dalam komponen utamanya adalah sangat sukar apabila prima besar. (35 = 7 × 5, satu produk dari dua prima, mudah tetapi 46, 324, 637 = 5, 881 × 7, 877 lebih sukar, dan prima yang digunakan dalam penyulitan RSA jauh lebih besar.) Fakta ini sahaja yang menjadikan Hawa dalam kegelapan. Dia tahu produk kedua nombor perdana itu-tetapi dia tidak boleh dengan mudah (dan mudah-mudahan tidak sama sekali) menyimpulkan apa yang kedua-dua prima itu!

Cabaran RSA

Sejurus selepas sistem RSA dicipta, Martin Gardner menerbitkan dalam Scientific American sebuah mesej yang disulitkan dan nombor RSA yang besar, dengan 129 digit, iaitu hasil dua buah prima. Dia mencabar pembaca untuk memecahkan kod itu, menawarkan hadiah $ 100. Ia mengambil masa 17 tahun untuk nombor yang dipertimbangkan dan mesej disahkan. Ini adalah tempoh masa yang agak singkat -ramai yang menjangkakan bahawa ia akan mengambil masa yang sangat lama, dan Rivest, Shamir, dan Adelman telah mengejek bahawa ia boleh mengambil beberapa "empat belas tahun." Operasi kompleks itu dicapai dengan menggunakan pengkomputeran yang diedarkan dengan beribu-ribu komputer di seluruh dunia melakukan bahagian-bahagian pengiraan umum-dengan itu menunjukkan kekuatan pendekatan sedemikian.

RSA Security, yang diasaskan oleh para akademik, telah menerbitkan beberapa nombor yang serupa, dan untuk sementara waktu terdapat hadiah wang tunai yang ditawarkan untuk pemfaktoran mereka kepada pasangan prima, yang mana syarikat itu kemudiannya menarik diri. Kini, beberapa cabaran ini telah dipenuhi oleh ahli matematik menggunakan pengkomputeran yang diedarkan. Berikut adalah satu masalah yang masih belum jelas, nombor RSA dengan 210 digit, yang belum pernah dipertimbangkan menjadi dua prima:

 RSA-210 = 245246644900278211976517663573088018467026787678332759743414451715061600830038587216952208399332071549103626827191679864079776723243005600592035631246561218465817904100131859299619933817012149335034875870551067 

Jelas sekali, semakin besar bilangan yang dipertimbangkan, semakin lama masa yang diperlukan untuk memecahnya menjadi sepasang prima. Di luar panjang tertentu (dalam angka perpuluhan), kod RSA menjadi tidak dapat dikalahkan dan oleh itu sebarang mesej yang didasarkan padanya tidak dapat dikecualikan (dalam jangka masa yang munasabah) oleh seorang eavesdropper. Algoritma RSA digunakan secara meluas pada hari ini dalam keselamatan Internet.

Penggunaan NSA dan penyalahgunaan enkripsi

Dalam mengguna pakai piawaian untuk penyulitan di Amerika Syarikat, dan untuk mengeksport produk penyulitan, NSA telah menolak, dan berjaya melaksanakan, had undang-undang pada saiz nombor yang digunakan dalam pengekodan RSA, sehingga-dengan superkomputernya-akan menjadi mampu mentafsir sebarang mesej berdasarkannya. Mungkin orang Eropah tidak terikat oleh sekatan ini, dan cryptanalyst mereka seharusnya dapat dengan mudah merangka kod RSA yang tidak dapat dipecahkan (dengan memilih bilangan prima yang cukup besar) untuk digunakan dalam komunikasi diplomatik Eropah yang rutin serta melindungi komputer mereka dari hacking.

Dan seperti yang ditunjukkan oleh sejarah, superkomputer kurang berkesan daripada pengkomputeran diedarkan di seluruh dunia untuk memecahkan kod maju-tetapi dengan sifatnya yang sangat, NSA tidak boleh menggunakannya. Sebaliknya, wahyu yang paling baru-baru ini seolah-olah menunjukkan bahawa salah satu tujuan pencarian NSA adalah sebenarnya untuk mengenal pasti orang atau entiti yang menggunakan penyulitan dalam komunikasi mereka. Jika ya, semua alasan lebih banyak untuk kerajaan-kerajaan Eropah menggunakan kod-kod maju, Barat, maju, untuk menetapkan diri mereka selain dari entiti pengganas, yang mana kod-kodnya mestilah kelihatan berbeza. Ini sebenarnya akan membantu NSA menumpukan pada mengenal pasti ancaman sebenar daripada membuang sumber untuk memintas mesej Brussels seperti: "Pierre, Itali atau Cina untuk makan tengah hari hari ini? Yours, Hans. "

Oleh itu, kita mendapati diri kita sekarang, dalam perlumbaan enkripsi dan penyahsulitan, dunia di mana matematik tulen memainkan peranan utama dalam membantu mencipta kod yang lebih baik dan lebih baik. Memandangkan kod menjadi lebih canggih, begitu juga kod-pemutus, dan kitaran itu terus berkembang. Apa yang luar biasa ialah kod-kod yang dianggap benar-benar tidak dapat dipecahkan beberapa dekad yang lalu yang menjadi pelanggaran kerana teknologi bertambah baik-tetapi sekali lagi, mereka yang bentuk kaedah penyulitan baru, pada semua pihak, menggunakan matematik yang lebih rumit untuk memastikan satu langkah di hadapan mereka pengejar.

* Terdapat dua sebab yang baik untuk menggunakan aritmetik modular. Yang pertama ialah ia berfungsi sebagai fungsi banyak-ke-satu, dalam erti kata bahawa banyak nombor, apabila dibahagikan dengan perdana, akan memberikan sisa yang sama-dengan itu menjadikan kehidupan Hawa lebih rumit (dia boleh 't unik membina semula nombor rahsia Alice dan Bob). Menggunakan contoh jam, jika dia harus mendengar bahawa mesyuarat akan berlaku pada 1 jam, dia tidak boleh memberitahu sama ada am atau pm, atau pada hari itu. Alasan kedua adalah bahawa ia meletakkan topi pada saiz nombor yang terlibat apabila menggunakan eksponen, kerana (oleh definisi!) Tanpa aritmetik modular angka-angka ini berkembang "secara eksponen, " dan boleh membuat perhitungan sukar dikawal.


Artikel Yang Menarik

Ia Mudah Tidak Berterasan Apabila Anda Memiliki Shell yang Baik

Ia Mudah Tidak Berterasan Apabila Anda Memiliki Shell yang Baik

Aesop tidak pernah menulis cerita mengenai siput. Sekiranya dia menulis tentang moluska air tawar tertentu, moral mungkin Boldness berasal dari cangkang yang kuat atau mungkin Siput ceroboh mendapat chomped. Tetapi kerana siput dan shell berubah-ubah adalah nyata, pelajaran mereka lebih berkaitan dengan cara-cara evolusi yang pelik

Tadpoles Dapatkan Piggyback Rides untuk Melarikan diri dari Kapten Cannibal

Tadpoles Dapatkan Piggyback Rides untuk Melarikan diri dari Kapten Cannibal

Berenang di kolam kanibal selepas ditinggalkan oleh orang tua adalah keadaan yang sangat suram. Tetapi berudu yang mendapati dirinya di sini tidak menanti nasibnya. Sebaliknya, ia cuba untuk melompat ke belakang mana-mana katak yang melawat dan menaiki perjalanan ke keselamatan. Walaupun katak tidak berminat untuk menyelamatkan, tadpole bersedia untuk menyelamatkan dirinya sendiri

Skimmer ATM cetak 3D yang canggih, kelihatan di LA

Skimmer ATM cetak 3D yang canggih, kelihatan di LA

Kami sering menulis mengenai perkara-perkara yang menakjubkan, menawan, dan tidak masuk akal yang membolehkan pencetak 3D dapat: lihat kerang kepiting hermit yang hebat, pesawat ruang angkasa yang dibuat daripada kerang dan keju tulen, "Segitiga Penrose" yang dibajak "bajakan". Tetapi mesin yang boleh membuat apa-apa objek fizikal dengan menggunakan hanya serbuk resin juga boleh beralih kepada hujung yang lebih jahat

Lebih banyak tanda-tanda kekacauan di Ruapehu di New Zealand

Lebih banyak tanda-tanda kekacauan di Ruapehu di New Zealand

Semalam saya menyebutkan Lapangan Vulkanik Auckland - gugusan gunung berapi di bawah bandar terbesar di New Zealand. Walaupun Auckland Volcanic Field adalah wilayah untuk memantau aktiviti, tidaklah dengan tembakan panjang, wilayah gunung berapi paling aktif di Pulau Utara. Baru-baru ini, mantel itu akan menjadi milik Ruapehu, di ujung selatan Zon Vulkan Taupo

DARPA Kehilangan Hubungi dengan Mach 20  "Hypersonic Glider " Semasa Penerbangan Ujian

DARPA Kehilangan Hubungi dengan Mach 20 "Hypersonic Glider " Semasa Penerbangan Ujian

Ia adalah minggu yang besar untuk pesawat ketenteraan eksperimen, dengan kapal angkasa X-37B pesawat rahsia Tentera Udara dan tentera bio bertenaga "Green Hornet" Tentera Laut kedua-duanya mencapai penerbangan ujian yang berjaya. Tetapi yang paling bercita-cita tinggi - peluncur hipersonik HTV-2 di bawah pembangunan oleh Agensi Projek Penyelidikan Advanced Defense (DARPA) -menghubung dengan pengendalinya semasa ia dijalankan

Daging: di mana fisiologi memenuhi rasa

Daging: di mana fisiologi memenuhi rasa

Lembaga charcuterie adalah iringan yang sempurna untuk mana-mana pengumpulan dan saingan plat keju sebagai orang ramai. Ia penyelenggaraan yang rendah, lazat, dan hampir pasti akan mempunyai rasa atau tekstur untuk merayu kepada selera yang terpilih. Daging datang dalam pelbagai tekstur, kandungan lemak, dan perisa, yang berbeza spesies untuk spesies dan juga dalam haiwan yang sama