Score:1

การใช้งาน P384 ที่น้อยที่สุด ปลอดภัย และมีประสิทธิภาพพอสมควร

ธง nl

สำหรับโครงการที่ฉันกำลังทำอยู่ ฉันต้องใช้ ECDSA บนเส้นโค้ง NIST P-384 (หรือที่เรียกกันว่า secp384r1). สำหรับสิ่งที่คุ้มค่า ทางเลือกของเส้นโค้งนั้นอยู่นอกเหนือการควบคุมของฉันในกรณีนี้

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

  1. ฉันต้องการพยายามอย่างจริงจังในการป้องกันการรั่วไหลของช่องด้านข้างและเวลา
  2. เนื่องจากฉันสนใจเฉพาะเส้นโค้ง P-384 และ ECDSA ฉันจึงต้องการโค้ดเบสที่มีรอยเท้าค่อนข้างเล็ก (เพราะฉันจะต้องระบุการเชื่อมโยงสำหรับโค้ดที่ไม่ใช่ C) การปรับให้เหมาะสมเฉพาะ P384 นั้นยินดีต้อนรับอย่างแน่นอน
  3. ฉันต้องการตัวเลือกเพื่อใช้การกำหนดลักษณะ RFC 6979 $k$ ค่า (หรือโครงร่างอนุพันธ์ที่ไม่มีการกำหนดอื่น ๆ )
  4. แบบแผนที่ฉันใช้ยังต้องการการสนับสนุนสำหรับการบีบอัดจุด

ฉันสามารถจัดการ 3 และ 4 ได้เองหาก codebase ยืมตัวเองเพื่อแก้ไข

หลังจากดูไปรอบ ๆ นี่คือสิ่งที่ฉันพบ:

  • OpenSSL (และส้อมอย่าง LibreSSL/BoringSSL/...): เป็นตัวเลือกที่ชัดเจน แต่มีขนาดใหญ่ และฉันก็ไม่ชอบรูปแบบการเรียกแบบพิสดารของ OpenSSL
  • แอนดรอยด์รวมถึง การใช้งาน P-256 ที่เรียบง่ายน่ารัก. ฉันไม่แน่ใจว่าจะปลอดภัยแค่ไหน เฉพาะเจาะจง หนึ่งคือ แต่เป็นตัวอย่างที่ดีของสิ่งที่ฉันกำลังมองหา (แทนที่ P-256 ด้วย P-384)
  • BearSSL ของ Thomas Pornin มีการใช้งาน P-384 แบบพกพาแต่คงที่ (เท่าที่เป็นไปได้) และดูเรียบง่ายพอที่จะตัดฟังก์ชันการทำงานที่ฉันไม่ต้องการออกไป ดูเหมือนว่าจะไม่ใช้การเพิ่มประสิทธิภาพเฉพาะเส้นโค้งใด ๆ แต่ใช้การกำหนดไว้แล้ว $k$ ค่านอกกรอบ

เห็นได้ชัดว่าฉันต้องการหลีกเลี่ยงการใช้งานของตัวเอง ตอนนี้ฉันอยากจะเดินไปตามเส้นทาง "การถอด BearSSL" แต่ฉันอยากจะถามว่ามีอะไรแบบ plug-and-play อีกไหม หรือหากมีข้อกังวลใดๆ ที่ฉันพลาดไป ขอบคุณ!

โพสต์คำตอบ

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