اصول اساسی ECDSA
عملکرد ریاضی و الگوریتمی ECDSA بسیار پیچیده است.
برای شروع، ECDSA عملیات خود را بر اساس یک معادله ریاضی که یک منحنی رسم می کند، قرار می دهد.
روند، به طور کلی، به شرح زیر خواهد بود:
الگوریتم El ECDSA از طریق مکانیزم رمزنگاری به نام رمزنگاری نامتقارن کار می کند.
این سیستم امضا دو کلید تولید می کند که به آنها کلید خصوصی و کلید عمومی می گویند.
هر دو کلید توسط یک عملیات پیچیده ریاضی انجام شده بر روی یک تابع منحنی بیضوی مرتبط هستند.
تحت این طرح عملیاتی، ECDSA در وهله اول موارد زیر را تضمین می کند:
امضاهای منحصر به فرد و تکرار نشدنی برای هر نسل کلیدهای خصوصی و عمومی را تنظیم می کنند.
عدم امکان عملی جعل امضای دیجیتال.
این به این دلیل است که توان محاسباتی لازم برای این امر خارج از محدوده فعلی است.
به لطف این دو ویژگی، ECDSA یک استاندارد امن برای استقرار سیستم های امضای دیجیتال در نظر گرفته می شود.
امروزه استفاده از آنها به قدری متنوع است که تقریباً در تمام زمینه های کامپیوتری کاربرد دارند.
به عنوان مثال، زیرساخت گواهی امنیتی SSL و TLS اینترنت از ECDSA استفاده زیادی می کند.
بیت کوین، پیشرو فناوری بلاک چین، همچنین از ECDSA برای دستیابی به سطح بالایی از امنیت که مشخصه آن است، استفاده می کند.
به این ترتیب، زمانی که کاربر می خواهد فایلی را امضا کند، از کلید خصوصی خود (عدد تصادفی) با هش فایل (یک عدد منحصر به فرد برای نمایش فایل) در یک معادله جادویی استفاده می کند و امضای شما را به شما می دهد. .
اگر شخصی بخواهد صحت اطلاعات را تأیید کند، فقط به کلید عمومی نیاز دارد و با آن میتواند صحت آن را تأیید کند.
بنابراین، کلیدهای عمومی می توانند برای همه شناخته شوند، بدون اینکه اعتبار امضای ما به خطر بیفتد، زیرا کلید عمومی فقط برای تأیید است، نه برای امضا.
چرا از ECDSA استفاده می کنیم؟
نیاز به ایجاد یک سیستم امضایی مانند ECDSA از امکان اشتراک گذاری ایمن داده ها ناشی می شود.
در دنیایی که توسط شبکهها به هم متصل شدهاند، طرحی ضروری است که در آن بتوانیم اطلاعات را به اشتراک بگذاریم و اعتبار آن را تأیید کنیم.
همه بدون نیاز به افشای اسرار. بیایید آن را با مثال زیر ببینیم:
یک شرکت گزارش اقتصادی از فعالیت های خود تهیه کرده است.
این گزارش به سرمایه گذاران خاصی با سطح دسترسی محدود به اطلاعات تحویل داده می شود.
این سرمایه گذاران می خواهند صحت گزارش و داده های ارائه شده را تأیید کنند.
در این مرحله از خود می پرسیم: آیا مدیر کل کلید دسترسی به داده های شرکت را به او می دهد؟
یا برعکس، به سرمایه گذاران امکان دسترسی به اطلاعات را نمی دهد تا بتوانند آن را تأیید کنند؟
هر دو وضعیت خوب نیستند و استفاده از ECDSA می تواند به لطف رویکرد سوم آن را حل کند:
مدیر از یک سیستم امضای نامتقارن ECDSA استفاده می کند.
با این کار، مدیر گزارش را با کلید خصوصی خود امضا می کند و کلید عمومی را به سرمایه گذاران می دهد.
بلافاصله پس از آن، سرمایه گذاران می توانند با استفاده از کلید عمومی، صحت اطلاعات ارائه شده را بررسی کنند.
این بدون نیاز به دسترسی نامحدود به داده ها.
کلید خصوصی، عمومی و امضاها
طرح عملیاتی ECDSA بر سه رکن زیر استوار است:
کلید خصوصی، که در واقع یک شماره مخفی است که فقط شخصی که آن را تولید کرده است، می شناسد. یک کلید خصوصی اساساً یک عدد به صورت تصادفی تولید شده است.
در بیت کوین، شخصی با کلید خصوصی مربوط به وجوه موجود در بلاک چین، تنها کسی است که می تواند آن وجوه را خرج کند.
کلید عمومی که عددی است که از یک رابطه ریاضی با استفاده از کلید خصوصی ایجاد می شود. فقط با دانستن کلید خصوصی از قبل می توان به آن دست یافت و نه برعکس.
این کلید به منظور اشتراکگذاری عمومی ایجاد میشود تا دیگران بتوانند تشخیص دهند که آیا یک امضا واقعی است یا خیر.
امضا در واقع یک عدد ساده است که به تایید کننده نشان می دهد که عملیات امضای دیجیتال با موفقیت انجام شده است.
یک امضا به صورت ریاضی از هش چیزی که امضا خواهد شد، به اضافه یک کلید خصوصی ایجاد می شود.
خود امضا دو عدد است که به “r” و “s” معروف است. با کلید عمومی می توان از یک الگوریتم ریاضی در امضا استفاده کرد.
هدف از این کار تعیین آنچه در اصل از هش و کلید خصوصی رخ داده است.
سیستمی که بدون نیاز به دانستن کلید خصوصی، کاملاً کار می کند.
ECDSA و فناوری بلاک چین
یکی از مشکلات اصلی که او با ساتوشی ناکاموتو با بیت کوین مواجه شد، توزیع کلیدهای عمومی بود.
چشم انداز ناکاموتو اجازه دادن به اشتراک گذاری کلیدهای عمومی کوچک، ایمن، با هزینه محاسباتی کم و استفاده آسان بود.
این ویژگی ها به لطف رمزنگاری منحنی بیضوی قابل دستیابی هستند.
بنابراین به همین دلیل ناکاموتو تصمیم گرفت از ECDSA برای سیستم خود استفاده کند.
و با این کار اطمینان داد که:
سیستم بسیار امنی بود. ساتوشی تصمیم گرفت از استاندارد منحنی بیضوی secp256k1 برای بیت کوین استفاده کند.
این منحنی بیضوی ایمنی بسیار خوبی دارد، بنابراین استفاده از آن عالی بود.
هزینه محاسباتی تولید کلیدها و اعتبارسنجی امضاها بسیار کم است.
این امکان تولید کلیدهای عمومی بی نهایت را فراهم می کند.
با این حال، کلیدهای ۲۵۶ بیتی ECDSA
بسیار گسترده است با توجه به این موضوع، ناکاموتو تصمیم گرفت کلیدهای عمومی را اصلاح کند تا آنها را کوتاهتر کند.
بنابراین با استفاده از کدگذاری Base58 توابع هش Be SHA-256 و RIPEMD-160، اندازه کلیدهای عمومی را کاهش داد و آدرس های بیت کوین را ایجاد کرد.
برای مثال این آدرس: ۱PfS6w6MonCT976xe2jD9tqwo8QkDnonRW.
همه اینها معلوم شد، این یک سیستم رایانه ای است که به کاربران خود اجازه می دهد بیت کوین را با خیال راحت ارسال و دریافت کنند.




