ความหมายของ:“ 'หากการแยกเลขจำนวนเต็มขนาดใหญ่ยากแล้วการแตก RSA นั้นยาก' จะพิสูจน์ได้ "


30

ฉันอ่าน CLRS และพูดว่า:

หากการแยกจำนวนเต็มขนาดใหญ่นั้นง่ายแล้วการทำลายระบบเข้ารหัส RSA นั้นเป็นเรื่องง่าย

ซึ่งเหมาะสมกับฉันเพราะด้วยความรู้ของและqมันเป็นเรื่องง่ายที่จะสร้างรหัสลับซึ่งเป็นความรู้เกี่ยวกับกุญแจสาธารณะ แม้ว่ามันจะอธิบายถึงการสนทนาที่ฉันไม่เข้าใจ:qpq

คำสั่งสนทนาว่าหากการแยกจำนวนเต็มจำนวนมากนั้นยากการแบ่ง RSA นั้นยากจะพิสูจน์ได้

ข้อความข้างต้นอย่างเป็นทางการหมายถึงอะไร? หากเราถือว่าแฟคตอริ่งนั้นยาก (ในทางที่เป็นทางการ) ทำไมมันไม่ได้หมายความว่าการทำลายระบบการเข้ารหัส RSA นั้นยาก?

ตอนนี้ให้พิจารณาว่าหากเราสันนิษฐานว่าแฟคตอริ่งนั้นยาก ... และเราค้นพบว่านั่นหมายความว่าระบบเข้ารหัส RSA นั้นยากที่จะทำลาย นั่นหมายความว่าอย่างเป็นทางการหมายความว่าอย่างไร


3
มันอาจหมายความว่าหมดอาร์เอสเป็นเรื่องยาก แต่ก็ไม่ได้รับการพิสูจน์แล้วว่า
Tom van der Zanden

2
ปัญหาสิ้นเชิงลอการิทึมที่เป็นหัวใจของอาร์เอสที่จะหมดขณะที่ "คล้ายกันมาก" ไม่ได้รับการพิสูจน์แล้วว่าเป็นเทียบเท่ากับแฟคำถามเปิดที่สำคัญของข้อมูล (ทั้งการเข้ารหัสและ TCS)
vzn

1
ที่สองไม่ควรใช้เส้นประแทนที่จะเป็นเครื่องหมายจุลภาค? ไม่มีการใช้เครื่องหมายขีดกลางเมื่อมีเครื่องหมายจุลภาคอยู่ในอนุประโยคที่อ้างถึงหรือไม่ The converse statement -- that if factoring large integers is hard, then breaking RSA is hard -- is unproven.
Czipperz

@ruakh: อ๊ะใช่ ... ฉันยังต้องแน่ใจว่าได้ตรวจสอบอีกครั้ง แต่ฉันก็ยังเข้าใจผิด ฉันลืมไปตลอดว่าคุณควรจะลดปัญหาที่คุณรู้ว่าเป็นเรื่องง่ายไม่ใช่ปัญหาที่คุณรู้ว่าอย่างน้อยก็ยากพอ ๆ กับปัญหาปัจจุบันของคุณ :-) ขอบคุณที่ฉันลบมัน
Mehrdad

อาร์กิวเมนต์ทางคณิตศาสตร์: "ถ้าแล้ว " หมายถึง "ถ้าไม่ใช่ดังนั้นไม่ใช่ " คุณไม่สามารถพูดอะไรเกี่ยวกับ "ถ้าไม่ใช่และไม่ใช่ " B B A A BABBAAB
drzbir

คำตอบ:


50

วิธีที่ง่ายที่สุดที่จะคิดเกี่ยวกับมันก็คือการคิดถึงสิ่งที่ตรงกันข้าม

คำสั่ง:

ถ้าแฟคตอริ่งจำนวนเต็มขนาดใหญ่นั้นยากการแบ่ง RSA นั้นยาก

เทียบเท่ากับสิ่งต่อไปนี้:

ถ้าการแบ่ง RSA เป็นเรื่องง่ายดังนั้นการแยกจำนวนเต็มขนาดใหญ่จึงเป็นเรื่องง่าย

คำสั่งนี้ยังไม่ได้รับการพิสูจน์

สิ่งที่พวกเขากำลังพูดคือสมมติว่าเรามีอัลกอริทึมที่สามารถแก้ปัญหาการแยกตัวประกอบในเวลาพหุนาม จากนั้นเราสามารถใช้มันเพื่อสร้างอัลกอริทึมที่แก้ RSA ในเวลาพหุนาม

แต่อาจมีวิธีอื่นในการถอดรหัส RSA ที่ไม่เกี่ยวข้องกับการแยกจำนวนเต็ม เป็นไปได้ว่าเราจะพบว่าเราสามารถแตก RSA ในลักษณะที่ไม่ให้เราแยกจำนวนเต็มในเวลาพหุนาม

ในระยะสั้นเรารู้ว่า RSA นั้นง่ายอย่างน้อยเท่ากับแฟตตอริ่ง มีสองผลลัพธ์ที่เป็นไปได้: RSA และแฟคตอริ่งมีความยากเทียบเท่าหรือ RSA เป็นปัญหาที่ง่ายกว่าอย่างยิ่งแฟคตอริ่ง เราไม่ทราบว่าเป็นกรณีใด


10
"อย่างน้อยก็ง่าย" - นั่นเป็นวิธีการตีความลดที่ควรได้รับการสอนอย่างชัดเจนมากขึ้นพร้อมกับวิธีอื่น ๆ
G. Bach

คุณสามารถทำได้ทั้งสองวิธีถ้า X เป็นอย่างน้อยยากเท่า Y, Y อย่างน้อยก็ง่ายเหมือน X
jmite

2
นั่นคือสิ่งที่ฉันหมายถึง - เกือบทุกคนคงเคยได้ยินคำว่า "X อย่างน้อยยากเท่า Y" แต่ "Y นั้นง่ายอย่างน้อยที่สุดเท่าที่ X" ไม่ค่อยอธิบาย - แม้ว่ามันจะมีประโยชน์ก็ตาม
G. Bach

1
ฉันดูเหมือนจะจำได้ไม่ชัดเจนว่า Donald Knuth พูดถึงอัลกอริธึมที่ได้รับเครื่องที่สามารถถอดรหัสข้อความเข้ารหัส RSA ได้อย่างน่าอัศจรรย์จะสามารถแยกผลิตภัณฑ์ที่มีขนาดใหญ่สองช่วงได้ ฉันอาจผิด :-(
gnasher729

31

การดำรงอยู่ของวิธีที่ยากไม่ได้หมายความว่าไม่มีวิธีที่ง่าย

อาจมีหลายวิธีในการทำลาย RSA และเราจำเป็นต้องค้นหาวิธีใดวิธีหนึ่งเท่านั้น


หนึ่งในวิธีเหล่านี้คือการแยกจำนวนเต็มจำนวนมากดังนั้นหากเป็นเรื่องง่ายเราสามารถทำได้ด้วยวิธีนี้และ RSA จะเสีย นี่เป็นวิธีเดียวที่เรารู้ ถ้ามันเป็นไปไม่ได้ที่จะทำเช่นนั้นเรายังคงสามารถหาวิธีอื่น ๆ ที่เรียกร้องได้น้อยกว่าในการทำงานของเราโดยไม่ต้องคำนวณpและqจากnอย่างชัดเจน


ในการพิสูจน์ว่า RSA นั้นใช้งานไม่ได้เราต้องพิสูจน์ว่าวิธีหนึ่งที่ทำได้ง่าย

ในการพิสูจน์ว่า RSA นั้นปลอดภัยเราต้องพิสูจน์ว่าทุกวิธีที่ทำได้ยาก


ท้ายที่สุดคำสั่งของคุณไม่ได้รับการพิสูจน์เพราะมันไม่ได้พิสูจน์ว่าไม่มีวิธีการอื่นที่ง่ายกว่าที่จะดึงข้อมูลจากไซเบอร์เท็กซ์


1
เราสามารถพิสูจน์ได้ว่า RSA และแฟ็กเตอริ่งนั้นยากพอ ๆ กันถ้าเราสามารถสร้างอัลกอริทึมที่สามารถแยกผลิตภัณฑ์ของสองช่วงเวลาขนาดใหญ่ด้วยการสร้างข้อความเข้ารหัส RSA พิเศษบางอย่างทำการถอดรหัสพวกมันแล้วทำการคำนวณเพิ่มเติม นั่นหมายความว่า RSA นั้นไม่ใช่เรื่องง่ายกว่าแฟคตอริ่ง ไม่ได้หมายความว่าง่ายหรือยาก
gnasher729

@ gnasher729 นั่นจะเพียงพอหรือไม่ หากอัลกอริทึมสามารถแยกผลิตภัณฑ์ของสองช่วงเวลาที่มีขนาดใหญ่ แต่ไม่ใช่ผลิตภัณฑ์ที่เกี่ยวข้องกับช่วงเวลาที่มากกว่า 2 ช่วงเวลาหรือผลิตภัณฑ์ที่เกี่ยวข้องกับช่วงเวลาขนาดเล็กหรือไม่
otakucode

@ ฉันคิดว่า RSA ขึ้นอยู่กับปัจจัยที่เป็น coprime เท่านั้น ดังนั้นการรับผลิตภัณฑ์ที่มีปัจจัยหลาย ๆ
Taemyr

10

อีกวิธีหนึ่งในการดูคือการทำลาย RSA ต้องใช้กรณีพิเศษของการแยกตัวประกอบซึ่งอาจหรือไม่ง่ายโดยไม่คำนึงถึงคำถามทั่วไปของการแยกตัวประกอบ

3


7

หมายความว่าปัญหา RSA นั้นดูเหมือนจะเฉพาะเจาะจงกว่าแฟคตอริ่ง

pqe,v,mvmemodpq

ปัญหาแฟคือ: รู้ semiprimeหาทั้งและQppq,pq

หากคุณได้อย่างมีประสิทธิภาพสามารถแก้ปัญหาแฟแล้วคุณได้อย่างมีประสิทธิภาพสามารถแก้ปัญหาอาร์เอสที่ใช้ semiprime ปัจจัยมันใช้ทฤษฎีบางอย่างเกี่ยวกับ moduluses ที่สำคัญในการคำนวณผกผันตัวแทนซึ่งแสดงให้เห็น ciphertexts ทั้งหมดเป็น d (ในความเป็นจริงทฤษฎีเหล่านี้เป็นวิธีการตั้งค่าสำหรับ RSA ทำงาน: เรารู้สองช่วงเวลาระหว่างขั้นตอนการตั้งค่า)m v ddmvd

อย่างไรก็ตามไม่มีใครรู้ว่าการแก้ปัญหาข้างต้นสำหรับข้อความโดยพลการจะบอกอะไรคุณเกี่ยวกับปัจจัยของโมดูลัสหรือเลขชี้กำลังที่เกี่ยวข้อง มันอาจจะใช่หรือไม่ใช่ก็ได้ เราไม่รู้ คนฉลาดหลายคนคงมองปัญหาแล้ว แต่ก็ไม่มีอะไรโดดเด่นเลย ดังนั้นจึงไม่ทราบว่าปัญหาแฟจะได้รับการแก้ไขโดยการแก้ปัญหาอาร์เอสเอ (บวกกับความพยายามพหุนาม) เฉพาะว่าปัญหาอาร์เอสเอสจะได้รับการแก้ไขโดยการแก้ไขปัญหาแฟคตอริ่งm

ในความเป็นจริงในปี 1998 Boneh และ Venkatesan เผยแพร่หลักฐานว่าอัลกอริทึมคลาสง่าย ๆ (บวก, ครั้ง, เลขยกกำลัง, ไม่มีสิ่งของประเภท XOR / NAND) ไม่สามารถใช้เพื่อเปลี่ยนวิธีแก้ปัญหา RSA เป็นอัลกอริทึมการแฟ อาร์กิวเมนต์มีความเฉลียวฉลาดอย่างง่าย ๆ : โดยจัดการกับการคำนวณทางคณิตศาสตร์เหล่านั้นเราจะพบว่า "การลดอัลกอริธึม" (สำหรับความแม่นยำ: นี่คืออัลกอริธึมที่ใช้ RSA "oracle" สำหรับ semiprime ออกมาเป็นอัลกอริทึมการแยกตัวประกอบในสิทธิของตนเองเพื่อให้เราสามารถปรับเปลี่ยนให้เป็นตัวแปรที่ไม่เรียกไปยัง oracle ดังนั้นเราจึงมี trichotomy: (a) ไม่มีอัลกอริธึมลดดังกล่าวหรือ (b) อัลกอริทึมการลดไม่มีการตีความทางคณิตศาสตร์ที่ดีหรือ (c) แฟคตอริ่งเป็นพหุนามเวลาเหมือนกับอัลกอริธึมลด


“ ไม่รู้ว่าการหาเลขชี้กำลังอินเวอร์สแทนดีนี้ให้ e ใด ๆ จะบอกอะไรคุณเกี่ยวกับปัจจัยของโมดูลัส” ใช่ไหม? คุณสามารถคำนวณและให้ ,และq n e dpqned dอัลกอริธึมที่แสดงออกมานั้นชัดเจนว่า PP ไม่ทราบว่าเป็น P หรือไม่?
Gilles 'หยุดความชั่วร้าย'

@Gilles จริงฉันคิดว่าคุณพูดถูกดังนั้นฉันจึงได้แก้ไขคำตอบของฉัน
CR Drost

3

logeCZmemC

งานทางคณิตศาสตร์ทั้งสองนี้เกี่ยวข้อง แต่ (ถ้าฉันจำได้อย่างถูกต้อง) ก็เชื่อว่าการแก้ปัญหาอย่างใดอย่างหนึ่งจะไม่ได้หมายความถึงวิธีการแก้ปัญหาอื่น ๆ ฉันไม่รู้ว่าพวกเขาเป็นเพียงสองวิธีในการทำลาย RSA ทางคณิตศาสตร์หรือไม่


mm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.