กลับไปหน้าบทความ

อ่าน 7 นาที

ดิฟฟี-เฮลแมนเส้นโค้งวงรี

โปรโตคอล Diffie–Hellman แบบเส้นโค้งวงรี ( ECDH ) เป็น โปรโตคอล การตกลงกุญแจ ที่อนุญาตให้สองฝ่ายซึ่งแต่ละฝ่ายมีคู่กุญแจสาธารณะ- ส่วนตัว แบบเส้นโค้งวงรี สามารถสร้าง ความลับร่วมกัน...

ดิฟฟี-เฮลแมนเส้นโค้งวงรี

โปรโตคอล Diffie–Hellman แบบเส้นโค้งวงรี ( ECDH ) เป็น โปรโตคอล การตกลงกุญแจที่อนุญาตให้สองฝ่ายซึ่งแต่ละฝ่ายมีคู่กุญแจสาธารณะ- ส่วนตัว แบบเส้นโค้งวงรี สามารถสร้าง ความลับร่วมกันผ่านช่องทางที่ไม่ปลอดภัยได้ [ 1 ] [ 2 ] [ 3 ] ความลับร่วมกันนี้สามารถใช้เป็นกุญแจโดยตรง หรือใช้เพื่อสร้างกุญแจอื่นได้จากนั้นกุญแจหรือกุญแจที่ได้มาสามารถใช้เข้ารหัสการสื่อสารในภายหลังโดยใช้การเข้ารหัสแบบสมมาตรได้ โปรโตคอล นี้เป็นรูปแบบหนึ่งของ โปรโตคอล Diffie–Hellmanที่ใช้ การเข้ารหัส แบบ เส้นโค้งวงรี

โปรโตคอลการจัดตั้งที่สำคัญ

ตัวอย่างต่อไปนี้แสดงให้เห็นวิธีการสร้างคีย์ร่วมกัน สมมติว่าอลิซต้องการสร้างคีย์ร่วมกับบ็อบแต่ช่องทางการสื่อสารเดียวที่มีอยู่อาจถูกบุคคลที่สามดักฟังได้ ในขั้นต้นพารามิเตอร์ของโดเมน (นั่นคือในกรณีจำนวนเฉพาะหรือในกรณีเลขฐานสอง) ต้องได้รับการตกลงกันก่อน นอกจากนี้ แต่ละฝ่ายต้องมีคู่คีย์ที่เหมาะสมสำหรับการเข้ารหัสแบบวงรี ซึ่งประกอบด้วยคีย์ส่วนตัว(จำนวนเต็มที่สุ่มเลือกในช่วง) และคีย์สาธารณะที่แสดงด้วยจุด(โดยที่นั่นคือ ผลลัพธ์ของการบวกตัวเองครั้ง) ให้คู่คีย์ของอลิซเป็นและคู่คีย์ของบ็อบเป็นแต่ละฝ่ายต้องทราบคีย์สาธารณะของอีกฝ่ายก่อนที่จะดำเนินการตามโปรโตคอล

อลิซคำนวณจุดบ็อบคำนวณจุดรหัสลับที่ใช้ร่วมกันคือ( พิกัด xของจุดนั้น) โปรโตคอลมาตรฐานส่วนใหญ่ที่ใช้ ECDH จะสร้างคีย์สมมาตรโดยใช้ฟังก์ชันการสร้างคีย์แบบแฮช

ความลับที่ทั้งสองฝ่ายคำนวณร่วมกันนั้นเท่ากัน เพราะว่า...

ข้อมูลเดียวเกี่ยวกับกุญแจของอลิซที่เปิดเผยในตอนแรกคือกุญแจสาธารณะของเธอ ดังนั้น ไม่มีบุคคลใดนอกจากอลิซที่จะสามารถระบุกุญแจส่วนตัวของอลิซได้ (แน่นอนว่าอลิซรู้กุญแจส่วนตัวของเธอเพราะเธอเป็นผู้เลือกมัน) เว้นแต่บุคคลนั้นจะสามารถแก้ ปัญหา ลอการิทึมแบบไม่ต่อเนื่อง บนเส้นโค้งวงรี ได้ กุญแจส่วนตัวของบ็อบก็มีความปลอดภัยในทำนองเดียวกัน ไม่มีบุคคลใดนอกจากอลิซหรือบ็อบที่จะสามารถคำนวณรหัสลับร่วมได้ เว้นแต่บุคคลนั้นจะสามารถแก้ปัญหา Diffie–Hellman บนเส้นโค้งวงรี ได้

กุญแจสาธารณะอาจเป็นแบบคงที่ (และเชื่อถือได้ เช่น ผ่านใบรับรอง) หรือแบบชั่วคราว (หรือที่เรียกว่าECDHEซึ่งตัวอักษร 'E' ตัวสุดท้ายหมายถึง "ephemeral") กุญแจชั่วคราวนั้นมีอายุเพียงชั่วคราวและไม่จำเป็นต้องได้รับการตรวจสอบความถูกต้อง ดังนั้นหากต้องการการตรวจสอบความถูกต้อง จะต้องได้รับหลักประกันความถูกต้องด้วยวิธีการอื่น การตรวจสอบความถูกต้องมีความจำเป็นเพื่อหลีกเลี่ยงการโจมตีแบบคนกลางหากกุญแจสาธารณะของอลิซหรือบ็อบอย่างใดอย่างหนึ่งเป็นแบบคงที่ การโจมตีแบบคนกลางก็จะถูกขัดขวาง กุญแจสาธารณะแบบคงที่ไม่ได้ให้ความลับแบบส่งต่อหรือความยืดหยุ่นต่อการปลอมแปลงตัวตนเมื่อกุญแจถูกบุกรุก รวมถึงคุณสมบัติความปลอดภัยขั้นสูงอื่นๆ ผู้ถือครองกุญแจส่วนตัวแบบคงที่ควรตรวจสอบความถูกต้องของกุญแจสาธารณะอีกตัวหนึ่ง และควรใช้ฟังก์ชันการสร้างกุญแจ ที่ปลอดภัย กับความลับร่วมของ Diffie–Hellman เพื่อหลีกเลี่ยงการรั่วไหลของข้อมูลเกี่ยวกับกุญแจส่วนตัวแบบคงที่ สำหรับรูปแบบที่มีคุณสมบัติความปลอดภัยอื่นๆ โปรดดู MQV

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

รหัสลับที่ใช้ร่วมกันนั้นมีการกระจายอย่างสม่ำเสมอในกลุ่มย่อยที่มีขนาดเท่ากับ ด้วยเหตุนี้ รหัสลับนี้จึงไม่ควรนำไปใช้โดยตรงเป็นกุญแจสมมาตร แต่สามารถนำไปใช้เป็นเอนโทรปีสำหรับฟังก์ชันการสร้างกุญแจได้

ข้อตกลงหลัก Diffie-Hellman เกี่ยวกับเส้นโค้ง Montgomery

ให้โดยที่เส้นโค้งวงรีรูปแบบมอนต์โกเมอรีคือเซตของ ทั้งหมดที่สอดคล้องกับสมการพร้อมกับจุดที่อนันต์ซึ่งแทนด้วย นี่เรียกว่ารูปแบบเชิงเส้นของเส้นโค้ง เซตของจุด -ตรรกยะทั้งหมดของซึ่งแทนด้วยคือเซตของ ทั้งหมดที่สอดคล้อง กับ พร้อมกับ ภายใต้การดำเนินการบวกที่กำหนดไว้อย่างเหมาะสมคือกลุ่มที่มีเป็นสมาชิกเอกลักษณ์ เป็นที่ทราบกันว่าอันดับของกลุ่มนี้เป็นพหุคูณของ 4 ในความเป็นจริง มักจะเป็นไปได้ที่จะได้และโดยที่อันดับของคือสำหรับจำนวนเฉพาะสำหรับการอภิปรายเพิ่มเติมเกี่ยวกับเส้นโค้งมอนต์โกเมอรีและเลขคณิตของเส้นโค้งเหล่านี้ สามารถติดตามได้ที่[ 5 ] [ 6 ] [ 7 ]

เพื่อประสิทธิภาพในการคำนวณ จึงควรทำงานกับพิกัดเชิงฉาย รูปแบบเชิงฉายของเส้นโค้งมอนต์โกเมอรีคือสำหรับจุดบนแผนที่พิกัดคือดังต่อไปนี้: [ 7 ]ถ้าและถ้าเบิร์นสไตน์[ 8 ] [ 9 ]ได้แนะนำแผนที่ดังนี้: ซึ่งกำหนดไว้สำหรับค่าทั้งหมดของและในตามมิลเลอร์[ 10 ]มอนต์โกเมอรี[ 5 ]และเบิร์นสไตน์[ 9 ]การตกลงกุญแจ Diffie-Hellman สามารถดำเนินการบนเส้นโค้งมอนต์โกเมอรีได้ดังนี้ ให้เป็นตัวสร้างของกลุ่มย่อยลำดับเฉพาะของ อลิซเลือกกุญแจลับและมีกุญแจสาธารณะบ็อบเลือกกุญแจลับและมีกุญแจสาธารณะกุญแจลับที่ใช้ร่วมกันของอลิซและบ็อบคือเมื่อใช้คอมพิวเตอร์แบบคลาสสิก วิธีที่ดีที่สุดที่ทราบกันดีในการหาจากและต้องใช้เวลาประมาณ โดยใช้อัลกอริทึม Pollards rho [ 11 ]

ตัวอย่างเส้นโค้งมอนต์โกเมอรีที่มีชื่อเสียงที่สุดคือCurve25519ซึ่งนำเสนอโดยเบิร์นสไตน์[ 9 ]สำหรับ Curve25519 และเส้นโค้งมอนต์โกเมอรีอีกเส้นหนึ่งซึ่งเป็นส่วนหนึ่งของ TLS 1.3 คือCurve448ซึ่งนำเสนอโดยฮัมบูร์ก[ 12 ]สำหรับ Curve448 และเส้นโค้งมอนต์โกเมอรีคู่หนึ่งชื่อ M[4698] และ M[4058] ซึ่งแข่งขันกับCurve25519และCurve448ตามลำดับ ได้รับการเสนอใน[ 13 ]สำหรับ M[4698] และสำหรับ M[4058 ] ที่ระดับความปลอดภัย 256 บิต มีการเสนอเส้นโค้งมอนต์โกเมอรีสามเส้นชื่อ M[996558], M[952902] และ M[1504058] ใน[ 14 ]สำหรับ M[996558], สำหรับ M[952902] และสำหรับ M[1504058] ตามลำดับ นอกจากสองเส้นนี้แล้ว ยังมีข้อเสนออื่นๆ ของเส้นโค้งมอนต์โกเมอรีที่สามารถพบได้ที่[ 15 ]

ซอฟต์แวร์

  • Curve25519เป็นชุดพารามิเตอร์เส้นโค้งวงรีที่เป็นที่นิยมและมีการใช้งานเป็นตัวอย่างโดยDaniel J. BernsteinในภาษาC นอกจากนี้ยังมี ส่วนเชื่อมต่อและการใช้งานทางเลือกอื่นๆ ให้เลือกใช้ด้วย
  • Curve448คือเส้นโค้งวงรีที่มีศักยภาพในการรักษาความปลอดภัยถึง 224 บิต พัฒนาโดยไมค์ แฮมเบิร์ก จากRambus Cryptography Research
  • แอป LINE Messengerใช้โปรโตคอล ECDH สำหรับการเข้ารหัสแบบ end-to-end "Letter Sealing" ของข้อความทั้งหมดที่ส่งผ่านแอปดังกล่าวตั้งแต่เดือนตุลาคม 2558 [ 16 ]
  • โปรโตคอล Signal ใช้ ECDH เพื่อรักษาความ ปลอดภัยหลังการถูกโจมตี ตัวอย่างการใช้งานโปรโตคอลนี้ได้แก่Signal , WhatsApp , Facebook MessengerและSkype

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Elliptic-curve_Diffie–Hellman&oldid=1346408409 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ดิฟฟี-เฮลแมนเส้นโค้งวงรี

โปรโตคอล Diffie–Hellman แบบเส้นโค้งวงรี ( ECDH ) เป็น โปรโตคอล การตกลงกุญแจ ที่อนุญาตให้สองฝ่ายซึ่งแต่ละฝ่ายมีคู่กุญแจสาธารณะ- ส่วนตัว แบบเส้นโค้งวงรี สามารถสร้าง ความลับร่วมกัน...

โปรโตคอลการจัดตั้งที่สำคัญ

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

ข้อตกลงหลัก Diffie-Hellman เกี่ยวกับเส้นโค้ง Montgomery

ให้โดยที่เส้นโค้งวงรีรูปแบบมอนต์โกเมอรีคือเซตของ ทั้งหมดที่สอดคล้องกับสมการพร้อมกับจุดที่อนันต์ซึ่งแทนด้วย นี่เรียกว่ารูปแบบเชิงเส้นของเส้นโค้ง เซตของจุด -ตรรกยะทั้งหมดของซึ่งแทนด้วยคือเซตของ ทั้งหมดที่สอดคล้อง กับ พร้อมกับ...

ซอฟต์แวร์

Curve25519 เป็นชุดพารามิเตอร์เส้นโค้งวงรีที่เป็นที่นิยมและมีการใช้งานเป็นตัวอย่างโดย Daniel J.