الگوریتم امضای ECDSA چیست؟ آشنایی با نحوه عملکرد امضا ECDSA
الگوریتم امضای ECDSA که کوچکشده عبارت “Elliptic Curve Digital Signature Algorithm” بهمعنای «الگوریتم امضای دیجیتال منحنی بیضوی» است، نوعی الگوریتم امضای رمزنگاریشده است که از آن جهت تولید امضاهای دیجیتال در اپلیکیشنها و برنامههای مختلف از جمله رمزارزهایی نظیر بیت کوین و اتریوم استفاده میشود.
پادکست مقاله الگوریتم امضای ECDSA
امضای دیجیتال یک شیوه اعتبارسنجی است که طبق آن یک جفتکلید عمومی و خصوصی بههمراه یک سند دیجیتال، بهعنوان یک امضای دیجیتال برای تایید هویت فرستنده یا گیرنده اطلاعات مورد استفاده قرار میگیرد.
الگوریتم امضای ECDSA امنیت فرآیندهای امضا و اعتبارسنجی را تامین کرده و بهبود بخشیده و به حفظ یکپارچگی دادهها کمک میکند. در این مقاله از صرافی ارز دیجیتال او ام پی فینکس، ابتدا میپردازیم که الگوریتم امضای ECDSA چیست و سپس نحوه عملکرد و مزایای این فناوری را مورد بررسی قرار میدهیم.
الگوریتم امضای ECDSA چیست؟
الگوریتم امضای دیجیتال منحنی بیضوی یا “ECDSA”، یکی از پیچیدهترین الگوریتمهای رمزنگاری یا کریپتوگرافی برای کلید عمومی (Public Key) است. این کلیدها بر اساس تکنیک رمزنگاری منحنی بیضوی (Elliptic Curve Cryptography) تولید میشوند که حجم کمتری نسبت به کلیدهای رایج مبتنی بر الگوریتمهای امضای دیجیتال دارند. این تکنیک، یک روش رمزنگاری برای کلیدهای عمومی بوده که بر اساس ساختار جبری منحنیهای بیضی در میدانهای متناهی طراحی شده است. رمزنگاری منحنی بیضوی اغلب برای ساخت اعداد شبه تصادفی، امضاهای دیجیتال و مواردی از این قبیل بهکار میرود.
الگوریتم امضای ECDSA از یک منحنی بیضی و یک میدان یا مجموعه متناهی استفاده کرده تا یک داده امضا را بهدست آورد که یک نهاد شخص ثالث بتواند با استفاده از آن داده، صحت امضا را اعتبارسنجی کند و در عین حال، امضاکننده مربوطه بتواند توانایی ساخت امضا را تنها برای خود حفظ کند. در تراکنشهای بیت کوین، دادهای که امضا میشود در واقع انتقال حق مالکیت کوینها است.
الگوریتم امضا ECDSA همان کار سایر امضاهای دیجیتال را بهصورت بهینهتر انجام میدهد. علت هم اینجا است که امضا ECDSA از کلیدهای کوچکتر و کمحجمتر با همان سطح امنیت استفاده کرده که در سایر الگوریتمهای امضای دیجیتال بهکار میرود. از طریق این الگوریتم امضا، یک گواهی یا “Certificate” ساخته شده که نوعی سند دیجیتال برای اعتبارسنجی و احراز مالک آن گواهینامه است.
در این اسناد اطلاعاتی نظیر کلید استفادهشده برای ساخت گواهی، مالک گواهی و امضای صادرکننده گواهی ثبت شده است که در اینجا صادرکننده این گواهی یا سند، یک نهاد تاییدشده و قابل اعتماد است. این نهاد معتبرِ صادرکننده گواهی، خود یک گواهی امضاشده دارد که میتوان آن را در یک زنجیره اعتماد (Chain of Trust) ردیابی کرد و به مرجع اصلی صادرکننده این اسناد و گواهیها رسید.
در الگوریتم امضای ECDSA، یک منحنی بیضی وجود دارد که مورد تحلیل قرار میگیرد و یک نقطه در آن منحنی انتخاب میشود. این نقطه در یک عدد ضرب میشود و یک نقطه جدید در منحنی بهدست میآید. حتی در صورت داشتن نقطه اصلی و اولیه، پیداکردن این نقطه جدید در منحنی کار بسیار دشواری است. این پیچیدگی در الگوریتم امضای ECDSA، در برابر رمزگشایی سایر امضاهای دیجیتال امنتر و مقاومتر است و حتی مزایای بیشتری را نیز در مقایسه با سایر تکنیکها دارد.
مفهوم رمزنگاری بر اساس منحنیهای بیضی ابتدا توسط نیل کوبلیتز (Neil Koblitz) و ویکتور میلر (Victor S. Miller) در سال ۱۹۸۵ معرفی شد. اما با وجود اینکه این مدل جدید دستاوردی انقلابآفرین در حوزه رمزنگاری مبتنی بر منحنی بیضوی محسوب میشد، تا اوایل سال ۲۰۰۰ و معرفی آن توسط سرویسهای ارائهدهنده اینترنت، بهطور گسترده مورد استفاده قرار نگرفت. تکنیک الگوریتم امضای ECDSA هم در سال ۱۹۹۲ توسط اسکات وناستون (Scott Vanstone)، ریاضیدان و رمزنگار کانادایی، معرفی شد.
با استفاده از تکنیک و فناوری رمزنگاری که اساس کار امضاهای دیجیتال در ارزهای دیجیتال است، میتوان در یک شبکه غیرمتمرکز تراکنشهای بین دو طرف را اعتبارسنجی و تایید کرد. رمزنگاری منحنی بیضوی در برابر تکنیک رمزنگاری “RSA” یک برتری مهم دارد و آن هم حجم کلید امضاها است که در رمزنگاری منحنی بیضوی بسیار کمتر بوده و در عین حال، از لحاظ امنیت برابر با “RSA” است. البته که تکنیک “RSA” در اینترنت بیشتر استفاده میشود، اما رمزنگاری منحنی بیضوی و الگوریتم امضای ECDSA بسیار بهینهتر عمل کرده و علت استفاده از آنها در ارزهای دیجیتال هم همین ویژگی است.
الگوریتم امضای ECDSA در بیت کوین چطور کار میکند؟
یکی از مهمترین چالشهایی که ساتوشی ناکاموتو (Satoshi Nakamoto)، خالق بیت کوین، هنگام طراحی این پروتکل داشت، نحوه توزیع کلیدهای عمومی بود. ناکاموتو در نظر داشت که کلیدهای عمومی حجم کمی داشته باشند، امن باشند، هزینه محاسبات آنها پایین باشد و بتوان بهراحتی از آنها استفاده کرد. اینها تمام ویژگیهایی بود که از طریق رمزنگاری منحنی بیضوی و الگوریتم امضای ECDSA بهدست میآمد و ساتوشی ناکاموتو تصمیم گرفت از این تکنیک برای امضاهای بیت کوین استفاده کند.
اما کلیدهای ۲۵۶ بیتی الگوریتم امضای ECDSA بیش از حد بزرگ و طولانی بودند و از این رو، ساتوشی ناکاموتو تصمیم گرفت از آنها فاکتورگیری کند تا کوتاهتر شوند. این عملیات از طریق تکنیک رمزنگاری “Base58” و توابع هشینگ “SHA-256” و “RIPE MD-160” صورت گرفت و حجم و طول این کلیدهای عمومی کوتاه شد و آدرسهای بیت کوین ساخته شدند.
با استفاده از فناوری بیت کوین، مفهوم حق مالکیت بهطور کل متحول شد. در تعریف سنتی مالکیت هر چیزی مثل خانه، پول و . . . بهمعنی ذخیره فیزیکی یا قانونی آن شیء برای یک فرد یا انتقال آن به یک زیرساخت معتبر و قابل اعتماد نظیر بانکها، جهت نگهداری امن آن شیء است.
اما در دنیای بیت کوین همهچیز متفاوت است؛ کوینهای ارز دیجیتال BTC در یک بستر محلی یا مرکزی ذخیره نمیشوند و زیرساختی ویژه حضانت آنها وجود ندارد. کوینهای BTC مانند دادههای ورودی در این بلاک چین هستند که نسخههای متعددی از این بلاک چین، در شبکهای گسترده از کامپیوترها در سطح جهان وجود دارد. به این ترتیب، «مالکیت» بیت کوین به معنی داشتن توانایی کنترل و انتقال آن به کاربری دیگر است که این کار از طریق ثبت و بایگانی این انتقال در این بلاک چین صورت میگیرد. چنین قابلیتی را الگوریتم امضای ECDSA و جفتکلیدهای عمومی و خصوصی آن بهوجود آوردهاند.
هر کیف پول بیت کوین یک جفتکلید (Key Pair) عمومی و خصوصی دارد که توسط الگوریتم امضا ECDSA تولید شدهاند. کلید عمومی همان آدرس کیف پول است که میتوان آن را آزادانه برای دریافت بیت کوین با دیگران به اشتراک گذاشت. اما کلید خصوصی باید در یک محل امن و مخفی ذخیره شود، چرا که به مالک کیف پول اجازه امضا و اجرای تراکنشهای بیت کوین یعنی خرجکردن موجودی کیف پول را میدهد.
هنگامی که یک کاربر قصد انتقال بیت کوین به فردی دیگر را دارد، کیف پول بیت کوین او یک پیام تراکنش حاوی اطلاعات مهم نظیر آدرس مقصد و مقدار ارسال را تولید میکند. این تراکنش با استفاده از کلید خصوصی فرستنده بهصورت دیجیتالی و در پشت پرده امضا میشود. پس از تایید توسط نودهای شبکه، این تراکنش در دفترکل بلاک چین بیت کوین ثبت و فرآیند انتقال بیت کوین بهصورت امن تکمیل میشود. گیرنده این بیت کوینها هم فقط در صورت داشتن و ارائه کلید خصوصی کیف پول خود، اجازه استفاده و خرجکردن بیت کوینهای موجود را خواهد داشت.
از این رو، دارندگان کیف پول ارز دیجیتال باید همیشه به این کلیدهای عمومی و خصوصی رمزارزها دسترسی داشته باشند تا بتوانند از سرمایه موجود در کیف پول استفاده کنند. بهعلاوه، رعایت نکات امنیتی و ذخیره امن کلید خصوصی کیف پول اهمیت بسیار زیادی دارد، چرا که داشتن این کلید بهمنزله دسترسی کامل به سرمایه مربوطه است.
الگوریتم امضا ECDSA چه مزایایی دارد؟
یکی از جنبههای مثبت و مهم مرتبط با الگوریتم امضای ECDSA، تبدیلشدن این تکنیک به یک استاندارد اصلی در یک مدتزمان کوتاه است که باعث شد سطح فعالیت هکرها در اینترنت کاهش پیدا کند به یک انتخاب ایدهآل در طرح پروتکلهای جدید مانند رمزارزها تبدیل شود.
یکی از برجستهترین کاربردهای الگوریتم امضا ECDSA، استفاده از آن در ارزهای دیجیتال مانند بیت کوین و اتریوم است که توانست سطح امنیت و عملکرد امضاهای دیجیتال در فرآیند اعتبارسنجی و پردازش تراکنشها را تا حد زیادی بهبود ببخشد؛ پیامد چنین عملکردی هم، یکپارچهسازی و صحت اعتبار دادهها در یک شبکه بلاک چین است.
اما بهغیر از رمزارزها، الگوریتم امضای ECDSA در پروتکلهای ارتباطی قدرتمندی نظیر “TLS” (Transport Layer Security) و “SSH” (Secure Shell) نیز بهکار رفته است. امضا ECDSA در این پروتکلها نقش اعتبارسنجی پیامهای منتقلشده بین کلاینت (Client) و سرورها را برعهده دارد. این اعتبارسنجی باعث شده صحت هویت طرفین یک پیام یا راه ارتباطی تایید شود و دادههای منتقلشده دستخوش تغییر یا هک نشوند.
در نهایت، از مزایای الگوریتم امضای ECDSA باید گفت که این تکنیک برای امضای دیجیتال گواهینامهها توسط نهادهای صادرکننده آنها نیز مورد استفاده قرار میگیرد. به این ترتیب، صحت اعتبار و یکپارچگی وبسایتها و سایر نهادهای دیجیتال قابل تایید است و به کاربران این اطمینان را داده که با منابع معتبر در ارتباط و تعامل هستند. در ادامه به مهمترین مزایای الگوریتم امضای ECDSA میپردازیم:
امنیت: الگوریتم امضا ECDSA امنیت بسیار بالایی داشته و شکست و هک کدهای این الگوریتم کار بسیار دشواری است. این الگوریتم مبتنی بر مفهوم منحنی بیضی در علم ریاضیات طراحی شده و در برابر حملههای رمزنگاریشده ایمن است.
عملکرد بهینه: کوتاهشدن کلیدها در این الگوریتم امضای دیجیتال، باعث شده سرعت بارگزاری آنها بدون قربانیکردن امنیت بیشتر شود. این یعنی که در عین اجرای سریعتر فرآیندها، فضای ذخیره و میزان تراکم شبکه نیز بهبود پیدا کردهاند.
پیچیدگی: برای کار با الگوریتم امضای ECDSA، فرد باید دانش خوبی از ریاضیات، منحنی بیضی و رمزنگاری داشته باشد. اجرا و پیادهسازی این الگوریتم چالشبرانگیز بوده و در صورت اجرای اشتباه، فرصت مناسبی در اختیار هکرها قرار خواهد گرفت. برخی محققان هشدار دادهاند که الگوریتم ECDSA ممکن است با پیشرفت کامپیوترهای کوانتومی، در معرض خطراتی جدی قرار گیرد.
آینده برای الگوریتم امضای ECDSA چگونه است؟
بلاک چین بیت کوین به لطف الگوریتم امضای ECDSA، از نخستین روز راهاندازی تا کنون عملکرد بینقصی داشته است. ویژگیهای رمزنگاری الگوریتم ECDSA، باعث شده کاربران بتوانند تراکنشها را بهصورت دیجیتال امضا کنند و مالکیت سرمایه خود را بهصورت ناشناس اثبات و حفظ کنند. این یعنی که کلید خصوصی کیف پولها حتی با اعتبارسنجی و پردازش تراکنشها بهصورت عمومی، همچنان مخفی باقی میماند.
این الگوریتم توانسته بیت کوین را به یک سیستم پرداختی غیرمتمرکز جهانی تبدیل کند که نیازی به نهادهای واسطه در دنیای واقعی هم ندارد. به عبارتی دیگر، الگوریتم امضای ECDSA امکان انتقال ارزش بهصورت همتا به همتا (P2P) و بدون نیاز به عامل اعتماد را ایجاد کرده است.
اما علیرغم اینکه این نوع امضای دیجیتال یکی از اصلیترین عناصر موفقیت بیت کوین بوده، عملکرد بینقص آن در درازمدت کمی زیر سوال میرود و به همین دلیل انتظار میرود توسعه دهندگان بیت کوین، در آینده امضاهای دیجیتالی را طراحی کنند که در برابر کامپیوترهای کوانتومی مقاوم هستند. البته که تحولاتی به این بزرگی، نیازمند آزمون و خطاهای گسترده و در نهایت توافق جمعی قبل از اجرا هستند.
در نهایت پیرامون مبحث الگوریتم امضای ECDSA، باید گفت که این تکنیک بیش از یک دهه است که امنیت تراکنشهای بیت کوین را تامین کرده است. از این رو، درک نحوه عملکرد این فناوری نهتنها به شما دیدگاه بهتری درباره روش کار بیت کوین و دلیل پذیرش گسترده آن در دنیا میدهد، بلکه اهمیت استفاده از فنون رمزنگاری در سیستم و نظام اقتصادی رمزارزها را نمایان میکند.
این فناوری بهنوعی ستون اصلی یکپارچگی و اعتبار تراکنشهای بیت کوین را تشکیل میدهد و باعث شده بیت کوین و بلاک چین آن، بتوانند به بهترین شکل ممکن به ویژگیهایی نظیر عدم قابلیت هکشدن، عملکرد بهینه، سرعت و تمرکززدایی دست یابند. اما در هر صورت، رمزنگاری در بیت کوین باید سیر تکامل خود را حفظ کند تا در برابر حملات پیشرفتهتر مقاومت نشان دهد. در حال حاضر، بیت کوین با استفاده از این الگوریتم امضای دیجیتال توانسته عملکرد فوقالعادهای، بهویژه در زمینههای امنیتی داشته باشد.
در این مقاله از صرافی ارز دیجیتال او ام پی فینکس، به مبحث الگوریتم امضای ECDSA و جوانب مختلف آن پرداختیم. در صورتی که پیرامون موارد فوق سوال، پیشنهاد و یا انتقادی دارید، خواهشمندیم با ثبت نظر خود با ما ارتباط بگیرید.
پاسخ به سوالات شما از مقاله الگوریتم امضای ECDSA
-
الگوریتم امضای دیجیتال ECDSA چیست؟
الگوریتم امضا ECDSA یک نوع امضای دیجیتال بوده که با استفاده از تکنیکهای رمزنگاری و مفهوم منحنی بیضی در ریاضیات، در پروتکلهایی نظیر ارزهای دیجیتال برای انتقال امن پیام مورد استفاده قرار میگیرد.
-
کلید عمومی امضای دیجیتال چیست؟
در دنیای رمزارزها که تراکنشهای آنها بهصورت دیجیتال امضا میشوند، دو کلید عمومی (Public Key) و خصوصی وجود دارند که کلید عمومی، همان آدرس قابل مشاهده یک کیف پول برای ارسال و دریافت رمزارز است.