(ECC) یک رمزنگاری به روش است که بر اساس از منحنی‌های بیضوی بر روی طراحی شده‌است. این رمزنگاری در مقایسه با بقیه رمزنگاری‌های مبتنی بر برای ایجاد امنیت یکسان، به کلید کوچکتری نیازدارد.
 منحنی‌های بیضوی برای ، ، تولیدکننده‌های شبه تصادفی و سایر وظایف کاربرد دارند. . به‌طور غیر مستقیم، آنها با ترکیب کلید تواقفی با طرح می‌توانند برای رمزگذاری مورد استفاده قرار گیرند. منحنی‌های بیضوی همچنین در چندین نیز استفاده شده‌است که این الگوریتم‌ها دارای کاربردهایی در زمینهٔ رمزنگاری هستند، مانند فاکتور منحنی بیضوی .
 رمزنگاری کلید عمومی بر پایه غیرقابل حل بودن برخی از مسائل ریاضی است. . در اوایل سیستم‌های مبتنی بر کلید عمومی با این فرض که پیدا کردن دو یا بیشتر از دو بزرگ برای یک بزرگ مشکل است، امن تلقی می‌شدند. برای پروتکلهای مبتنی بر منحنی بیضوی، فرض بر این است که پیدا کردن از یک عنصر تصادفی منحنی بیضوی با توجه به یک نقطه پایهٔ عمومی شناخته شده غیرعملی می‌باشد که همان مسئله یا ECDLP است. امنیت رمزنگاری منحنی بیضوی وابسته به توانایی محاسبهٔ است و عدم توانایی در محاسبهٔ ضرب شونده با داشتن ضرب‌کننده و نقطه ای است. اندازه منحنی بیضوی، میزان سختی مسئله رامشخص می‌نماید.
 مؤسسه ملی استاندارد و تکنولوژی ایالات متحده (NIST) رمزنگاری منحنی بیضوی را در مجموعه B الگوریتم‌های پیشنهاد شده توصیه کرده‌است، به‌طور ویژه الگوریتم منحی بیضوی برای و الگوریتم منحنی بیضوی برای امضای دیجیتال. ایالات متحده استفاده از این الگوریتم‌ها با کلید به طول ۳۴۸ بیت را برای محافظت از اطلاعاتی که به عنوان فوق سری طبقه‌بندی شده‌اند مجاز اعلام کرده‌است. اما در اوت ۲۰۱۵ این آژانس اعلام کرد قصد دارد رمزهای مجموعهB را به علتنگرانی از حملات ، با رمزهای جدید جایگزین کند.
 اگرچه در سال ۲۰۰۰ گواهی منقضی شد، ممکن است گواهی‌هایی برای تحتپوشش قرار دادن جنبه‌هایی از تکنولوژی ECC وجود داشته باشد. اما عده ای اظهار می‌کنند که امضای دیجیتال منحنی بیضوی متعلق به دولت ایالات متحده و برخی طرح‌های عملی تبادل کلید برپایهٔ منحنی بیضوی بدون نقض آنها قابل پیاده‌سازی است از جمله RSA Laboratories و Daniel J. Bernstein. بزرگترین مزیتی که رمزنگاری منحنی بیضوی تضمین می‌کند، طول کوتاه‌تر کلید، کاهش حافظه مورد نیاز و الزامات انتقال می‌باشد به این معنا که منحنی بیضوی می‌تواند همان سطح امنتی را ارائه دهد که سیستم‌های برپایه RSA با یک عدد پایه بزرگتر و در نتیجه با کلید بزرگتر ارائه می‌دهد. به عنوان مثال یککلید عمومی منحنی بیضوی به طول ۲۵۶ بیت امنیتی معادل با یک کلید عمومی RSA به طول ۳۰۷۲ بیت فراهم می‌کند.
 استفاده از رمزنگاری منحنی بیضوی در سال ۱۹۸۵ مستقلاً توسط Neal Koblitz و Victor S. Miller پیشنهاد شد. این الگوریتم از سال ۲۰۰۴ و ۲۰۰۵ مورد استفاده وسیع قرار گرفت.
 به منظور فراهم کردن نیازهای رمزنگاری امروز، منحنی بیضی یک صفحه منحنی است تا اینکه بر روی یک میدان محدود باشد که شامل نقطه هاییست که معادله زیررا برآورده می‌کند:
 همراه یک نقطه مشخص در بینهایت ∞.
این مجموعه در کنار گروهی از عملگرهای منحنی بیضوی تشکیل یک می‌دهد که یک نقطه در بی‌نهایت به عنوان عنصر مشخص کننده دارد. ساختار این گروه از گروه تقسیم زیر به ارث رسیده‌است:
 تعداد زیادی پروتکل‌های بر پایهٔ برای منحنی بیضوی اتخاذ شده‌اند که را بایک منحنی بیضوی جایگزین می‌کند:
 
 
 
 
 
 
 اخیراً تعداد زیادی رمزنگاری اولیه برپایهٔ نگاشت دوتایی بر روی منحنی‌های بیضوی متعدد مانند Weil و Tate pairings معرفی شده‌اند. طرح‌هایی که بر پایه آنها هستند، رمزنگاری‌های برپایه هویت کارامدی، در کنار امضاهای برپایهٔ جفت سازی، signcryption، تبادل کلید و بازرمزنگاری پروکسی فراهم می‌کنند.
 برخی از ملاحظات پیاده‌سازی معمول عبارتند از:
 برای استفاده از این روش رمزنگاری، تمامی طرف‌ها باید روی تمامی عناصری که منحنی بیضوی را تعریف می‌کنند، توافق کنند که به این عناصر پارامترهای دامنه اطلاق می‌شود. میدان در حالت با حرف P و در حالت دوتایی با حروف m , f تعریف می‌شود. منحنی نیز با ثابت‌های a , b تعریف می‌شود که در معادله تعریف منحنی به کار رفته‌است. نهایتاً، با G (تولیدکننده) تعریف می‌گردد. برای کاربردهای رمزنگاری order G کوچکترین عددصحیح مثبت n است که n.G=O ,معمولاً، عدد اول می‌باشد. از آنجا که n سایز یک زیرگروه است، از پیروی می کندکه بدین معناست باید عددی صحیح باشد. در کاربردهای رمزنگاری این عدد که h که cofactor نامیده می‌شود، باید کوچکتر یا مساوی ۵ و در بهترین حالت ۱ باشد. به‌طور خلاصه در حالت عدد اول، پارمترهای دامنه(p,a,b,G,n,h) و در حالت دوتایی (m,f,a,b,G,n,h)هستند.
 پارمترهای دامنه می‌بایست پیش از استفاده اعتبارسنجی شوند مگر در حالتی که تضمینی وجود داشته باشد که توسط یکی از طرفین مورد اعتماد و بر مبنای کاربردشان، تولید شده‌است. تولید این پارامترها معمولاً توسط تمام شرکت کننده‌ها انجام نمی‌شود زیرا مستلزم محاسبهٔ تعداد نقاط روی منحنی می‌باشد که بسیار وقت گیر و مشکل برای پیاده‌سازی است. در نتیجه تعداد زیادی از افراد مورد تأیید، پارامترهای دامنه را برای تعداد زیادی از سایزهای میدان پرکاربرد محاسبه و منتشر کرده‌اند. این پارامترها به «منحنی استاندارد» یا «منحنی‌های معروف» شناخته می‌شوند. یک منحنی معروف می‌تواند توسط نام یا تشخیص دهندهٔ شی منحصر به فرد که در اسناد زیر موجود است، ارجاع داده شود:
 
 
 Generation
 تست SECG نیز در دسترس می‌باشند.NIST نیز تعداد زیادی از منحنی‌های SECG را تأیید کرده‌است درنتیجه هم پوشانی بزرگی بین مشخصه‌های منتشر شده توسط NIST و SECG وجود دارد. پارامترهای دامنهٔ EC می‌تواند توسطنام یا مقدار مشخص شود. اگر فردی بخواهد پارامترهای دامنهٔ خود را بسازد، باید میدان اساسی را انتخاب کند و از یکی از روش‌های زیر برای یافتن منحنی با تعداد نقاط مناسب استفاده کند:
 
 
 
 
 
 از آنجا که سریع‌ترین شناخته شدهٔ حل ECDLP به O(√n) مرحله نیاز دارد، اندازه میدان مربوطه باید حدود دو برابر پارامتر امنیت باشد. برای مثال، برای یک پارامتر امنیت ۱۲۸ بیتی ما به میدان F_q با مقدار نیازمندیم. این امر می‌تواند درتناقض با رمزنگاری میدان محدود که در آن کلید عمومی به طول ۳۰۷۲ بیت و کلید خصوصی به طول ۲۵۶ بیت بود یا رمزنگاری عدد صحیح عامل بندی (factorization) که نیازمند عدد ۳۰۷۲ بیتی n است و کلید خصوصی نیز به همیناندازه است، باشد. اما کلید عمومی می‌تواند برای بازدهی بهتر به خصوص زمانیکه توان مصرفی محدود است، کوتاه‌تر باشد.
 دشوارترین طرح ECC شکسته شده کلیدی به طول ۱۱۲ بیت برای حالت میدان عدد اول و کلید به طول ۱۰۹ بیت برای میدان دودویی داشت. اولی در سال ۲۰۰۹ و با استفاده از خوشه ای ۲۰۰ تایی از نسل سوم شکسته شد که می‌توانست در حالتی که به‌طور پیوستهدر حال اجرا باشد، ظرف مدت سه ماه و نیم این کار را انجام دهد. دومی در سال ۲۰۰۴ و با استفاده از ۲۴۰۰ رایانه طی ۱۷ ماه شکسته شد.
 پروژه فعلی معطوف به شکستن رمز ECC2K-130 است که چالشی از سوی Certicom است و از ، ها و FPGA های متنوعی استفاده می‌کند. مختصات پروژه ای یک ارزیابی دقیق از قوانین جمع نشان می‌دهد که برای جمع دو نقطه در میدان Fنه تنها به تعداد زیادی عملیات جمع و ضرب بلکه به زیادی نیز احتیاج داریم. عملیات یک الی دو برابر کندتر از ضرب است. اما نقاط منحنی در دستگاه‌های مختصات متنوعی می‌توانند نشان داده شوند که باعث می‌شود برای جمع نیاز به عملیات نقیض نداشته باشند. تعدادی از از این سیستم‌ها معرفی شده‌اند: در سیستم projective هر نقطه با سه مولفه X,Y,Z تحت رابطه , نشان داده می‌شود. در سیستم با همین مولفه‌ها اما تحت رابطه نشان داده می‌شود، در
سیستم لوپز داهام رابطه به صورت است. در ژاکوبین تعمیم یافته همان روابط به کار رفته‌است اما
مولفه‌های ذخیره شده و به کار رفته برای محاسبات می‌باشد. در سیستم زاکوبین-کدنفسکی پنج مولفه وجود دارند. توجه کنید که ممکن است عرف‌های نامگذاری مختلفی وجود داشته باشدبه عنوان مثال استاندارد، P1363-2000 از مولفه‌های projective برای اشاره به آنچه عموماً مولفه‌های ژاکوبین خوانده می‌شود، استفاده می‌کند.
 باقیمانده‌گیری بر p می‌تواند خیلی سریع تر اتفاق بیفتد اگر عدد اول p یک باشد که یعنی به عنوان مثال یا در مقایسه با روش بارت، افزایش سرعتی در مقیاس اردری وجود دارد. این افزایش سرعت عملی می‌باشد از این حاصب می‌شود که باقی مانده بر اعداد اول تزدیک به توان دو نسبت به بقیه اعداد در کامپیوتر به علت وجود عملیات‌های دودویی سریع تر انجام می‌شود. منحنی روی میدان F_p با عدد اول شبه مرسن p توسط NIST توصیه شده‌است. امایکی دیگر از برتربی‌های منحنی‌های NIST استفاده از a=-۳ است که عملیات جمعرا در سیستم ژاکوبین تسهیل می‌کند.
 با توجه به برنستین و لانژ بسیار از تصمیمات کارایی بهتر NIST FIPS 186-2 شبه بهینه هستند. بقیه منحنی‌ها ایمن ترند و به همین سرعت اجرا می‌شوند.
 منحنی‌های بیضوی برای رمزنگاری، امضای دیجیتال و تولید شبه تصادفی و کاربردهای دیگر کارایی دارند. همین‌طور در الگوریتم‌های تجزیه اعداد صحیح نیز کاربرد دارند که در رمزنگاری‌هایی مانند Lenstra elliptic curve factorization به کار می‌رود.
 در سال 1999 NIST 15 منحنی بیضوی را پیشنهاد داد. به‌طور خاص FIPS 186-4 ده میدان محدود توصیه شده دارد.
 میدان‌ها یک منحنی بیضوی اراِئه شده‌است.
 در سال ۲۰۱۳ اعلام کرد که تولید تصادفی بیت منحنی بیضوی قطعی دوگانه به دلیل تأثیرات به استانداردهای NIST اضافه شده‌است که یک ضعف عمدی در الگوریتم و منحنی بیضوی داشت. RSA در سپتامبر ۲۰۱۳ توصیه ای منتشر کرد که از کاربرانش خواسته بود استفاده از نرم‌افزارهای برپایه تولید تصادفی بیت منحنی بیضوی قطعی دوگانه را قطع کنند. متخصصان رمزنگاری همچنین نگرانی خود را بابت امنیت منحنی‌های توصیه شده توسط NIST ابراز کرده‌اند و پیشنهاد بازگشت به رمزنگاری‌های مستقل از منحنی‌های بیضوی را داده
اند. رمزنگاری بیضوی برای رمزنگاری‌های به کار می‌رود.
 برخلاف اکثر سیستم های دیگر، عملیات جمع منحنی بیضوی به‌طور مشخصی برای جمع عمومی و دوگانه با توجه به مختصات مورد استفاده متفاوت است. در نتیجه، مقابله با حملات کانال جانبی به وسیلهٔ مانند روش‌های الگوهای ثابت اهمیت زیادی دارد. از سوی دیگر می‌توان از منحنی ادوارد استفاده کرد که گروهی از منحنی‌ها هستند که عملیات جمع عمومی و دوگانه در آنها به عملیات‌های یکسانی نیاز دارد. نگرانی دیگر درباره منحنی‌های بیضوی خطر حملات خطا به خصوص در مواردی که در روی اجرا می‌شود، می‌باشد.
 متخصصان رمزنگاری دربارهٔ این موضوع که NSA یک راه فرار kleptographic در حداقل یکی از تولیدکنندگان شبه تصادفی برپایه منحنی بیضوی قرار داده‌است، ابراز نگرانی کرده‌اند. اطلاعات درز کرده توسط کارمند پیشین NSA، ادوارد اسنودن، ادعا می‌کند NSA یک راه فرار استاندارد Dual EC DRBG قرا داده‌است. یک تحلیل بر روی راه‌های فرار احتمالی به این نتیجه رسید که یک حمله کننده در مقام الگوریتم رمز پنهان، تنها با داشتن ۳۲ بیت از خروجی PRNG می‌تواند کلیدهای رمزنگاری را بدست آورد.
 پروژه منحنی امن به منظور فهرست کردن منحنی‌هایی که پیاده‌سازی ایمن آنها آسان است و به شکل کاملاً عمومی قابل بازبینی هستند اجرا شده‌است تا شانس وجود راه فرار را به حداقل برساند.
 با استفاده از الگوریتم شور و به کمک محاسبه لگاریتم گسسته بر روی یک کامپیوتر کوانتومی فرضی می‌توان رمزنگاری منحنی بیضوی را شکست. آخرین منابع کوانتومی تخمین زده شده مورد نیاز برای شکستن منحنی به طول ۲۵۶ بیت مدول ۲۳۳۰ کوبیت و ۱۲۶ میلیارد گیت توفولی است. به عنوان مقایسه، استفاده از الگوریتم شور برای شکستن الگوریتم RSA نیازمند ۴۰۹۸ کوبیت و ۵٫۲ تریلیون گیت توفولی است در حالتی که طول کلید ۲۰۴۸ بیت باشد. این بدین معناست که منحنی بیضوی هدف ساده‌تری برای کامپیوترهای کوانتومی است در قیاس با RSA. تمامی این ارقام بسیار بیشتر از توانایی کامپیوترهای کوانتومی است که تا کنون ساخته شده‌است و تخمین زده می‌شود ساخته شدن این چنین کامپیوترهایی دهه‌ها به طول خواهد انجامید.
 تبادل کلید Supersingular Isogeny Diffie–Hellman نسخه ای فراکوانتومی
ایمن از رمزنگاری منحنی بیضوی فراهم می‌کند که از isogenies برای پیاده‌سازی تبادل کلید Diffie–Hellman استفاده می‌کند. این تبادل کلید از بسیاری از همان ریاضیات میدان موجود در منحنی بیضوی استفاده می‌کند و سربار محاسباتی و انتقالی مشابه سیستم‌ها ی کلید عمومی فعلی دارد.
 در آگوست 2015 NSA اعلام کرد که برنامه ای برای انتقال به محیط رمزنگاری جدید دارد که در مقابل ایمن است. متأسفانه استفاده از منحنی بیضوی با وجود پیشرفت در تحقیقات روی کامپیوترهای کوانتومی، گسترش یافته‌است که نیازمند بازارزیابی استراتژی‌های رمزنگاری است.
 زمانی که رمزگذاری منحنی بیضوی در استفاده می‌شود، حمله کننده ممکن است از یک منحنی نامعتبر برای دریافت کامل کلید خصوصی PDH استفاده کند.
{"title": "رمزنگاری منحنی بیضوی", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C_%D9%85%D9%86%D8%AD%D9%86%DB%8C_%D8%A8%DB%8C%D8%B6%D9%88%DB%8C&oldid=34903367", "language": "fa"}