اس‌ای‌سی‌پی۲۵۶کا۱

از سیمرغ
پرش به ناوبری پرش به جستجو

اس‌ای‌سی‌پی۲۵۶کا۱ (به انگلیسی: secp256k1) به پارامترهای خم بیضوی بکار رفته در رمزنگاری کلید همه‌بین بیت‌کوین اشاره دارد که در استاندارد‌های رمزنگاری بهینه (SEC) شناسانده شده است. هم‌اکنون بیت‌کوین این خم را به همراه الگوریتم رمزنگاری ای‌سی‌دی‌اس‌اِی و الگوریتم رمزنگاری اشنور بکار می‌برد. اس‌ای‌سی‌پی۲۵۶کا۱ کم و بیش پیش از طرفدار پیدا کردن بیت‌کوین هرگز بکار نرفته ولی پس از بیت‌کوین این خم هم کاربرد بیشتری پیدا کرده. بیشتر خم‌های پرکاربرد ساختاری تصادفی دارند اما خم اس‌ای‌سی‌پی۲۵۶کا۱ به گونه‌ای ویژه و ناتصادفی ساخته شده که اجازه‌ی بهینه‌سازی برخی پردازش‌ها را می‌دهد. به این سبب، اگر پیاده‌سازی بهینه‌سازی شده باشد تا ۳۰ درسد بیشتر از دیگر خم‌ها سرعت دارد. همچنین ثابت‌های این خم به شکلی پیش‌بینی‌پذیر گزیده شده که شانس اینکه سازنده‌ی خم درپشتی‌ای وارد کرده باشد را به شدت کاهش می‌دهد؛ خم‌های پرکاربرد نیست (NIST) اینگونه نیستند.

ریزگان فنی

بخشی از کتاب استانداردها:

دامنه‌ی پارامترهای روی Fp خم کوبلیتز اس‌ای‌سی‌پی۲۵۶کا۱ با ششتایی T = (p,a,b,G,n,h) روشن می‌شود که میدان پایان‌دار(متناهی) Fp اینگونه شناسانده شده:

  • p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
  • = 2256 - 232 - 29 - 28 - 27 - 26 - 24 - 1

خم E: y2 = x3+ax+b روی Fp اینگونه شناسانده شده:

  • a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  • b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

نقطه‌ی پایه‌ی G در شکل فشرده:

  • G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

و در شکل فشرده نشده:

  • G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

در پایان مرتبه‌ی n از G و ضریب:

  • n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
  • h = 01

ویژگی‌ها

  • از آنجایی که ثابت a سِفر است، عبارت ax در فرمول خم همیشه سفر است پس فرمول خم را می‌توان نوشت y2 = x3 + 7