#crypto
ECC:
ECC (Elliptic Curve Cryptography) یک روش رمزنگاری عمومی است که برای ایمنسازی اطلاعات استفاده میشود. این روش بر اساس خواص ریاضی انحناهای بیضوی در میدانهای جبری ایجاد شده است و از آن برای ایجاد کلیدهای رمزنگاری، تبادل اطلاعات امن و امضاء دیجیتال استفاده میشود.
الگوریتم ECC:
1- در این مرحله، یک منحنی بیضوی روی یک میدان مشخص انتخاب میشود. این منحنی به صورت رابطههای ریاضیی تعریف میشود که از یک مجموعه از اعداد صحیح و یک عملیات جمع خاص استفاده میکند.
2- یک نقطه ابتدایی (یا نقطه ژنراتور) روی منحنی بیضوی انتخاب میشود. این نقطه معمولاً به صورت دلخواه انتخاب میشود.
3- از نقطه ابتدایی شروع کرده و آن را تکراراً با خودش جمع میکنیم. به این ترتیب، نقاط دیگری را بدست میآوریم که همگی روی منحنی بیضوی قرار دارند.
4- هر نقطه بر منحنی بیضوی میتواند به عنوان یک کلید خصوصی استفاده شود، در حالی که مضرب آن نقطه به عنوان کلید عمومی مورد استفاده قرار میگیرد.
فرآیند:
فرض کنید میخواهید یک پیام را با استفاده از ECC رمزنگاری کنید. ابتدا یک جفت کلید عمومی و خصوصی تولید میکنید. سپس میتوانید پیام خود را با استفاده از کلید عمومی رمزگذاری کنید و فقط کسی که دارای کلید خصوصی متناظر است میتواند آن را باز کند.
1- تولید کلیدها:
ابتدا یک منحنی بیضوی مناسب انتخاب میشود. این منحنی بیضوی بر روی یک میدان اعداد مختصاتی (مثلاً میدان اعداد حقیقی یا یک میدان مخصوص مودولاری) تعریف میشود.
یک نقطه اولیه (معمولاً G نامیده میشود) بر روی منحنی بیضوی انتخاب میشود.
شخص اول یک عدد تصادفی به عنوان کلید خصوصی خود انتخاب میکند. این عدد معمولاً با نام d نشان داده میشود.
کلید عمومی متناظر با کلید خصوصی توسط شخص اول محاسبه میشود.
برای محاسبهٔ کلید عمومی، شخص اول از کلید خصوصی خود و نقطه اولیه بر روی منحنی استفاده میکند.
این عملیات به صورت ضربی نقطهای انجام میشود: G * d = A
نتیجهٔ این ضرب، یک نقطه جدید بر روی منحنی بیضوی است که به عنوان کلید عمومی نشان داده میشود.
2- رمزنگاری پیام:
شخص اول متنی را میخواهد برای شخص دوم ارسال کند.
هر کاراکتر متن را به یک نقطه بر روی منحنی بیضوی نگاشت میکنیم. این عملیات به عنوان "تبدیل پیام به نقاط بر روی منحنی بیضوی" شناخته میشود.
با استفاده از کلید عمومی، شخص اول محاسبه میکند که هر نقطه بر روی منحنی بیضوی را چه مقداری به دیگر نقاط میرساند. این عملیات به عنوان "ضرب نقطه در کلید عمومی" شناخته میشود.
در نتیجه، متن مبدل به یک سری نقاط دیگر بر روی منحنی بیضوی میشود، که از دیدگاه ریاضی به شکل G * k = R تولید میشود، که R نقطه رمزنگاری شده، G نقطه اصلی (نقطه اولیه) بر روی منحنی بیضوی و k عدد تصادفی است که از کلید عمومی مشتق شده است.
3- رمزگشایی:
شخص دوم پیام رمزنگاری شده را از شخص اول دریافت میکند، که شامل نقاطی بر روی منحنی بیضوی است.
شخص دوم از کلید خصوصی خود (که به عنوان d نشان داده میشود) استفاده میکند تا هر نقطه رمزنگاری شده را به دیگر نقاط منحنی بیضوی منتقل کند. این عملیات به عنوان "ضرب نقطه در کلید خصوصی" شناخته میشود.
به عبارت ریاضی، برای هر نقطه رمزنگاری شده R، شخص دوم R را با کلید خصوصی d ضرب میکند، که به صورت R * d= M تعریف میشود. در اینجا M نقطه اصلی منحنی بیضوی است که متن رمزنگاری شده به آن تبدیل شده است.
نقاط بدست آمده M به ترتیب تبدیل به کاراکترهای متنی میشوند. این عملیات به عنوان "تبدیل نقاط بر روی منحنی بیضوی به متن" شناخته میشود.
در نهایت، شخص دوم متن اصلی را بازیابی میکند که توسط شخص اول رمزنگاری شده بود.
کاربردها:
به عنوان یک روش رمزنگاری برای ارتباطات امن در اینترنت، تلفنهای همراه، و دیگر سیستمهای ارتباطی استفاده میشود.
برای ایجاد امضاءهای دیجیتال برای تأیید هویت در امضاءهای دیجیتال و احراز هویت استفاده میشود.
به عنوان یکی از روشهای رمزنگاری اصلی برای امنیت تراکنشهای پرداخت الکترونیکی مورد استفاده قرار میگیرد.
@AmirhDeveloper
.
Post #261
462
- 🔥 2