Arti dari: "'Jika memfaktorkan bilangan bulat besar itu sulit, maka melanggar RSA itu sulit,' tidak terbukti"

30

Saya membaca CLRS dan berkata:

Jika memperhitungkan bilangan bulat besar itu mudah, maka memecahkan cryptosystem RSA itu mudah.

Yang masuk akal bagi saya karena dengan pengetahuan dan , mudah untuk membuat kunci rahasia yang menjadi pengetahuan kunci publik. Padahal, itu menjelaskan pernyataan sebaliknya, yang saya tidak mengerti:pq

Pernyataan sebaliknya, bahwa jika anjak bilangan bulat besar sulit, maka melanggar RSA sulit, tidak terbukti.

Apa arti pernyataan di atas secara formal? Jika kita menganggap anjak sulit (dalam beberapa cara formal), mengapa itu tidak menyiratkan bahwa melanggar sistem kripto RSA sulit?

Sekarang pertimbangkan bahwa jika kita berasumsi bahwa anjak sulit ... dan kita menemukan bahwa itu berarti kriptografi RSA sulit untuk dipecahkan. Apa artinya itu secara formal?

Charlie Parker
sumber
3
Ini mungkin berarti bahwa melanggar RSA sulit, tetapi belum terbukti .
Tom van der Zanden
2
yang logaritma diskrit di jantung melanggar RSA sementara "sangat mirip" belum terbukti setara dengan anjak piutang, dengan pertanyaan terbuka utama lapangan (baik kriptografi dan TCS)
vzn
1
Bukankah kedua harus menggunakan tanda hubung bukan koma? Bukankah tanda hubung digunakan ketika ada koma di dalam klausa dependen? The converse statement -- that if factoring large integers is hard, then breaking RSA is hard -- is unproven.
Czipperz
@ruakh: Aduh, ya ... Aku bahkan memastikan untuk mengeceknya tapi aku masih salah. Saya terus lupa bahwa Anda seharusnya mengurangi menjadi masalah yang Anda tahu mudah, bukan masalah yang Anda tahu setidaknya sama sulitnya dengan masalah Anda saat ini. :-) Terima kasih untuk itu, saya menghapusnya.
Mehrdad
Argumen matematika: "jika , maka " berarti sama dengan "jika bukan , maka bukan ". Anda tidak dapat mengatakan apa pun tentang "jika bukan , maka bukan ". B B A A BABBAAB
drzbir

Jawaban:

50

Cara termudah untuk memikirkannya adalah dengan memikirkan alat kontrasepsi.

Pernyataan:

jika factoring bilangan bulat besar sulit, maka melanggar RSA sulit

setara dengan yang berikut:

jika melanggar RSA itu mudah, maka memfaktorkan bilangan bulat besar itu mudah

Pernyataan ini belum terbukti.

Apa yang mereka katakan adalah, asumsikan kita memiliki algoritma yang memecahkan anjak piutang dalam waktu polinomial. Kemudian kita dapat menggunakannya untuk membangun algoritma yang memecahkan RSA dalam waktu polinomial.

Tapi, mungkin ada beberapa cara lain untuk memecahkan RSA yang tidak melibatkan bilangan bulat anjak piutang. Mungkin saja kita akan menemukan bahwa kita dapat memecahkan RSA dengan cara yang tidak membiarkan kita memfaktorkan bilangan bulat dalam waktu polinomial.

Singkatnya, kita tahu bahwa RSA setidaknya semudah memfaktorkan. Ada dua hasil yang mungkin: RSA dan anjak piutang memiliki kesulitan yang setara, atau RSA adalah masalah yang lebih mudah daripada anjak piutang. Kami tidak tahu yang mana masalahnya.

Ya ampun
sumber
10
"setidaknya semudah" - itu adalah cara menafsirkan pengurangan yang harus diajarkan lebih tegas bersama dengan sebaliknya.
G. Bach
Anda bisa melakukannya dengan cara lain, jika X setidaknya sekeras Y, Y setidaknya semudah X.
jmite
2
Itulah yang saya maksudkan - hampir semua orang mungkin pernah mendengar "X setidaknya sekeras Y", tetapi "Y setidaknya semudah X" sangat jarang dijelaskan - meskipun itu sama bermanfaatnya.
G. Bach
1
Tampaknya saya ingat samar-samar bahwa Donald Knuth menyebutkan sebuah algoritma yang memberikan mesin yang secara ajaib dapat memecahkan pesan terenkripsi RSA yang sewenang-wenang akan dapat menjadi faktor produk dari dua bilangan prima besar. Saya mungkin salah :-(
gnasher729
31

Keberadaan jalan yang keras tidak menyiratkan tidak ada jalan yang mudah.

Mungkin ada sejumlah cara untuk memecahkan RSA dan kita hanya perlu menemukan salah satunya.


Salah satu cara ini adalah memfaktorkan bilangan bulat besar, jadi jika itu mudah kita bisa melakukannya dengan cara ini dan RSA rusak. Ini juga satu-satunya cara yang kita tahu. Jika tidak mungkin untuk melakukan itu, kita masih dapat menemukan cara lain, yang secara komputasi kurang menuntut untuk melakukan tugas kita tanpa perlu secara eksplisit menghitung p dan q dari n .


Untuk membuktikan RSA rusak, kita perlu membuktikan bahwa salah satu cara untuk melakukannya adalah mudah.

Untuk membuktikan RSA aman, kita perlu membuktikan bahwa semua cara untuk melakukannya sulit.


Akhirnya, pernyataan Anda tidak terbukti karena tidak terbukti bahwa tidak ada metode lain yang lebih mudah yang mengekstraksi informasi dari cyphertext.

Rainer P.
sumber
1
Kami dapat membuktikan bahwa RSA dan anjak piutang sama sulitnya jika kami dapat menghasilkan algoritma yang dapat menentukan faktor produk dari dua bilangan prima besar dengan menghasilkan beberapa pesan terenkripsi RSA khusus, memecahkannya, dan kemudian melakukan beberapa perhitungan lagi. Itu berarti RSA tidak lebih mudah daripada memfaktorkan. Itu tidak berarti mudah atau sulit.
gnasher729
@ gnasher729 Apakah itu cukup? Jika algoritma dapat memperhitungkan dua produk bilangan prima besar, tetapi bukan produk yang melibatkan lebih dari 2 bilangan prima, atau produk yang melibatkan bilangan prima kecil?
otakucode
@Saya pikir RSA hanya tergantung pada faktor-faktor yang menjadi koprime. Jadi menyiasati produk-produk dari berbagai faktor akan sangat mudah.
Taemyr
10

Satu cara tambahan untuk melihatnya, adalah bahwa melanggar RSA hanya membutuhkan kasus anjak piutang khusus, yang mungkin atau mungkin tidak mudah terlepas dari pertanyaan umum mengenai anjak piutang.

3

Ran G.
sumber
7

Ini berarti bahwa masalah RSA tampaknya (saat ini) lebih spesifik daripada anjak piutang.

pqe,v,mvmemodpq

Masalah anjak piutang adalah ini: mengetahui semiprime temukan dan .pq,pq

Jika Anda dapat secara efisien menyelesaikan masalah anjak piutang, maka Anda dapat secara efisien menyelesaikan masalah RSA: ambil semiprime, faktor, gunakan beberapa teorema tentang modulus utama untuk menghitung eksponen terbalik yang mengungkapkan semua ciphertext sebagai . (Sebenarnya teorema ini adalah bagaimana pengaturan untuk RSA bekerja: kita tahu dua bilangan prima selama fase pengaturan.)dmvd

Namun, tidak diketahui bahwa memecahkan masalah di atas untuk pesan arbitrer akan memberi tahu Anda apa pun tentang faktor-faktor modulus atau eksponen yang terlibat. Mungkin atau mungkin tidak; kita tidak tahu. Banyak orang pintar mungkin melihat masalah ini, tetapi tidak ada yang jelas muncul di antara mereka. Jadi tidak diketahui bahwa masalah anjak diselesaikan dengan solusi untuk masalah RSA (ditambah upaya polinomial), hanya bahwa masalah RSA diselesaikan oleh solusi untuk masalah anjak piutang (ditambah upaya polinomial).m

Bahkan pada tahun 1998, Boneh dan Venkatesan menerbitkan bukti bahwa kelas algoritma tertentu (ditambah, kali, eksponen, tidak ada jenis barang XOR / NAND) tidak dapat digunakan untuk mengubah solusi masalah RSA menjadi algoritma anjak piutang. Argumen ini memiliki kecerdikan sederhana untuk itu: dengan memanipulasi operasi aritmatika secara matematis, kita dapat mengetahui bahwa "algoritma reduksi" (untuk presisi: ini adalah algoritma yang menggunakan "oracle" RSA untuk faktor semiprime ke faktor semiprime) berubah menjadi algoritma anjak sendiri, sehingga kita dapat memodifikasinya menjadi varian yang tidak membuat panggilan ke oracle-nya. Jadi kita memiliki trikotomi: salah satu (a) tidak ada algoritma reduksi seperti itu, atau (b) algoritma reduksi tidak memiliki interpretasi aritmatika yang bagus atau (c) anjak piutang adalah polinomial-waktu seperti halnya algoritma reduksi.

CR Drost
sumber
"Tidak diketahui bahwa menemukan eksponen terbalik ini ke sembarang yang diberikan dan akan memberitahumu apa pun tentang faktor-faktor modulus" Bukan? Anda dapat menghitung dan diberikan , danpqned . Algoritma seperti yang diekspresikan jelas PP, apakah tidak diketahui dalam P?
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles sebenarnya saya pikir Anda benar, jadi saya sudah memperbaiki jawaban saya.
CR Drost
3

RSA tergantung pada dua tugas matematika abstrak yang diyakini sulit: bilangan bulat, seperti yang Anda tahu, tetapi juga masalah logaritma diskrit . Anda dapat memecahkan RSA jika Anda dapat dengan cepat memfaktorkan angka yang merupakan produk dari dua bilangan prima besar yang tidak diketahui; tetapi Anda juga dapat merusak RSA jika Anda dapat dengan cepat menemukan dalam grup hingga , di mana dan adalah eksponen dan modulus RSA publik, dan adalah ciphertext.logeCZmemC

Kedua tugas matematika ini saling berkaitan, tetapi (jika saya ingat dengan benar) itu diyakini bahwa solusi untuk satu tidak akan menyiratkan solusi untuk yang lain. Saya tidak tahu apakah mereka satu-satunya dua cara untuk memecahkan RSA secara matematis.

zwol
sumber
Saya pikir Anda mungkin salah mengingat hal-hal. Itu bukan dua masalah yang berbeda: jika Anda dapat menemukan modul disk log , maka Anda dapat memfaktorkan . Dengan kata lain, solusi untuk masalah log diskrit tentu tidak menyiratkan solusi untuk masalah anjak piutang. mm
DW