0Pricing
Cryptology Academy · บทเรียน

เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1

เปรียบเทียบเส้นโค้งของ NIST, Curve25519 ของ Bernstein และ secp256k1 ของ Bitcoin

เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1 เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

เส้นโค้งวงรีแต่ละแบบถูกใช้เพื่อวัตถุประสงค์ที่แตกต่างกัน ในบทเรียนนี้เราจะเปรียบเทียบเส้นโค้งสำคัญสามแบบ ได้แก่ NIST P-256, Curve25519 ของ Bernstein และ secp256k1 ของบิตคอยน์

NIST P-256 (secp256r1)

NIST P-256 ถูกกำหนดเป็นมาตรฐานในปี 1999 ใช้เส้นโค้งแบบ Weierstrass โดยมี a=-3 (ทำให้การทวีจุดรวดเร็ว) มีความปลอดภัย 128 บิต เป็นข้อกำหนดสำหรับรัฐบาลสหรัฐฯ (FIPS) และใช้แพร่หลายใน TLS, JWT และการลงนามโค้ด

ข้อถกเถียงเกี่ยวกับ P-256

พารามิเตอร์เส้นโค้งของ P-256 ถูกเลือกด้วยค่าเริ่มต้นที่ไม่มีคำอธิบาย กระบวนการนี้คล้ายกับ Dual_EC_DRBG (ซึ่งมีประตูหลังของ NSA) ยังไม่มีการพิสูจน์ว่ามีประตูหลัง แต่หลายฝ่ายไม่ไว้วางใจเส้นโค้งของ NIST

Curve25519 (X25519 / Ed25519)

Bernstein ออกแบบ Curve25519 ในปี 2005 โดยเลือกพารามิเตอร์อย่างโปร่งใสและตรวจสอบได้ทั้งหมด รูปแบบมอนต์โกเมอรี: y²=x³+486662x²+x mod (2^255-19) ค่าคงที่ทั้งหมดมีเหตุผลรองรับด้านประสิทธิภาพ ไม่ได้เลือกขึ้นมาโดยพลการ

คุณสมบัติของ Curve25519

ความปลอดภัย 128 บิต โคแฟกเตอร์ 8 (จัดการโดยการใช้งาน X25519) ทำงานแบบเวลาคงที่โดยธรรมชาติบนแพลตฟอร์มส่วนใหญ่ ไม่มีจุดกรณีขอบ IETF นำไปใช้ใน RFC 7748 และ RFC 8032 ส่วน WireGuard, Signal และ SSH ใช้เส้นโค้งนี้โดยเฉพาะ

Ed25519: รูปแบบ Edwards

Ed25519 เป็นอัลกอริทึมลายเซ็นบนรูปแบบ Edwards แบบบิดของ Curve25519 ทำงานแบบกำหนดแน่นอน (ไม่ต้องใช้ค่าครั้งเดียวแบบสุ่ม) ออกแบบให้ทำงานแบบเวลาคงที่ ลายเซ็นมีขนาด 64 ไบต์ และกุญแจมีขนาด 32 ไบต์ ตรวจสอบได้เร็วที่สุดในบรรดาระบบลายเซ็น

secp256k1: เส้นโค้งของบิตคอยน์

secp256k1 เป็นเส้นโค้ง Koblitz: y²=x³+7 (a=0, b=7) บนจำนวนเฉพาะขนาด 256 บิต Satoshi Nakamoto เลือกใช้เส้นโค้งนี้กับบิตคอยน์ในปี 2008 และอีเธอเรียมก็ใช้เช่นกัน เส้นโค้ง Koblitz มีข้อได้เปรียบด้านประสิทธิภาพบางประการเหนือเส้นโค้งของ NIST

secp256k1 เทียบกับ P-256

ทั้งสองเป็นเส้นโค้งขนาด 256 บิตที่มีความปลอดภัยประมาณ 128 บิต secp256k1: a=0 ทำให้ใช้เอนโดมอร์ฟิซึมที่มีประสิทธิภาพเพื่อเร่งการคูณสเกลาร์ได้ P-256: a=-3 ทำให้การทวีจุดรวดเร็ว secp256k1 ลงลายเซ็นได้เร็วกว่า ส่วน P-256 ตรวจสอบได้เร็วกว่า

Curve448

Curve448 (X448) ให้ความปลอดภัย 224 บิต ซึ่งเทียบได้กับ RSA-8192 ใช้จำนวนเฉพาะ Goldilocks 2^448-2^224-1 เหมาะสำหรับแอปพลิเคชันที่ต้องการความปลอดภัยระยะยาวมากกว่า P-256 Signal ใช้เส้นโค้งนี้เป็นตัวสำรองควบคู่กับ X25519

การเลือกเส้นโค้งที่เหมาะสม

TLS/การใช้งานทั่วไป: P-256 (FIPS) หรือ X25519 (ประสิทธิภาพ+ความน่าเชื่อถือ) SSH: Ed25519 (ไคลเอ็นต์สมัยใหม่ส่วนใหญ่) บิตคอยน์/อีเธอเรียม: secp256k1 (ไม่มีตัวเลือก) ความปลอดภัยสูง (มากกว่า 20 ปี): P-384 หรือ X448

การตรวจสอบพารามิเตอร์เส้นโค้ง

สำหรับ P-256: NIST FIPS 186-5 ระบุพารามิเตอร์ทั้งหมดพร้อมค่าเริ่มต้นที่ใช้สร้าง สำหรับ Curve25519: บทความของ Bernstein อธิบายเหตุผลของการเลือกค่าคงที่ทุกค่า ความโปร่งใสในการเลือกพารามิเตอร์เป็นเกณฑ์สำคัญด้านความปลอดภัย

ตรวจสอบอย่างรวดเร็ว

เส้นโค้งใดถูกใช้โดยบิตคอยน์และเลือกโดย Satoshi Nakamoto

สรุปทบทวน

เปรียบเทียบเส้นโค้งมาตรฐานแล้ว ต่อไปเราจะวิเคราะห์ข้อแลกเปลี่ยนระหว่าง ECC กับ RSA ในด้านระดับความปลอดภัย ประสิทธิภาพ และขนาดกุญแจ

คำถามที่พบบ่อย

บทเรียน “เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1”

เปรียบเทียบเส้นโค้งของ NIST, Curve25519 ของ Bernstein และ secp256k1 ของ Bitcoin คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กฎกรุปของเส้นโค้งวงรี
  2. การคูณสเกลาร์และ ECDLP
  3. เส้นโค้งมาตรฐาน: P-256, Curve25519, secp256k1
  4. ECC กับ RSA: ความสมดุลระหว่างความปลอดภัยและประสิทธิภาพ
← กลับไปที่ Cryptology Academy