ปัญหาการแยกตัวประกอบจำนวนเต็มนั้นยากกว่าการแยกตัวประกอบ RSA:หรือไม่?


39

นี่คือ cross-post จากmath.stackexchange


ให้ความจริงแสดงถึงปัญหาแฟคตอริ่งจำนวนเต็ม: กำหนดหาค่าเฉพาะและจำนวนเต็มเช่นนั้นnN,piN,eiN,n=i=0kpiei.

ให้ RSA แทนกรณีพิเศษของปัญหาแฟคตอริ่งโดยที่และเป็นช่วงเวลา นั่นคือให้ค้นหาช่วงเวลาหรือ NONE หากไม่มีการแยกตัวประกอบn=pqp,qnp,q

เห็นได้ชัดว่า RSA เป็นตัวอย่างของ FACT FACT นั้นยากกว่า RSA หรือไม่ เมื่อใช้ oracle ที่แก้ RSA ในเวลาพหุนามสามารถใช้เพื่อแก้ปัญหา FACT ในเวลาพหุนามได้หรือไม่?

(ตัวชี้ไปที่วรรณกรรมชื่นชมมาก)


แก้ไข 1: เพิ่มข้อ จำกัด เกี่ยวกับพลังการคำนวณให้เป็นเวลาพหุนาม


แก้ไข 2: ตามที่ระบุไว้ในคำตอบโดย Dan Brumleveว่ามีเอกสารที่โต้แย้งและต่อต้าน RSA ที่ยากขึ้น (หรือง่ายกว่า) ความเป็นจริง ฉันพบเอกสารต่อไปนี้:

D. Boneh และ R. Venkatesan การทำลาย RSA อาจง่ายกว่าการแยกตัวประกอบ EUROCRYPT 1998. http://crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf

D. บราวน์: การทำลาย RSA อาจเป็นเรื่องยากพอ ๆ กับการแยกตัวประกอบ คลัง ePrint ของ Cryptology, รายงาน 205/380 (2006) http://eprint.iacr.org/2005/380.pdf

G. Leander และ A. Rupp เรื่องความเท่าเทียมของ RSA และแฟคตอริ่งเกี่ยวกับอัลกอริธึมริงทั่วไป ASIACRYPT 2006. http://www.iacr.org/archive/asiacrypt2006/42840239/42840239.pdf

D. Aggarwal และ U. Maurer การทำลาย RSA โดยทั่วไปนั้นเทียบเท่ากับการแยกตัวประกอบ EUROCRYPT 2009 http://eprint.iacr.org/2008/260.pdf

ฉันต้องผ่านพวกเขาและหาข้อสรุป มีใครรู้บ้างเกี่ยวกับผลลัพธ์เหล่านี้สามารถสรุปได้หรือไม่


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

1
โมฮัมหมัดเหตุใด FACT จึงไม่ย่อท้อกับ RSA
Dan Brumleve

1
บางทีฉันอาจเข้าใจผิดบางสิ่งพื้นฐาน วิธีที่จะแสดงให้เห็นว่าการดำรงอยู่ของอัลกอริทึมในการแยกเซมิโคลอนในเวลาพหุนามไม่ได้บ่งบอกถึงการดำรงอยู่ของอัลกอริทึมในการแยกจำนวนด้วยสามปัจจัยสำคัญในเวลาพหุนาม
Dan Brumleve

6
คุณรู้ได้อย่างไรว่ามันคืออะไร?
Dan Brumleve

7
หากไม่มีการลดเวลาแบบร่วมระหว่างสองปัญหาที่ระบุไว้แสดงว่าเป็นการยากที่จะแสดงสิ่งนี้ใช่ไหม เพื่อพิสูจน์ว่าไม่มีการลดลงของโพลีเวลาสามารถอยู่เราต้องพิสูจน์NP PNP
Fixee

คำตอบ:


13

ผมพบว่าบทความนี้ได้รับสิทธิในการทำลายอาร์เอสอาจจะง่ายกว่าแฟ พวกเขาเชื่อว่าคอมพิวเตอร์ TH ราก moduloอาจจะง่ายกว่าแฟnen=pqn=pq

อย่างไรก็ตามพวกเขาไม่ได้ตอบคำถามที่คุณถามเกี่ยวกับ: พวกเขาไม่พิจารณาว่าจะทำการแยกจำนวนเต็มของรูปแบบอาจจะง่ายกว่าการแยกจำนวนเต็มตามอำเภอใจหรือไม่ ดังนั้นคำตอบนี้ไม่เกี่ยวข้องกับคำถามของคุณn=pq


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

1
D. Boneh และ R. Venkatesan การทำลาย RSA อาจง่ายกว่าการแยกตัวประกอบ EUROCRYPT 1998. crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf D. Brown: การทำลาย RSA อาจเป็นเรื่องยากเหมือนแฟ็กเตอริง Cryptology ePrint Archive, รายงาน 205/380 (2006) eprint.iacr.org/2005/380.pdf D. Aggarwal และ U. Maurer การทำลาย RSA โดยทั่วไปนั้นเทียบเท่ากับการแยกตัวประกอบ EUROCRYPT 2009. eprint.iacr.org/2008/260.pdf G. Leander และ A. Rupp เรื่องความเท่าเทียมของ RSA และแฟคตอริ่งเกี่ยวกับอัลกอริธึมริงทั่วไป ASIACRYPT 2006. iacr.org/archive/asiacrypt2006/42840239/42840239.pdf

1
ฉันอ่านบทคัดย่อและกระดาษ Aggarwal และ Maurer ดูเหมือนว่าจะมีปัญหาที่แตกต่างออกไปเล็กน้อย (โดยแยก semiprime กับการคำนวณฟังก์ชั่น phi?) คนอื่น ๆ พูดอย่างชัดเจนว่าปัญหานั้นเปิดอยู่ ฉันคิดว่ามันจะยังคงอยู่จนกว่าจะมีผลลัพธ์ล่าสุดมากกว่าปี 2549?
Dan Brumleve

1
อาจเป็นเรื่องที่ควรค่าแก่การกล่าวถึงว่ากระดาษ Boneh และ Venkatesan นั้นเกี่ยวกับความแข็งของการแยกตัวประกอบระหว่างแฟล็กกับความแข็งของการทำลาย RSA สิ่งที่คำถามที่เรียกว่า "RSA" ในความเป็นจริงปัญหาของการแยกตัวประกอบซึ่งอาจจะยากกว่าการทำลาย RSA (ซึ่งเป็นสิ่งที่กระดาษ Boneh-Venkatesan แนะนำ)
Sasho Nikolov

4
คำตอบนี้ไม่ถูกต้อง คุณเข้าใจผิดว่าเอกสารเหล่านั้นพิสูจน์อะไร โดย "อาร์เอสมีปัญหา" พวกเขาหมายถึงปัญหาของการคำนวณแบบโมดูลาร์ TH ราก (สมัย ) และที่เกี่ยวข้องที่ยากลำบากในการแฟnในทั้งสองกรณีเป็นจำนวนที่อาร์เอสคือnดังนั้นเอกสารที่คุณอ้างอิงนั้นไม่ได้ตอบคำถามที่คุณถาม ความสับสนเกิดขึ้นที่นี่เพราะคำถาม "ปัญหา RSA" นั้นไม่เหมือนกับเอกสารที่อ้างถึงว่าเป็น "ปัญหา RSA" ennnn=pq
DW

19

เท่าที่ฉันเห็นอัลกอริธึมที่มีประสิทธิภาพสำหรับแฟคตอริ่งระหว่างการประมวลผล (RSA) ไม่ได้แปลโดยอัตโนมัติเป็นอัลกอริทึมที่มีประสิทธิภาพสำหรับแฟคตอริ่งจำนวนเต็มทั่วไป (FACT) อย่างไรก็ตามในทางปฏิบัติ semiprimes เป็นจำนวนเต็มที่ยากที่สุดที่จะพิจารณา เหตุผลหนึ่งก็คือขนาดสูงสุดของนายกที่เล็กที่สุดนั้นขึ้นอยู่กับจำนวนของปัจจัย สำหรับจำนวนเต็มกับไพรม์แฟคเตอร์ขนาดสูงสุดของแฟกเตอร์ที่เล็กที่สุดคือและอื่น ๆ (ผ่านทางทฤษฎีจำนวนเฉพาะ ) มีประมาณความเป็นไปได้สำหรับสิ่งนี้ ดังนั้นการเพิ่มNfN1ffN1flog(N)fลดจำนวนความเป็นไปได้สำหรับปัจจัยหลักที่เล็กที่สุด ขั้นตอนวิธีการใด ๆ ที่ทำงานได้รับการอย่างต่อเนื่องลดพื้นที่ของความน่าจะเป็นเช่นนี้แล้วจะทำงานได้ดีที่สุดสำหรับขนาดใหญ่และเลวร้ายที่สุดสำหรับ 2 สิ่งนี้เกิดขึ้นจริงในทางปฏิบัติเนื่องจากอัลกอริธึมการแฟคตอริ่งแบบคลาสสิกจำนวนมากนั้นเร็วกว่ามากเมื่อจำนวนแฟคตอริ่งมีมากกว่า 2 ปัจจัยหลักff=2

เพิ่มเติมจำนวนทั่วไปสนามตะแกรง , ที่รู้จักกันเร็วที่สุดขั้นตอนวิธีการแฟคคลาสสิกและขั้นตอนวิธีของชอร์เวลาพหุนามอัลกอริทึมควอนตัมแฟทำงานเท่าเทียมกันดีสำหรับผู้ที่ไม่ใช่ semiprimes- โดยทั่วไปดูเหมือนว่าสำคัญกว่าปัจจัยโดยcoprimeกว่าพวกเขาเป็นนายก

ผมคิดว่าส่วนหนึ่งของเหตุผลนี้เป็นรุ่นที่การตัดสินใจของแฟร่วมเฉพาะ-อธิบายไว้เป็นธรรมชาติมากที่สุดเป็นปัญหาสัญญาและวิธีการของการถอดสัญญาของการป้อนข้อมูลที่เป็น semiprime ใด ๆ คือการอย่างใดอย่างหนึ่ง

  1. แนะนำการจัดทำดัชนีในเซมิไรม์ (ซึ่งในตัวเองฉันสงสัยว่ามันยากเท่ากับแฟ็กเตอริงพวกเขา) หรือ
  2. โดยการสรุปปัญหาที่จะรวมที่ไม่ใช่ semiprimes

ดูเหมือนว่าในกรณีหลังอัลกอริทึมที่มีประสิทธิภาพที่สุดจะแก้ปัญหา FACT และ RSA ได้แม้ว่าฉันจะไม่มีข้อพิสูจน์ในเรื่องนี้ อย่างไรก็ตามหลักฐานน้อยมากที่จะขอนับตั้งแต่ได้รับ Oracle สำหรับอาร์เอสพิสูจน์ว่านี้จะไม่สามารถได้อย่างมีประสิทธิภาพแก้จำนวนจริงที่จะพิสูจน์ว่าNPPNP

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


3
โจฉันคิดว่ามันมีเหตุผลที่จะคิดว่าแฟคตอริ่งไม่ได้อยู่ใน (และดังนั้น ) สำหรับคำถามนี้ (และจากนั้นคำตอบจะไม่บ่งบอกถึงความซับซ้อนของการเจาะทะลุตามที่คุณระบุไว้ในวรรคสุดท้าย) PPNP
Kaveh

1
@Kaveh: ฉันไม่คิดว่าเพียงพอ เราต้องการแสดงว่าหรือไม่ คำถามนี้มีคำตอบที่แตกต่างกันไปขึ้นอยู่กับการโจมตีที่คุณทำ ลองนึกภาพว่าในความเป็นจริง P = NP (ที่จริงแล้วเราต้องการเพียงแค่ FACT ใน P แต่ฉันต้องการเน้นการเชื่อมต่อกับ P v NP) แต่เราทำให้สมมติฐานว่า FACT ไม่ได้อยู่ใน P จากนั้นก็เป็นไปได้ที่จะพิสูจน์ว่าโดยการแสดงอัลกอริธึมเวลาพหุนามสำหรับการลดหรือเพื่อพิสูจน์ว่าโดยการแสดงอัลกอริทึมเวลาพหุนามสำหรับ RSA และใช้สมมติฐานเกี่ยวกับความซับซ้อน ของ FACT PRSA=PFACTPRSA=PFACTPRSAPFACT
Joe Fitzsimons

1
ฉันตีความคำถามว่า " " ดังนั้นถ้าคำตอบคือใช่เล็กน้อย ดังนั้นเราจึงสามารถสันนิษฐานได้ว่าและถ้าเรากำลังทำการสันนิษฐานที่ผิด ๆ แน่นอนว่าเราสามารถได้มาซึ่งอะไรก็ได้ :)FACTPRSA?FACTPFACTP
Kaveh

@Kaveh: ฉันเชื่อว่าทั้งสองงบของปัญหาจะเทียบเท่าในกรณีนี้ ประเด็นของฉันคือมันเป็นไปได้ที่จะพิสูจน์ได้ว่าโดยไม่ต้องตัดสินใจ P vs NP ก่อนไม่ใช่การสนทนา FACTPRSA
Joe Fitzsimons

2

ไม่ใช่คำตอบที่สมบูรณ์ แต่ดูเหมือนจะเป็นการปรับปรุง:

เอกสารการวิจัยที่อ้างถึงข้างต้นเปรียบเทียบปัญหาของการคำนวณ eth root mod N คือการทำงานไพรเวตคีย์ในระบบเข้ารหัส RSA กับปัญหาแฟคตอริ่งเช่นการค้นหาไพรเวตคีย์ทั้งสองกรณีโดยใช้คีย์สาธารณะเท่านั้น ในกรณีนี้ปัญหาแฟคตอริ่งไม่ใช่กรณีทั่วไป แต่เป็นกรณี semiprime กล่าวอีกนัยหนึ่งพวกเขากำลังพิจารณาคำถามอื่น

ฉันเชื่อว่าเป็นที่รู้จักกันดู AoCP ของ Knuth ซึ่งตัวเลขส่วนใหญ่ N มีแฟคทอเรียลที่สำคัญซึ่งความยาวบิตเปรียบเทียบกับความยาวบิตกับ N ของโดยเฉลี่ยโดยเฉลี่ยเช่น 1/2, 1/4, 1/8, ... หรืออาจลดลงอย่างรวดเร็วมากขึ้นเช่นใน 2/3, 2/9, 2/27, ... แต่อาจจะแบนราบ ดังนั้นสำหรับการสุ่มขนาด N โดยทั่วไปที่มีขนาดเล็กพอที่จะคาดว่าปัจจัยที่มีขนาดเล็กกว่าจะถูกค้นพบได้อย่างรวดเร็วโดยแผนกทดลองหรือ ECM ของ Lenstra ดังนั้นสิ่งที่เหลืออยู่อาจเป็นแบบ semiprime นี่คือการลดลงอย่างหนึ่ง แต่มันขึ้นอยู่กับการกระจายของปัจจัยอย่างมากและเป็นการลดลงอย่างช้าๆซึ่งจะเรียกใช้อัลกอริธึมการแยกตัวประกอบอื่น ๆ

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


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