Score:3

การโจมตีหลายเป้าหมายของคีย์สาธารณะ ECC

ธง ng

ลองนึกภาพสถานการณ์ที่มีกุญแจสาธารณะมูลค่าสูงจำนวนมากรอบๆ โดยใช้กลุ่ม Elliptic Curve เดียวกัน $k$ ในกุญแจสาธารณะหลายล้านอัน¹ ฝ่ายตรงข้ามสามารถหาหนึ่งในคีย์ส่วนตัวที่ตรงกันในราคาที่ถูกกว่าการหาคีย์ส่วนตัวสำหรับคีย์ส่วนตัวได้หรือไม่?

วิธีใดที่เป็นไปได้ดีที่สุด? มีค่าใช้จ่ายเท่าไรเมื่อเทียบกับวิธีที่เป็นไปได้ที่รู้จักกันดีที่สุดสำหรับคีย์เดียว (นั่นคือฉันเชื่อว่ากระจายโพลาร์โรห์ด้วยคะแนนที่แตกต่าง) เป็นฟังก์ชันของ $k$ และอาจจะเป็นคำสั่งกลุ่ม Elliptic Curve $n$?


¹ ลองนึกภาพ Bitcoin ด้วย secp224k1และพอนซีที่เกี่ยวข้องมีมูลค่าตลาดใกล้เคียงกัน

² สมมติว่ารู้จักเทคโนโลยีที่มีอยู่แล้ว เช่น ซูเปอร์คอมพิวเตอร์, GPU, FPGA, ASIC แต่คอมพิวเตอร์ควอนตัมไม่สามารถใช้งานได้สำหรับการเข้ารหัส

SAI Peregrinus avatar
si flag
ฉันรู้ว่า Kuhn และ Struik [พิสูจน์ในปี 2544](https://tik-db.ee.ethz.ch/file/24d4a86d39ea8fae126fc84b69885ba7/sac01.pdf) (ส่วนที่ 4) ว่าวิธี rho ของ Pollard สามารถคำนวณ $k$ ล็อกแบบแยกเป็น $ \sqrt k$ เวลา ครั้งแรกใช้เวลาเต็มที่ ครั้งที่สองน้อยลง ถัดไปน้อยลง ฯลฯ
SAI Peregrinus avatar
si flag
ปัญหาคือมันมาจากปี 2544 ฉันคาดว่าจะมีการวิจัยใหม่หรือการโจมตีใหม่อาจมีราคาถูกลง ดังนั้นฉันจึงไม่อยากตอบคำถามนี้เพียงอย่างเดียว เนื่องจากเป็นเอกสารอายุ 20 ปี ฉันเพิ่งจำได้ว่ามันถูกอ้างถึงในส่วน "ลอการิทึมแบบไม่ต่อเนื่องแบบกลุ่ม" ของกระดาษ Curve25519 ของ Bernstein และค้นหามัน แน่นอนว่ามันเป็นขอบเขตบนของความยาก
pe flag
โดยพื้นฐานแล้วเหมือนกับ [คำตอบนี้](https://crypto.stackexchange.com/a/25849/592)
fgrieu avatar
ng flag
@Samuel Neves: ขอบคุณที่ชี้ [นั่น](https://crypto.stackexchange.com/a/25849/592) อาจไม่เหมือนกัน: การคำนวณล่วงหน้าไม่เหมือนกับหลายเป้าหมาย เนื่องจากไม่รู้จักเป้าหมายเมื่อการคำนวณล่วงหน้าเริ่มต้นขึ้น อย่างน้อยใน RSA นั่นสร้างความแตกต่างอย่างมีนัยสำคัญ: ฉันรู้ว่าไม่มีการโจมตีการคำนวณล่วงหน้าเพื่อแยกปัจจัย RSA moduli แต่มีการโจมตีหลายเป้าหมาย (มีประโยชน์ในแนวชายแดน) เช่น Pollard's p-1
pe flag
ไม่มีการคำนวณล่วงหน้าที่เกี่ยวข้องเช่นกัน "การคำนวณล่วงหน้า" เป็นเพียงการแก้เป้าหมายแรก (หรือเป้าหมายจำลอง หากมีใครยืนยันในการคำนวณล่วงหน้า)
fgrieu avatar
ng flag
@SamuelNeves: \[อัปเดต: หลังจากความคิดเห็นถัดไป ฉันเข้าใจคุณแล้ว และ [คำตอบที่มีอยู่ของคุณ](https://crypto.stackexchange.com/a/25849/592) จะแก้ปัญหาได้\] ฉันไม่เข้าใจคุณ คุณกำลังบอกว่าการค้นหาคีย์ส่วนตัวทั้งหมดนั้นยากพอๆ กับการค้นหาคีย์ส่วนตัวใช่หรือไม่ ฉันพร้อมที่จะเชื่ออย่างนั้น แต่ยังไงล่ะ?
pe flag
ไม่; การค้นหาคีย์ส่วนตัว $k$ ทั้งหมดมีค่าใช้จ่าย $O(\sqrt{kn})$ นั่นคือ คุณประหยัด $\sqrt{k}$ แฟกเตอร์เมื่อเปรียบเทียบกับการแก้บันทึกแต่ละรายการแยกกัน สิ่งนี้ได้รับการพิสูจน์อย่างชัดเจนโดย [Yun](https://eprint.iacr.org/2014/637) แต่ก็เป็นต้นทุนของการโจมตีที่ดีที่สุดตั้งแต่ปี 1997 (Silverman)
Score:2
ธง my

ฝ่ายตรงข้ามสามารถหาหนึ่งในคีย์ส่วนตัวที่ตรงกันในราคาที่ถูกกว่าการหาคีย์ส่วนตัวสำหรับคีย์ส่วนตัวได้หรือไม่?

ไม่ และนั่นสามารถพิสูจน์ได้ (และไม่ขึ้นกับเทคโนโลยีที่ใช้)

สมมติว่าเรามีกล่องดำที่สามารถเอาไปได้ $k$ กุญแจสาธารณะที่แตกต่างกัน $a_1G, a_2G, ..., a_kG$และกู้คืน $a_iG$ (สำหรับบางคน $i$) ใน $o(\sqrt{n})$ เวลา.

จากนั้น นี่คือวิธีที่เราสามารถใช้กล่องดำนั้นกับรหัสสาธารณะหนึ่งรหัส $aG$, กู้คืนคีย์ส่วนตัว $a$ ใน $o(\sqrt{n})$ เวลา. เราจะ:

  • เลือก $k$ ค่าสุ่ม $r_1, r_2, ..., r_k$และคำนวณลำดับ $r_1(aG), r_2(aG), ..., r_k(aG)$ซึ่ง (โดยการกำหนด $b_i = r_i ก$) สามารถดูเป็น $b_1G, b_2G, ..., b_kG$

  • ให้ลำดับ $b_1G, b_2G, ..., b_kG$ซึ่งจะฟื้นตัว $b_i$

  • เราคำนวณ $a = r_i^{-1}b_i$และทำให้กู้คืนคีย์ได้

ขั้นตอนนอกเหนือจากการเรียกใช้กล่องดำใช้เวลา $O(k)$ เวลาซึ่งสามารถละเว้นได้ในขนาดที่เหมาะสม $k$.

โปรดทราบว่าลำดับ $b_1G, b_2G, ..., b_kG$ มีการกระจายอย่างสม่ำเสมอ และด้วยเหตุนี้แม้ว่ากล่องดำจะมีความน่าจะเป็น แต่ก็ยังช่วยให้เราสามารถกู้คืนรหัสสาธารณะได้

fgrieu avatar
ng flag
นั่นเป็นการเปลี่ยนแปลงของบางสิ่งที่คุณบอกฉันไปแล้ว และเข้าใจเลย!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา