رمزگذاری کلید عمومی فناوری است که به کاربران این امکان را می دهد تا داده های رمزگذاری شده را بدون نیاز به اشتراک گذاری کلید خصوصی خود با کسی ارسال و دریافت کنند.
این راهنما به شما کمک می کند تا اصول رمزگذاری کلید عمومی، نحوه کارکرد آن و آنچه را که باید در مورد RSA، PGP و OMAC بدانید، درک کنید. کلید عمومی چیست؟ کلید عمومی یک ابزار رمزنگاری است که شبیه آدرس یا شماره تلفن است. این اولین بخش از یک جفت کلید است (یکی عمومی، یکی خصوصی) که می تواند برای رمزگذاری داده ها و رمزگشایی داده ها برای شما استفاده شود. هر امضای دیجیتال منحصربفردی دارای کلید عمومی منحصر به فرد خود است که به آن مرتبط است. رمزگذاری کلید عمومی چگونه کار می کند؟ رمزگذاری کلید عمومی با استفاده از دو کلید کار می کند: کلید عمومی و کلید خصوصی. کلید خصوصی هرگز در دسترس کسی قرار نمی گیرد به جز مالک، در حالی که عمومی می تواند آزادانه با هر کسی که می خواهد پیام رمزگذاری شده ای برای شما ارسال کند یا به اشتراک گذاشته شود. هنگامی که یک پیام رمزگذاری شده دریافت می کنید، فرستنده از کلید عمومی گیرنده برای رمزگذاری پیام استفاده می کند. فقط گیرنده می تواند آن را با استفاده از کلید خصوصی خود رمزگشایی کند. مزیت این سیستم این است که هر شخصی با کلید عمومی شما می تواند پیام های رمزگذاری شده را بدون نگرانی در مورد رمزگذاری و امنیت برای شما ارسال کند – تا زمانی که کلید خصوصی شما را بداند، می تواند پیام هایی را ارسال کند که فقط شما قادر به خواندن آنها هستید. معایبی نیز وجود دارد: اگر شخصی کلید عمومی شما را به دست آورد و پیامی ارسال کرد که می گوید “من این ایمیل را برای شخص دیگری فرستادم!” آنگاه هر کسی که آن را دریافت کند خواهد بود نگران، فکر می کنم شما آن را برای آنها فرستاده اید و نه شخص دیگر. همچنین خطرات قابل پیش بینی وجود دارد اگر شخصی کلید شما را دریافت کند: ممکن است حساب ایمیل شما هک یا فیش شود.
کلید عمومی ابزاری است که به ایجاد و اشتراک گذاری پیام های رمزگذاری شده کمک می کند. به طرق مختلف توسط افراد مختلف به منظور محافظت و ایمن سازی داده های خود استفاده می شود.
در این مقاله به پنج مورد استفاده شگفتانگیز از کلید عمومی میپردازیم که با استفاده از ابزارهای کلید عمومی میتوان به آنها دست یافت. ابزارهای کلید عمومی برای رمزگذاری پیام ها و فایل ها قبل از ارسال از طریق اینترنت استفاده می شوند. این مانع از رهگیری پیام یا فایل بدون اجازه شما می شود. با این حال، این ابزارها همچنین به اشتراک گذاری رمزهای عبور با دوستان یا اعضای خانواده خود بدون افشای آن ها برای دیگران کمک می کنند. 1. فایل ها را رمزگذاری کنید و آنها را برای یک دوست ارسال کنید برای به اشتراک گذاشتن یک فایل با شخصی، می توانید از ابزار کلید عمومی برای رمزگذاری فایل استفاده کنید که باعث می شود آن را برای او رمزگذاری کنید. سپس می توانید این فایل رمزگذاری شده را با استفاده از هر یک از روش های ذکر شده در زیر برای دوست خود ارسال کنید. 2. ارسال یک ایمیل: برای ایمیل کردن کپی فایل به شخصی، کافی است کلید عمومی او را در متن پیام خود ضمیمه کنید و وقتی آن را باز کرد، آن را دریافت خواهد کرد. 3. کپی/پیست کردن: اگر چندین کلید عمومی را در یک سند یا صفحه گسترده جمع آوری کرده اید، می توانید آنها را به عنوان جایگذاری کنید یک لیست در یک ویرایشگر متن اگر کلیدها در ستون های مختلف قرار دارند، با چسباندن هر کلید عمومی، یک ردیف به پایین فشار داده می شود.
رمزنگاری کلید عمومی نوعی رمزگذاری است که از دو کلید استفاده می کند: یکی خصوصی و دیگری عمومی. کلید خصوصی مخفی نگه داشته می شود، در حالی که کلید عمومی آزادانه در دسترس همه است.
رمزنگاری کلید عمومی را می توان برای اهداف بسیاری استفاده کرد، از ایمن سازی اطلاعات شخصی شما تا ایمن نگه داشتن تراکنش های تجاری شما. در گذشته، این نوع رمزگذاری به دلیل دشواری استفاده و نیاز به دانش پیشرفته در ریاضیات و علوم کامپیوتر، چندان مورد استفاده قرار نمی گرفت. با این حال، با ظهور فناوری محاسبات مدرن، استفاده از آن آسان تر و در دسترس تر شده است.
رمزنگاری کلید عمومی نوعی رمزگذاری است که از دو کلید استفاده می کند: یکی خصوصی و دیگری عمومی. کلید خصوصی مخفی نگه داشته می شود، در حالی که کلید عمومی آزادانه در دسترس همه است. رمزنگاری با کلید عمومی امضاهای دیجیتال را با ارائه راهی آسان برای تأیید هویت افراد دیگر بدون داشتن هیچ گونه امتیاز یا حق دسترسی ویژه بر روی آنها، امکان پذیر می کند.
بهترین ابزارها و سایتهای رمزگذاری کلید عمومی موجود در بازار رایگان هستند یا آزمایشی رایگان دارند.
بهترین ابزارها و سایتهای رمزگذاری کلید عمومی موجود در بازار رایگان هستند یا آزمایشی رایگان دارند. این به این دلیل است که اکثر آنها خدماتی را ارائه می دهند که می توان بدون نیاز به پرداخت هزینه عضویت از آن استفاده کرد. رمزگذاری کلید عمومی ابزار مهمی است که به محافظت از داده های ما در برابر هکرها، بدافزارها و سایر تهدیدات مخرب کمک می کند. بهترین ابزار pkc.
هنگامی که کاربر اولین تراکنش خود را با بیت کوین یا هر ارز دیجیتال دیگری آغاز می کند، دو کلید عمومی (یکی عمومی و دیگری خصوصی) و یک کد منحصر به فرد برای شناسایی آن ایجاد می شود. این مقداری از امنیت را برای دارایی های دیجیتال شما ایجاد می کند.
کلیدهای خصوصی به عنوان شناسه دیجیتال شما عمل می کنند و امکان تراکنش از آن حساب را فراهم می کنند. آنها می توانند انتقال دهند یا هر کاری که می خواهید با آنها انجام دهند.یک جفت کلید منحصر به فرد تولید می شود که یک کلید عمومی و خصوصی است. کیف پول دیجیتال همیشه دارای جفت کلید است به طوری که هر بار که به آن دسترسی پیدا می کنید، الگوریتم یک کلید جدید ایجاد می کند.
سوابق تراکنش ها روی بلاکچین ثبت می شوند تا تراکنش ها هرگز دستکاری نشوند. به گفته Verge، بهترین کار این است که یک شخص یا شرکت تراکنش ها را تأیید کند تا اطمینان حاصل شود که ضرر یا احتمال کلاهبرداری وجود ندارد.
قبل از اجرای تراکنش، سفارش شما به صورت دیجیتالی در بلاک چین اتریوم امضا می شود و امضا مالکیت کلید خصوصی شما را اثبات می کند. اگرچه مردم نمی توانند ببینند چه اطلاعاتی در این امضا گنجانده شده است، اما نمی توانند آن را جعل کنند.از آنجایی که کلید عمومی از کلید خصوصی مشتق شده است، کلید عمومی کاربر برای اثبات اینکه امضای دیجیتال از کلید خصوصی او آمده است استفاده می شود. پس از تایید تراکنش، وجوه به آدرس عمومی گیرنده ارسال می شود.
آدرس عمومی یک نسخه هش شده از کلید خصوصی است. آدرس ها رشته های طولانی اعداد هستند که برای تشکیل این آدرس کوتاه و فشرده می شوند. در واقع، کلید خصوصی آدرس عمومی را ایجاد می کند که به نوبه خود آدرس عمومی را ایجاد می کند.
هنگامی که برای شخصی ارز دیجیتال ارسال می کنید، به یک آدرس برای ارسال آن نیاز دارید. این مثل شماره حساب بانکی است. فرستنده آدرس عمومی خود را به گیرنده می دهد و گیرنده از کلید خصوصی خود برای دسترسی و خرج وجوه خود استفاده می کند. گیرنده همچنین میتواند دسته کوین های فرستنده را با استفاده از آدرس عمومی فرستنده که در صفحه وی نمایش داده میشود، تأیید کند.
رمزنگاری کلید عمومی سیستمی است که در آن دو نوع کلید رمزگذاری وجود دارد. یکی کلید عمومی است که می تواند به اشتراک گذاشته شود و به شما امکان می دهد پیام های ارسال شده به افراد دیگر را بدون نیاز به (یا دادن) کلید خصوصی آنها رمزگذاری کنید.
به یاد داشته باشید، رمزگذاری فقط با استفاده از کلید رمزگشایی مخفی قابل برگشت است. در حالی که رمزگذاری به صورت عمومی قابل رمزگشایی است. hashing و رمزگذاری هر دو پیام را مبهم میکنند، اما فقط رمزگذاری قابل برگشت است.
با خارج شدن از راه، دو نوع رمزگذاری اصلی وجود دارد: رمزگذاری متقارن و رمزگذاری نامتقارن.
در رمزگذاری متقارن، از یک کلید برای رمزگذاری و رمزگشایی داده ها استفاده می شود. به آن “متقارن” می گویند زیرا هر دو طرف آینه ای از یک کلید دارند
رمزگذاری متقارن رایج ترین شکل رمزگذاری است، اما اغلب کافی نیست زیرا می توان آن را به راحتی هک کرد. الگوریتم های رمزگذاری با گذشت زمان پیچیده تر و هوشمندتر می شوند. برخی حتی قادر به رمزگشایی کلیدهای متقارن برای رمزگذاری کامل داده ها با یک کلید خصوصی هستند.
TLS پروتکلی است که حریم خصوصی ترافیک اینترنتی شما را با استفاده از رمزگذاری سرتاسر تضمین می کند. برای دو طرف آسان است که یک کلید مشترک تولید کنند و از آن برای تمام ترافیک های بعدی استفاده کنند، بدون اینکه آن را در جای دیگری ذخیره کنند.
رمزنگاری متقارن اکنون بسیار سریع است و اکثر پردازندههای مرکزی از بسیاری از رمزهای متقارن با سرعت سخت افزاری پیادهسازی میکنند.
ارزهای دیجیتال آینده هستند و اکنون اکثر همتایان شما این را می دانند. آنها راهی مطمئن برای مدیریت پول شما هستند و از آن در برابر هر دزد سایبری محافظت می کنند. رمزنگاری فرمول جادویی آنهاست و آنها آن را با استفاده از رمزگذاری نامتقارن کار می کنند –
همانطور که اتفاق میافتد، رمزنگاری نامتقارن بسیار کندتر از رمزنگاری متقارن است. عملیات رمزنگاری نامتقارن عموماً بر حسب میلی ثانیه اندازه گیری میشود.
به طور کلی این بدان معنی است که پروتکل ها از رمزنگاری نامتقارن برای ایجاد هویت استفاده می کنند. و سپس یک کلید جلسه مشترک برای ادامه ارتباط از طریق رمزهای متقارن ایجاد می کنند.
اگرچه کلید و آدرس Public Key از کلید خصوصی تهیه شده است، اما مورد معکوس تقریباً غیرممکن است.
شبکه ارزهای رمزنگاری شده با استفاده از توابع ریاضی پیچیده برای اطمینان ازعدم امکان تولید کلید خصوصی ازPublic Key ایمن میماند، خصوصاً از آنجایی که کلید عمومی و نسخه هش آن توسط همه افراد در شبکه مشاهده میشود.
از آنجا که تهیه مجدد کلید خصوصی از کلید عمومی یا آدرس غیرممکن است. در صورتی که کاربر کلید خصوصی خود را گم کند، هر بیت کوین یا altcoin که در آدرس عمومی وی قرار دارد برای همیشه غیرقابل دسترسی است. از طرف دیگر، کاربری که کلید عمومی خود را گم میکند میتواند مجدداً آن را با کلید خصوصی ایجاد کند.
در رمزنگاری Public Key، یک تشبیه خام اما مفید این است که به Public Key خود مانند یک نام کاربری فکر کنید. میتوانید آن را با هر کسی به اشتراک بگذارید، و افراد از آن برای شناسایی عمومی شما استفاده میکنند. بنابراین، کلید خصوصی شما به نوعی مانند گذرواژه شما است. در صورت لو رفتن، به هر کسی اجازه میدهد شما را جعل کند.
به عنوان یک توسعه دهنده، احتمالاً قبلاً با Public Key مانند کلیدهای SSH سر و کار داشته اید. حتی ممکن است از آنها برای تأیید اعتبار در خدماتی مانند Github استفاده کرده باشید. اما در Github، هر کلید SSH که تولید میکنید در نهایت با هویت منحصر به فرد شما گره خورده است.
در بیت کوین، جفت کلید شما هویت شماست. هیچ شکل دیگری از تایید هویت فراتر از کلیدهای رمزنگاری وجود ندارد. در عین حال، این بدان معنی است که تولید یک هویت به آسانی تولید یک جفت کلید جدید است.
همچنین ممکن است از خود بپرسید: اگر شخصی فقط کلید خصوصی او باشد، چه چیزی مانع از ایجاد و ارسال تصادفی وجوه شخص دیگری – یا سرقت تمام بیت کوین های او می شود؟
به عنوان مثال:
از نظر ریاضی ممکن است دو نفر به طور تصادفی کلیدهای یکسانی را تولید کنند، اما اغلب این اتفاق نمی افتد. برای مثال، باید حدود 2 میلیارد نفر وجود داشته باشند تا احتمال وقوع آن یکسان باشد.
اگر به یاد بیاورید، برای اینکه ۵۰٪ احتمال هرکس با جفت کلید شخص دیگری برخورد کند (معادل دو نفر که یک روز تولد را به اشتراک میگذارند)، باید تعداد \ (\ sqrt {N} ) تعداد زیادی جفت کلید ثبت شده داشته باشید، جایی که \ (N ) اندازه کل فضای کلید است. با توجه به اینکه رمزنگاری بیت کوین از کلیدهای عمومی ۲۵۶ بیتی استفاده میکند، این بدان معناست که شما نیاز به کلیدهای \ (۲ ^ {128} ) ثبت شده دارید قبل از اینکه احتمالاً شاهد یک برخورد یک کلید عمومی باشید. برای به دست آوردن حس مقیاس، کلیدهای \ (۲ ^ {128} ) یک کلید برای هر اتم کربن در هر انسانی است که تاکنون وجود داشته است.
این همان چیزی است که رمزنگاری کلید عمومی را به عنوان یک هویت ممکن می کند. تولید کلیدهای منحصر به فرد از طریق تولید تصادفی ایمن تکرارپذیر شدن ترکیبات هویت را دشوار می کند، بنابراین هویت برای همیشه منحصر به فرد خواهد بود.
cypherpunksها با این ایده ایجاد شده اند. با داشتن کلیدهای عمومی به عنوان شناسه، شما میتوانید نه با نام یا ایمیل بلکه با Public Key شناسایی شوید. به اعتقاد آنها، این امر نظارت و سانسور را به گذشته تبدیل میکند. همچنین ایجاد جعل یا کادربندی شخصی غیرممکن است. اگر کسی پیامی را که توسط کلید خصوصی شما امضا شده است نقل کند، در صحت پیام آن تردیدی وجود ندارد.
رمزنگاری کلید عمومی چیزی است که به افراد کمک می کند امضاهای دیجیتالی ایجاد کنند که از طریق استفاده از یک کلید دیگر نشکن و شکستنی هستند.
میتوانید با استفاده از کلید خصوصی خود پیامی را امضا کنید و سپس شخص دیگری میتواند با استفاده از Public Key شما امضا را تأیید کند. در عمل، پروتکلهای امضای دیجیتال خود پیام را امضا نمیکنند، بلکه در عوض یک هش از پیام را امضا میکنند (بعلاوه برخی موارد padding). از آنجا که hash پیام تعهدی الزامآور به خود پیام است، به همان اندازه خوب است. امضای hash اجازه میدهد تا کل عملیات بسیار سریعتر انجام شود، زیرا امضای پیامهای طولانی میتواند بسیار کند باشد. همچنین برخی نقاط ضعف امنیتی ظریف وجود دارد که میتواند ناشی از امضای پیامهای خام باشد.
در بیت کوین، تمام تراکنش ها با کلید خصوصی کاربر امضا می شوند. در حالی که به نظر می رسد این امر محرمانگی را محدود می کند، در واقع از تقریباً همه انواع کلاهبرداری در طول تراکنش جلوگیری می کند (به دلیل ناتوانی در انعکاس هر چیزی در بلاک چین). این رایج ترین و محبوب ترین روش برای انجام تراکنش های بیت کوین است.
با تصادفی بودن با کیفیت بالا، هر سیستم رمزگذاری کلید عمومی همانطور که در نظر گرفته شده است کار خواهد کرد. داده های رمزگذاری شده تنها در صورتی ایمن هستند که از منبعی با کیفیت بالا تهیه شده باشند و ممکن است رایانه شما هک شود.
از این گذشته، رایانهها ماشینهای قطعی هستند – با توجه به همان سری دستورالعملها، آنها قرار است همان خروجیها را تولید کنند. در مورد درخواست از کامپیوتر برای ایجاد تصادفی چیزی متناقض وجود دارد.
بسیاری از منابع داده ای که کامپیوتر می تواند برای ایجاد تصادفی استفاده کند را می توان در هنگام راه اندازی پیدا کرد، اما نویز تصادفی سیستم عامل شما یکی از آنهاست. به عنوان مثال، این منابع شامل آنتروپی تصادفی گرفته شده مانند حرکات ماوس و خوانش دما هستند. این همه این دادهها را با هم در یک مجموعه entropy مخلوط میکند. این entropy سپس از طریق یک تابع شبه تصادفی (مانند یک تابع hash) اجرا میشود تا یک سری بایت تصادفی تولید کند. در سیستمهای مبتنی بر یونیکس، یک پرونده ویژه / dev / random وجود دارد که جریانی از این دادههای تصادفی را فراهم میکند که میتواند برای بذر تولید کلید رمزنگاری استفاده شود.
آنتروپی تولید کلید رمزنگاری برای امنیت یک سیستم رمزنگاری مهم است. تخلیه این منبع منجر به حملات بسیاری علیه سیستمهای رمزنگاری (مثلاً باگ اندرویدی که باعث از کار افتادن یکی از آنها شد) و آسیبپذیریها در ماژولهای دیگر منجر شده است. این امر منجر به ایجاد بسیاری از برنامههای اصلی بیت کوین کلیدهای خصوصی ناامن شد که بسیاری از آنها به سرعت شکسته شدند. همچنین گزارشهای زیادی در مورد کلیدهای تولید شده با استفاده از روشهای مختلف اکتشافی ad hoc گزارش شده است، که به طور معمول در معرض خطر قرار میگیرند. وقتی صحبت از ارزهای رمزپایه میشود، تولید کلید شلخته به معنی سرقت و از بین رفتن سرمایه است.
اکثر الگوریتمهای امضای دیجیتال برای امنی بودن فرآیند امضا، امضا کننده نیاز به ایجاد تصادفی دارد. این تصادفی بودن باید منجر به متفاوت بودن هر امضا شود، حتی اگر همان پیام امضا شده باشد یا همان کلید امضا کننده آن باشد. اگر امضا کننده در حین امضا یک عدد تصادفی با آنتروپی زیاد تولید نکند، شکستن کلید خصوصی پس از مشاهده امضاهای کافی امکانپذیر است.
یکی از نمونههای این باگ در DRM سونی در پلیاستیشن 3 یافت شد. همچنین مواردی وجود داشته است که از این باگ برای شکستن DRM در پلتفرمهای دیگر سوء استفاده شده است. با استفاده از جبر دبیرستان، کلید خصوصی را می توان محاسبه کرد و موسیقی، فیلم و موارد دیگر را می توان بدون محدودیت استفاده کرد.
ما نمیتوانیم به اندازه کافی بر این مسئله استرس داشته باشیم: هرگز رمزنگاری خود را نوردید. با همه موارد در این دوره کاملاً آکادمیک رفتار کنید. اگر شما باید چیزی را از لحاظ رمزنگاری عجیب و غریب لمس کنید، با آن مانند رادیواکتیو رفتار کنید و با رمزگذار محله خود مشورت کنید. اگر چاره دیگری ندارید، از کتابخانههای رمزنگاری شده با نبرد با پیش فرضهای معقول استفاده کنید.
حوزه رمزنگاری چیزهای شگفت انگیزی به ما داده است، اما رمزگذاری کلید عمومی مهمترین آنها بود. این ایده زمانی محقق شد که سه محقق، ران ریوست، آدی شامیر و لئونارد آدلمن، سیستم رمزگذاری RSA را در سال 1977 ارائه کردند. چگونه این همه علم را به دست آوردیم؟
RSA که یک سیستم رمزگذاری کلید عمومی است توسط آژانس های اطلاعاتی طبقه بندی شده بود و تنها در سال 1973 به طور عمومی کشف شد. این سیستم توسط کلیفورد کاکس ایجاد شد اما تا دهه 1980 به طور عمومی رونمایی نشد.
از نظر ریاضی، سیستمهای رمزنگاری Public Key مانند RSA در نهایت از توابع trapdoor ساخته شده اند: محاسبه توابع دشوارتر از تأیید است. الگوریتم RSA بر عملکرد trapdoor فاکتورگیری عدد صحیح استوار است. فاکتورگیری تعداد زیادی از ابتدا دشوار است، اما تأیید فاکتوربندی آن همیشه آسان است. به عنوان مثال، شما احتمالاً عوامل اصلی ۱۷۷ را نمیدانید، اما با توجه به یک فاکتوراسیون احتمالی \ (۳ \ cdot ۵۹ )، تأیید صحت آن آسان است.
با توجه به اینکه RSA به سختی فاکتورگیری از اعداد صحیح بستگی دارد، میتوان تصور کرد که برای همیشه سخت خواهد ماند. اما همانطور که مشخص شد، الگوریتمهای فاکتورسازی ما با گذشت زمان به تدریج بهبود یافته اند. به همین دلیل و به لطف قانون مور افزایش قدرت محاسباتی، اندازه کلیدهای امن RSA با گذشت زمان افزایش یافته است. در اصل اندازههای کلید RSA در صدها بیت متغیر بود، اما اندازه کلید توصیه شده در حال حاضر ۲۰۴۸ بیت است. این تا جایی که کلیدهای رمزنگاری استفاده میشود کاملاً بزرگ است.
رمزگذاری منحنی بیضی این روزها به خوبی شناخته شده است. از حملات منحنی بیضی استفاده می کند و بیت های دیجیتال را با استفاده از نقاط در یک میدان محدود رمزگذاری می کند. امنیت سیستم به دشواری محاسبه گزارشهای گسسته با ECC بستگی دارد. اگر این گیج کننده به نظر می رسد، در حال حاضر نگران آن نباشید.
طرح امضای ECDSA رایج ترین الگوریتم مورد استفاده در ارزهای دیجیتال است. همچنین اغلب برای امنیت بیشتر با EDDSA جفت می شود.
تقریباً همه رمزنگاری Public Key امروزه بر روی منحنیهای بیضوی استاندارد شده است زیرا ECC با توجه به همان سطح امنیت بسیار کارآمدتر از RSA است. بهترین الگوریتمهای ما برای محاسبه لگاریتمهای گسسته بیش از منحنیهای بیضوی خاص، نمایی هستند، در حالی که بهترین الگوریتمهای ما برای فاکتور دادن به اعداد صحیح، زیر نمایشگاه هستند (به معنی سادهسازی فاکتورهای صحیح). کلیدهای استاندارد ECC ۲۵۶ بیت هستند، تقریباً به اندازه \ (\ frac {1} {10} ) اندازه کلیدهای استاندارد RSA. با توجه به اندازه کلیدهای ۲۵۶ بیتی، تقریباً تضمین شده است که هیچ دو کلید ECC تولید شده به طور تصادفی هرگز با هم برخورد نخواهند کرد.
برای اینکه درک کنید ECC بسیار کارآمدتر از RSA است به این مثال توجه کنید:
انرژی محاسباتی مورد نیاز برای شکستن یک کلید RSA 228 بیتی برای جوشاندن یک قاشق چایخوری آب کافی است. انرژی مورد نیاز برای شکستن یک کلید 228 بیتی ECC برای جوشاندن تمام آب روی زمین، از جمله آب تشکیل دهنده بدن انسان، کافی است.
منحنیهای مختلف دارای ویژگیهای امنیتی متفاوتی هستند، و منحنیهای خاصی دارای نقاط ضعفی هستند به طوری که هرگز نباید در عمل استفاده شوند. بیت کوین از منحنی به نام secp256k1 استفاده میکند که اکنون بیشتر به دلیل تصویب بیت کوین از آن محبوب شده است.
ریاضیات منحنی های RSA (1.2، 3) یا بیضی (1.2، 3) فراتر از محدوده این دوره هستند و یادگیری آنها دشوارتر است زیرا آنها بر مفاهیم ریاضی پیشرفته تری مانند جبر در زمینه های محدود متکی هستند. اما برای درک نقش رمزنگاری کلید عمومی در ارزهای رمزپایه نیازی به درک ریاضی نیستید. در صورت تمایل به یادگیری بیشتر، ما در بخش خواندن اضافی پیوندهایی را ارائه خواهیم داد.
رمزنگاری مدتی است که وجود داشته است. این روشی برای رمزگذاری پیام ها و به اشتراک گذاری ایمن آنها با شخص یا افراد دیگری است. با این حال، رمزنگاری کلید عمومی بر مجموعه ای از مفروضات ریاضی، که توسط الگوریتم RSA تعریف شده است، متکی است. اگر این مفروضات نادرست باشند، تمام ارتباطات ما که از رمزنگاری کلید عمومی عبور می کند اساساً شکسته می شود. اگر در حال حاضر با رمزنگاری کلید عمومی کار می کنید، این یک سوال باز است که آیا آن امن است یا خیر. الگوریتمی که شما استفاده می کنید ممکن است ایمن در نظر گرفته شود، اما هیچ تحقیقی پیدا نشده است که بتواند ساختارهای فعلی را بشکند.
به طور کلی، می توان فرض کرد که هر طرح رمزنگاری ایمن خواهد بود اگر تعداد مشکلات احتمالی که می توانید با شکستن آن حل کنید آسان باشد. به عنوان مثال، مشکل کوله پشتی، یک مسئله کاملاً مشهور از نظر محاسباتی، از رضایتپذیری بولی کاهش مییابد. ما کاملاً مطمئن هستیم که میزان رضایتمندی Boolean سخت است، بنابراین با گفتن اینکه مشکل کوله پشتی نیز سخت است، بسیار احساس امنیت میکنیم.
الگوریتم Shor فقط در یک کامپیوتر کوانتومی کارآمد است. رایانههای کوانتومی که امروز توانستهایم بسازیم بسیار ناچیز هستند و ممکن است مدتی فاصله داشته باشیم تا بتوانیم رایانههای کوانتومی را در اندازهای که میتوانند کلیدهای ECC دنیای واقعی را بشکنند، مقیاسبندی کنیم. برای مرجع، در حال حاضر بیشترین تعداد فاکتور استفاده شده از الگوریتم Shor ۲۱ است.
اما هرگاه رایانههای کوانتومی در مقیاس عملی شوند، میدانیم که RSA و ECC با استفاده از الگوریتم Shor قابل شکستن هستند. این یک رقابت جدید توسط موسسه ملی استاندارد و فناوری (NIST) برای درخواست الگوریتمهای جدید مقاوم در برابر کوانتوم برای رمزنگاری Public Key ایجاد کرده است. تمام طرحهای رمزگذاری پس از کوانتوم در نظر گرفته شده حداقل نظمی در اندازه آهستهتر از ECC دارند و بسیاری از آنها قبلاً شکسته شدهاند.
در حال حاضر، محاسبات کوانتومی هنوز در مرحله تحقیق و توسعه است و رمزنگاری کلید عمومی قابل اعتماد است زیرا توسط اثبات های ریاضی پشتیبانی می شود.