Score:0

ขนาดคีย์สาธารณะสำหรับเส้นโค้งวงรีต่างๆ

ธง pk

สมมติว่าฉันต้องการความปลอดภัยในระดับหนึ่ง (เช่น 128 บิต) เมื่อใช้ ECIES แต่ฉันต้องการลดการสื่อสารด้วย เส้นโค้งวงรีที่ใช้มีความสำคัญกับขนาดของคีย์สาธารณะหรือไม่ ถ้ามันสำคัญ สถานะปัจจุบันของเส้นโค้งวงรีเป็นอย่างไร และเปรียบเทียบกับเส้นโค้งวงรียอดนิยมเช่น Curve25519 หรือ secp256k1 อย่างไร

kelalaka avatar
in flag
[คุณได้ทำการวิจัยบ้างไหม](https://crypto.stackexchange.com/questions/80601/what-is-the-key-length-of-shared-secret-by-curve-25519-ecdh) Curve25519 มี 32 ไบต์สำหรับ ECDH และ secp256k1 มี 33 ไบต์สำหรับการบีบอัด...
poncho avatar
my flag
@kelalaka: สำหรับ ECIES คุณไม่จำเป็นต้องใช้พิกัด y ดังนั้นจึงเป็น 32 ไบต์สำหรับทั้ง...
kelalaka avatar
in flag
@poncho ใช่แล้ว เนื่องจากไม่มีความจำเป็นสำหรับพิกัด $y$ สำหรับ ECDH 33 ไบต์คือขนาดรหัสสาธารณะมาตรฐานของ Bitcoin
pk flag
@kelalaka ใช่ฉันรู้ว่า curve25519 ใช้คีย์ 32 ไบต์ แต่ฉันสงสัยว่ามีเส้นโค้งใดที่ดีกว่านี้หรือไม่ ฉันเพิ่งอ่าน [สิ่งนี้](https://crypto.stackexchange.com/questions/59573/information-theoretical-lower-limit-on-the-size-of-public-and-private-keys) และสงสัยว่ามี เส้นโค้งทำได้ดีกว่า เท่าที่ฉันเข้าใจสิ่งนี้เป็นไปไม่ได้ แต่ฉันไม่ใช่ผู้เชี่ยวชาญและไม่พบใครที่ระบุสิ่งนี้ (อาจชัดเจน) นั่นคือเหตุผลที่ฉันค้นหาที่นี่
kelalaka avatar
in flag
คุณหมายถึงอะไรโดยการทำให้ดีขึ้น? การโจมตีทั่วไปใน Dlog จะลดความปลอดภัยเป็น 128 บิตสำหรับ Curve25619 คุณต้องการหลักประกันที่ต่ำกว่าหรือไม่? ตั้งค่าระดับความปลอดภัยของคุณและคูณด้วยสอง มองหาเส้นโค้งที่ปลอดภัยบนเส้นโค้งนิรภัย ทำไม 32 ไบต์ถึงใหญ่สำหรับคุณ เมื่อเทียบกับ RSA ถือว่ามีราคาถูกในการจัดเก็บ
pk flag
ฉันควรจะชี้แจงทำดีกว่าในแง่ของขนาดคีย์ ฉันรู้ว่านี่เป็นการปรับปรุงครั้งใหญ่เมื่อเทียบกับ RSA แต่ฉันกำลังทำแอปพลิเคชันที่ฉันพยายามลดหน่วยความจำให้เหลือน้อยที่สุดในขณะที่ยังคงรักษาระดับความปลอดภัยเท่าเดิม
kelalaka avatar
in flag
ใช้ https://www.keylength.com/en/compare/ เพื่อตัดสินใจว่าคุณต้องการอะไร!
Score:1
ธง my

ถ้ามันสำคัญ สถานะปัจจุบันของเส้นโค้งวงรีเป็นอย่างไร และเปรียบเทียบกับเส้นโค้งวงรียอดนิยมเช่น Curve25519 หรือ secp256k1 อย่างไร

ถ้าคุณมีเส้นโค้งวงรีที่มีกลุ่มย่อยขนาดใหญ่ $คิว$ (ซึ่งเป็นจำนวนเฉพาะ) จากนั้นเรารู้วิธีคำนวณบันทึกแยกภายในกลุ่มย่อยนั้นใน $O(\sqrt{q})$ เวลา และใช้กับเส้นโค้งวงรีทั้งหมด (จริง ๆ แล้วคือทุกกลุ่ม)

เพื่อให้การโจมตีครั้งนี้เกิดขึ้น $2^{128}$ เวลา เราต้องการ $q \ประมาณ 2^{256}$.

และเนื่องจากทฤษฎีบท Hasse สำหรับเส้นโค้งเฉพาะของลักษณะเฉพาะ $p$, เรามี $p + 2\sqrt{p} > q$หรืออีกนัยหนึ่งคือตัวเล็กที่สุด $p$ ได้ประมาณ 256 บิต

วิธีมาตรฐานในการแสดงรหัสสาธารณะคือการให้ $x$ ประสานงานเป็นจำนวนเต็ม นี่คือค่าระหว่าง 0 ถึง $p-1$; นั่นคือค่า 256 บิต

ดังนั้น การเลือกเส้นโค้งอื่นที่ไม่ใช่ Curve25519, secp256k1 หรือ P256 ไม่ได้ช่วยอะไรเราเลย เส้นโค้งทางเลือกนั้นอาจลดความปลอดภัยหรือมีรหัสสาธารณะที่มีขนาดใหญ่น้อยที่สุด

เกี่ยวกับสิ่งเดียวที่คุณสามารถลองคิดวิธีการส่งสัญญาณที่ลดลงได้ $x$ ประสานงาน; แนวทางง่ายๆ อย่างหนึ่งคือการเลือกเสมอ $x$ ประสานงานกับ $k$ บิต 0 ที่ด้านบน (และไม่ส่งสัญญาณเหล่านั้น $k$ บิตอย่างชัดเจน); การค้นหาคีย์ดังกล่าวโดยใช้การสุ่มตัวอย่างการปฏิเสธจะใช้เวลา $O(2^k)$ เวลาและจะบันทึก $k$ บิต - อาจทำได้ถ้าคุณต้องการบันทึกหนึ่งหรือสองไบต์ - เห็นได้ชัดว่าเป็นไปไม่ได้ที่จะบันทึกมากกว่านั้น ฉันไม่ทราบวิธีการที่ชาญฉลาดกว่าในการค้นหากุญแจสาธารณะที่ตรงตามเทคนิคการประหยัดพื้นที่ที่คล้ายกัน

โพสต์คำตอบ

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