ssh-keygen
ค่าเริ่มต้นของการสร้างคีย์ RSA แต่gpg --gen-key
ชอบ DSA / ElGamal มากกว่า
อันไหน - RSA หรือ DSA - ดีกว่าสำหรับ GPG?
ssh-keygen
ค่าเริ่มต้นของการสร้างคีย์ RSA แต่gpg --gen-key
ชอบ DSA / ElGamal มากกว่า
อันไหน - RSA หรือ DSA - ดีกว่าสำหรับ GPG?
คำตอบ:
ผู้ดูแล GPG กำลังคิดที่จะเปลี่ยนค่าเริ่มต้นเป็น RSA (ที่มา: การจัดการกับจุดอ่อนใน SHA-1 [LWN.net] ) ดังนั้นดูเหมือนว่าพวกเขาคิดว่า RSA เป็นตัวเลือกที่ดีกว่าในปัจจุบัน (และพวกเขาควรรู้มากกว่าคุณหรือฉัน)
RSA และ DSA - ความเข้าใจผิดและข้อมูลที่เป็นประโยชน์
มีการอ้างอิง RSA ที่เก่ากว่าและการอ้างอิง DSAล่าสุด
ในปี 2003 อาร์เอส VS DSA ลายเซ็น - ผู้ชนะคือ ... - อาร์เอส
การสร้างคีย์โดยทั่วไปนั้นเร็วกว่าสำหรับ DSA อย่างไม่น่าเชื่อซึ่งสมเหตุสมผลถ้าคุณเข้าใจอัลกอริธึม การลงชื่อยังเร็วกว่าสำหรับ DSA แต่ไม่ใช่ปัจจัยใหญ่ กำลังที่แข็งแกร่งของ RSA กำลังตรวจสอบซึ่งเร็วกว่า DSAมาก
ร่าง IETFล่าสุด: DSA กับ SHA-2 สำหรับ DNSSECซึ่งหมดอายุในวันที่ 7 มกราคม 2010
มีเหตุผลบางประการในการส่งเสริม DSA ผ่าน RSA ในวันนี้
การใช้ DSA กับ SHA-256 ใน DNSSEC มีข้อดีและ ข้อเสียบางประการที่เกี่ยวข้องกับการใช้ RSA กับ SHA-256 เมื่อใช้คีย์ 2048 บิต ลายเซ็น DSA สั้นกว่าลายเซ็น RSAมาก ที่ขนาดนี้ความแตกต่างคือ 512 บิต verus 2048 บิต บนแพลตฟอร์มทั่วไปโดยใช้ปุ่ม 2048 บิตเซ็น DSA เป็นเรื่องเกี่ยวกับสามครั้งเร็วกว่าสำหรับอาร์เอส แต่การตรวจสอบลายเซ็นอาร์เอสเป็นมากกว่าสิบครั้งเร็วกว่าสำหรับ DSA
ความแข็งแรงของการเข้ารหัสของ DSA นั้นโดยทั่วไปถือว่าเทียบเท่ากับ RSA เมื่อพับลิกคีย์ DSA และพับลิกคีย์ RSA มีขนาดเท่ากัน แน่นอนว่าการประเมินดังกล่าวอาจมีการเปลี่ยนแปลงในอนาคตหากพบการโจมตีใหม่ที่ทำงานได้ดีขึ้นกับอัลกอริทึมอย่างใดอย่างหนึ่ง
ขณะนี้ยังไม่มีการโจมตีที่รู้จักในชุดของพารามิเตอร์ DSA ที่เลือกสำหรับเอกสารนี้ แน่นอนว่าการประเมินดังกล่าวสามารถเปลี่ยนแปลงได้ในอนาคต
แต่นี่เป็นเพียงร่างในขณะนี้
ทุกคนชอบความเร็วในการตรวจสอบของ RSA (!)
อาร์เอส มีข้อบกพร่องบางอย่างที่ค้นพบในSHA-1ซึ่งเป็นแฮชที่DSAใช้ เดเบียนย้าย กุญแจทั้งหมดจาก DSA ไปยัง RSA
การอ้างถึงการอภิปรายในฟอรัม :
คำแนะนำของฉันคือการใช้คีย์การลงนาม RSA (คีย์ "หลัก" หรือ "หลัก") และคีย์ย่อย RSA สำหรับการเข้ารหัส เหตุผลในการใช้ RSA สำหรับการลงนามส่วนใหญ่เป็นเพราะ RSA ช่วยให้คุณสามารถใช้แฮชที่มีขนาดใหญ่กว่า DSA DSA2 ยังช่วยให้คุณใช้แฮชที่ใหญ่ขึ้น แต่ RSA ได้รับการสนับสนุนมานานกว่า DSA2 เป็นเวลาหลายปี
ฉันคิดว่าหากคุณใช้งานด้วยวิธีมาตรฐาน (เช่นคุณไม่ได้เข้ารหัสข้อมูลจำนวนมาก) พวกเขาจะทำได้ดี
ฉันจะเลือก RSA เป็นการส่วนตัวเพราะฉันได้เรียนรู้อัลกอริธึมและเป็นหนึ่งในอัลกอริธึมที่สวยที่สุดที่ฉันเคยเห็น
การใช้อัลกอริทึม SHA-2 นั้นเป็นไปได้และอนุญาตตั้งแต่การแก้ไข DSS ปัจจุบัน; แต่ฉันไม่สามารถค้นหาว่าการแก้ไขใดที่ GPG ติดตาม
เกี่ยวกับข้อมูลจำเพาะ DSS ปัจจุบัน ( FIPS-186-3 , p. i) ฟังก์ชันแฮชใด ๆ ที่ระบุใน SHS (FIPS-180-3, p. iv) อาจถูกนำมาใช้:
DSS:
อัลกอริทึมลายเซ็นดิจิทัลที่อนุมัติโดย FIPS จะต้องใช้กับฟังก์ชันแฮชที่เหมาะสมซึ่งระบุไว้ใน SHS
SHS:
มาตรฐานนี้ระบุอัลกอริทึมแฮชที่ปลอดภัยห้ารายการ ได้แก่ SHA-1, SHA-224, SHA-256, SHA-384 และ SHA-512 - สำหรับการคำนวณการแสดงข้อมูลอิเล็กทรอนิกส์แบบย่อ (ข้อความ)
สำหรับคำถาม:อัลกอริธึมทั้งสองนั้นขึ้นอยู่กับปัญหาทางคณิตศาสตร์ซึ่งไม่ได้รับการพิสูจน์ว่าปลอดภัย (RSA ใช้ปัญหาการแยกตัวประกอบของตัวเลขและ DSA ใช้ปัญหาลอการิทึมแบบไม่ต่อเนื่อง) คุณไม่สามารถบอกได้ว่ามีความปลอดภัยมากกว่าอีก ปัญหาอื่น ๆ ไม่เคยได้รับการแก้ไข
แต่ด้วยการใช้ DSA กับ SHA-1 คุณอาจจะมีปัญหาด้านความปลอดภัยตามที่กล่าวแล้วโดยpgs
ความจริงก็คือมันอาจไม่สำคัญกับคุณมากนัก :) เนื่องจากเป็นส่วนหนึ่งของการเตรียมสร้าง key-pair และเป็นส่วนหนึ่งของการรักษา key-pair ที่มีอยู่โดยไม่คำนึงถึง crypto แบบอสมมาตรที่คุณเลือกคุณควรจะเป็น: 1) ความยาวคีย์ 2) เลือก base / modulo เพื่อปรับให้เหมาะสมสำหรับการเซ็นชื่อหรือการตรวจสอบ - ขึ้นอยู่กับสิ่งที่จะทำบ่อยขึ้น (คีย์ที่ใช้ในการออกใบรับรองเซิร์ฟเวอร์ TLS / SSL ควรปรับให้เหมาะสมสำหรับการตรวจสอบเนื่องจากเว็บเบราเซอร์ทุกตัวจะตรวจสอบลายเซ็น ... คีย์ที่ใช้ในการลงชื่อซอฟต์แวร์ควรได้รับการปรับให้เหมาะสมในทำนองเดียวกัน) 3) ตรวจสอบให้แน่ใจว่าคุณอายุคีย์ของคุณ - ใช้คีย์เดียวกันสำหรับ ssh-auth เป็นเวลาสองสามปีอาจถึงเวลาที่จะลงทะเบียนแม้ว่าคุณจะเลือกคีย์ ขนาดที่เหมาะสมสำหรับแอปพลิเคชันในวันนี้
ทั้ง RSA และ DSA ได้รับการประเมินอย่างมีนัยสำคัญ ถ้าคุณใช้ฐานรหัสที่ใช้งานได้จริง (RSAREF, RSA commercial, Mozilla / Netscape, Microsoft, OpenSSL, ... ) คุณคงไม่สนใจว่า cryptosystem ใดที่คุณใช้ตราบใดที่คุณใช้อย่างถูกต้องและใช้แนวทางปฏิบัติที่ดีที่สุดในปัจจุบัน