در این مقاله خلاصه ای از منحنی های بیضوی و کاربرد آنها در امضاهای دیجیتال، از جمله بیت کوین شرح داده خواهد شد. رمزنـگاری منحنی بیضوی، موضوع بسیار عمیق تری نسبت به دید کلی ارائه شده در این مقاله است.

خلاصه ای از رمزنگاری منحنی بیضوی

بطور بسیار ساده رمزنگاری منحنی بیضوی می تواند به صورت تعداد بسیار زیادی از نقاط که پشت سر هم قرار گرفته اند، مشاهده شود. اگر تعداد مراحل و قدم ها شناخته شده باشد، به هر نقطه می توان بسرعت از طریق والدش (Predecessor) دسترسی پیدا کرد. پروتکل منحنی بیضوی از نقطه های شناخته شده به نام ژنراتور شروع می شود. کلید عمومی، نقطه ای در منحنی بیضوی است. کلید خصوصی تعداد گام هایی است که از نقطه ژنراتور باید پیمایش شود تا به نقطه کلید عمومی برسیم. محاسبه کلید عمومی با داشتن کلید خصوصی بسیار سریع است، اما بر عکس، با داشتن کلید عمومی پیدا کردن کلید خصوصی بسیار دشوار است. این موضوع به عنوان مسئله لگاریتم گسسته شناخته شده است. الگوریتم های حمله جست و جوی فراگیر می توانند برای حل مسئله مزبور مورد استفاده قرار گیرند. ولی خوشبختانه این الگوریتم ها به لحاظ محاسباتی غیر عملی بوده و با کامپیوترهای کلاسیک سال های زیادی طول می کشد تا به نتیجه برسند.

رمزهای متقارن برای همان سطح از امنیتی که رمزنگاری کلید عمومی به وجود می آورند، هم از نظر سرعت و هم اندازه کلید کارآمدتر هستند. علاوه بر آن، رمزهای متقارن مدرن همانند استاندارد رمزگذاری پیشرفته، در برابر محاسبات کوانتومی مقاوم هستند. اما همان طور که در مقاله های قبلی توضیح داده شد، رمزهای متقارن نمی توانند در طرح امـضای دیجیتال استفاده شوند.

شکل1. اندازه کلیدهای مورد نیاز برای به دست آوردن سطوح امنیتی مطلوب در الگوریتم های رمزنگاری کلید عمومی

شکل 1. اندازه کلیدهای مورد نیاز برای به دست آوردن یک سطح امنیتی مطلوب برای الگوریتم های رمزنگاری کلید عمومی مختلف، از جمله آر.اس.ای، لگاریتم گسسته و رمزنگاری منحنی بیضوی را نشان می دهد. همچنین سطح امنیتی مطلوب در سیستمی متقارن همانند استاندارد رمزنگاری پیشرفته، طول کلیدش مشخص شده است. همان طور که مشخص است، پایین ترین ردیف در شکل 1، طول کلید مورد نیاز در رمزنگاری متقارن را نشان می دهد که با سطح امنیتی مشخص شده در رمزنگاری کلید عمومی منطبق است.

باید روشن شود چرا ساتوشی از امضاهای دیجیتال ۲۵۶ بیتی منحنی بیضوی که از کوچکترین اندازه های کلید است، برای سطح امنیتی ۱۲۸ بیتی در مورد بیت کوین استفاده کرده است. اندازه، یک عامل مهم در بیت کوین است؛ چرا که بخش بزرگی از داده های ذخیره شده در زنجیره بلوکی امضاهای منحنی بیضوی، برای تراکنش ها هستند. اگر بیت کوین از آر.اس.ای استفاده می کرد، اندازه امضاها با ضریب ۱۲ افزایش می یافت.

منبع: کتاب راهنمای بیت کوین نوشته پدرو فرانکو