Кіріспе
Эллиптік қисық криптографиясы (ECC) – шекті өрістердегі эллиптік қисықтардың алгебралық құрылымына негізделген ашық кілт криптографиясына қатысты тәсіл. ECC, жалпы Галуа өрістеріне негізделген ЕО криптографиясына қарағанда, бірдей қауіпсіздікті қамтамасыз ету үшін кішірек кілттерді пайдалануға мүмкіндік береді. ECC-ді 1985 жылы Роберт Элгемс және Виктор С. Миллер ұсынды. Эллиптік қисық криптографиялық алгоритмдер 2004-2005 жылдары кеңінен қолданыла бастады. 1999 жылы NIST он бес эллиптік қисықты ұсынды. FIPS 186-4 стандартында он ұсынылатын шекті өріс бар: 192, 224, 256, 384 және белгілі бір p жай сандары үшін 521 бит өлшемдеріндегі бес жай өріс. Әрбір жай өріс үшін бір эллиптік қисық ұсынылады. m үшін бес бинарлық өріс 163, 233, 283, 409 және 571-ге тең. Әрбір бинарлық өріс үшін бір эллиптік қисық және бір Коблиц қисығы таңдалды. Осылайша, NIST ұсынысында барлығы бес жай қисық және он бинарлық қисық бар. Бұл қисықтар қауіпсіздіктің жоғары деңгейі мен тиімділікті қамтамасыз ету үшін таңдалды. 2005 жылғы RSA конференциясында Ұлттық қауіпсіздік агенттігі (NSA) B жиынтығын жариялады, ол цифрлық қолтаңба жасау және кілт алмасу үшін эксклюзивті түрде ECC-ді пайдаланады. Бұл жиынтық құпия және құпия емес ұлттық қауіпсіздік жүйелері мен ақпаратты қорғауға бағытталған. Ұлттық стандарттар және технологиялар институты (NIST) өзінің ұсынылатын алгоритмдер жиынтығының B жиынтығында эллиптік қисық криптографиясын қолдады, атап айтқанда кілт алмасу үшін эллиптік қисық Diffie-Hellman (ECDH) және цифрлық қолтаңба үшін эллиптік қисық цифрлық қолтаңба алгоритмі (ECDSA). NSA 384 биттік кілттермен жоғары құпияға дейінгі құпия ақпаратты қорғау үшін оларды пайдалануға рұқсат береді. Соңғы кезде Вейл және Тейт жұптамалары сияқты түрлі эллиптік қисық топтарындағы билинейрлік бейнелеулерге негізделген көптеген криптографиялық примитивтер енгізілді. Бұл примитивтерге негізделген схемалар тиімді сәйкестік негізделген шифрлауды, сондай-ақ жұптастыруға негізделген қолтаңбаларды, қолтаңбалауды, кілт келісімін және прокси қайта шифрлауды қамтамасыз етеді. Эллиптік қисық криптографиясы Транспорттық қабатты қауіпсіздік және Биткойн сияқты көптеген танымал протоколдарда сәтті қолданылады.
Elliptic curve cryptography (ECC) is an approach to public key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non EC cryptography (based on plain Galois fields) to provide equivalent security. and Victor S. Miller in 1985. Elliptic curve cryptography algorithms entered wide use in 2004 to 2005. In 1999, NIST recommended fifteen elliptic curves. Specifically, FIPS 186 4 has ten recommended finite fields:
Five prime fields for certain primes p of sizes 192, 224, 256, 384, and bits. For each of the prime fields, one elliptic curve is recommended. Five binary fields for m equal 163, 233, 283, 409, and 571. For each of the binary fields, one elliptic curve and one Koblitz curve was selected. The NIST recommendation thus contains a total of five prime curves and ten binary curves. The curves were chosen for optimal security and implementation efficiency. At the RSA Conference 2005, the National Security Agency (NSA) announced Suite B, which exclusively uses ECC for digital signature generation and key exchange. The suite is intended to protect both classified and unclassified national security systems and information. National Institute of Standards and Technology (NIST) has endorsed elliptic curve cryptography in its Suite B set of recommended algorithms, specifically elliptic curve Diffie–Hellman (ECDH) for key exchange and Elliptic Curve Digital Signature Algorithm (ECDSA) for digital signature. The NSA allows their use for protecting information classified up to top secret with 384 bit keys. Recently, a large number of cryptographic primitives based on bilinear mappings on various elliptic curve groups, such as the Weil and Tate pairings, have been introduced. Schemes based on these primitives provide efficient identity based encryption as well as pairing based signatures, signcryption, key agreement, and proxy re encryption. Elliptic curve cryptography is used successfully in numerous popular protocols, such as Transport Layer Security and Bitcoin.
Қауіпсіздік мәселелері
2013 жылы The New York Times газеті екілік эллиптік қисық детерминистік кездейсоқ бит генераторының (немесе екілік EC DRBG) NSA-ның ықпалымен NIST ұлттық стандарты ретінде қабылданып, алгоритмде және ұсынылған эллиптік қисықта қасақана әлсіздік болғанын хабарлады. 2013 жылдың қыркүйегінде RSA Security өз клиенттеріне Dual EC DRBG негізінде жұмыс істейтін кез келген бағдарламалық құралды пайдалануды тоқтатуға кеңес берді. Dual EC DRBG-ның "NSA-ның жасырын операциясы" екені белгілі болғаннан кейін, криптография мамандары NIST ұсынған эллиптік қисықтардың қауіпсіздігіне қатысты алаңдаушылық білдіріп, эллиптік емес қисық топтарына негізделген шифрлауға қайта оралуды ұсынды. Бұған қоса, 2015 жылдың тамызында NSA кванттық есептеулердің ЭЦҚ-ға жасауы мүмкін шабуылдар туралы алаңдаушылықтарға байланысты B жиынын жаңа шифрлау жиынымен алмастыруды жоспарлап отырғанын мәлімдеді.
Патенттер
RSA патенті 2000 жылы тоқтап қалғанмен, ЭКК технологиясының белгілі бір аспектілерін қамтитын, оның ішінде кем дегенде бір ЭКК схемасын (ECMQV) қамтитын патенттер күшінде болуы мүмкін. Дегенмен, RSA Laboratories және Daniel J. Bernstein АҚШ үкіметінің эллипстік қисық цифрлық қолтаңба стандарты (ECDSA; NIST FIPS 186 3) және белгілі бір практикалық ЭКК негізіндегі кілт алмасу схемалары (ECDH қоса алғанда) осы патенттерді бұзбай іске асырылуы мүмкін екенін айтты.
Кілттің өлшемі
Себебі, ECDLP-ді шешуге мүмкіндік беретін барлық белгілі ең жылдам алгоритмдер (бала қадам, алып қадам, Поллардтың rho әдісі, т.б.) қадамдарды қажет етеді, сондықтан негізгі өрістің мөлшері қауіпсіздік параметрінің шамамен екі есе болуы тиіс. Мысалы, 128 биттік қауіпсіздік үшін үстінде қисық қажет, мұнда . Бұл шекті өрістік криптографиямен (мысалы, DSA) салыстыруға болады, ол 3072 биттік ашық кілттерді және 256 биттік жеке кілттерді қажет етеді, ал бүтін санды факторлау криптографиясы (мысалы, RSA) 3072 биттік n мәнін қажет етеді, мұнда жеке кілт сондай үлкен болуы керек. Дегенмен, шифрлауды тиімді жүзеге асыру үшін, әсіресе есептеу қуаты шектеулі болған жағдайда, ашық кілт кішірек болуы мүмкін. Кезде, жарияланған ең қиын ECC схемасы 112 биттік кілтке (жақсы өріс үшін) және 109 биттік кілтке (екілік өріс үшін) ие болды. Жақсы өріс жағдайында, бұл 2009 жылдың шілдесінде 200-ден астам PlayStation 3 ойын консольдарының кластерін пайдаланып бұзылды және осы кластер үздіріссіз жұмыс істесе, 3,5 айда аяқталуы мүмкін еді. Екілік өріс жағдайы 2004 жылдың сәуірінде 2600 компьютерді 17 ай бойы пайдалану арқылы шешілді. Қазіргі жоба Certicom компаниясының ECC2K 130 сынағын CPU, GPU, FPGA сияқты әртүрлі аппараттық құралдарды пайдаланып бұзуға бағытталған.
Жобалық координаттар
Қосу ережелерін мұқият қарастыру екі нүктені қосу үшін бірнеше қосулар мен көбейтулер ғана емес, сонымен қатар инверсиялық операция қажет екенін көрсетеді. Инверсия (берілген шама үшін, оған кері шаманы табу, яғни ) көбейтуден бір-екі ретке баяу. Дегенмен, қисықтағы нүктелерді екі нүктені қосу үшін инверсия операциясы қажет емес әр түрлі координаттық жүйелерде бейнелеуге болады. Мұндай бірнеше жүйелер ұсынылды: проективті жүйеде әр нүкте келесі қатынасты қолдана отырып, үш координаттармен бейнеленеді: , ; Якоб жүйесінде нүкте де үш координаттармен бейнеленеді, бірақ басқа қатынас қолданылады: , ; López–Dahab жүйесінде қатынас келесідей: , ; модификацияланған Якоб жүйесінде бірдей қатынастар қолданылады, бірақ төрт координат сақталады және есептеулер үшін пайдаланылады; ал Чудновский Якоб жүйесінде бес координат қолданылады. Назарда болсын, әртүрлі атаулар болуы мүмкін, мысалы, IEEE P1363 2000 стандарты "проективті координаттар" терминін, әдетте Якоб координаттары деп аталатын нәрсеге сілтеме жасау үшін қолданады. Қосымша жылдамдыққа қол жеткізу үшін аралас координаттарды пайдалану мүмкін.
Тез қысқарту (NIST қисықтары)
Редукция модулі p (қосу және көбейту үшін қажет) егер p псевдо Мерсенн саны болса, яғни; мысалы, немесе . Барретт редукциясымен салыстырғанда, жылдамдық бірнеше есе артуы мүмкін. Бұл жердегі жылдамдық теориялық емес, практикалық, себебі екінің дәрежесіне жақын сандардың модульдерін бинарлық сандармен жұмыс істейтін компьютерлер биттік операциялар арқылы тиімді орындай алады. Псевдо Мерсенн саны p-мен қисықтарды NIST ұсынады. NIST қисықтарының тағы бір артықшылығы – олар a = -3 қолданады, бұл Якоб координаттарында қосуды жақсартады. Бернштейн мен Ланге мәлімдегендей, NIST FIPS 186 2-дегі тиімділікке қатысты көптеген шешімдер оңтайлы емес. Басқа қисықтар көбірек қауіпсіз және олар да жылдам жұмыс істейді.
Жақсылықтан жасалған шабуылдар
Басқа DLP жүйелерінен айырмашылығы (оларда квадраттау мен көбейту үшін бірдей процедура қолданылуы мүмкін), эллиптік қисықтардағы қосу операциясы екі еселеу (P = Q) және жалпы қосу (P ≠ Q) жағдайларында қолданылатын координаттық жүйеге байланысты күрт өзгеше болады. Осыдан келіп, жақтан келген шабуылдарға (мысалы, уақыт бойынша немесе қарапайым/дифференциалдық қуат талдауы арқылы) қарсы тұру маңызды, мысалы, белгілі үлгілік терезе (ә.і.а. тарақ) әдістерін пайдалану арқылы (ескеріңіз, бұл есептеу уақытын ұзартпайды). Балама ретінде Эдвардс қисығын қолдануға болады; бұл эллиптік қисықтардың ерекше тобы, онда екі еселеу және қосу бір операциямен орындалуы мүмкін. ECC жүйелері үшін тағы бір маңызды мәселе – смарт-карталарда жұмыс істеген кезде ақаулықтарға ұшырау қаупі.
Арқа есіктер
Криптографиялық сарапшылар Ұлттық қауіпсіздік агенттігі кем дегенде бір эллипстік қисық негізіндегі псевдо-келтірістік генераторға клептографиялық артқы есік орнатқанына алаңдаушылық білдірді. Бұрынғы NSA қызметкері Эдвард Сноуденнан жасырын шыққан ішкі жазбалар NSA-ның Dual EC DRBG стандартына артқы есік салғанын көрсетеді. Мүмкін болған артқы есікті талдау көрсеткендей, алгоритмнің құпия кілтіне ие болған қарсылас PRNG шығысының бар болғаны 32 байтын алғанда шифрлау кілтін алуға мүмкіндігі бар. SafeCurves жобасы қауіпсіз жүзеге асыруға оңай және артқы есік болу ықтималдығын азайту үшін толыққанды қоғамдық түрде тексерілетіндей етіп жасалған қисықтарды тізімдеу мақсатымен іске қосылды.
Кванттық есептеулер шабуыл
Шор алгоритмі гипотетикалық кванттық компьютерде дискретті логарифмдерді есептеу арқылы эллиптік қисық криптографиясын бұзуға мүмкіндік береді. 256 биттік модулі бар (128 биттік қауіпсіздік деңгейі) қисықты бұзу үшін соңғы кванттық ресурстар бағасы 2330 кубит және 126 миллиард Тоффоли қақпасы құрайды. Бинарлық эллиптік қисық жағдайы үшін 906 кубит қажет (128 биттік қауіпсіздікті бұзу үшін). Салыстыру үшін, RSA алгоритмін бұзу үшін Шор алгоритмін қолдану 2048 биттік RSA кілті үшін 4098 кубит және 5,2 триллион Тоффоли қақпасын қажет етеді, бұл ECC кванттық компьютерлер үшін RSA-дан бұрынғы мақсат екенін көрсетеді. Бұл көрсеткіштердің барлығы дерлік құрылған кез келген кванттық компьютерден әлдеқайда жоғары, ал мұндай компьютерлерді құруға он жыл немесе одан да көп уақыт қажет болады деп болжануда. Supersingular Isogeny Diffie–Hellman кілт алмасуы изогендерді пайдалану арқылы эллиптік қисық криптографиясының кванттық қауіпсіз түрін қамтамасыз етуді мақсат етеді, Diffie–Hellman кілт алмасуын іске асырады. Бұл кілт алмасу қазіргі эллиптік қисық криптографиясындағыдай көптеген өріс арифметикасын пайдаланады және қазіргі уақытта қолданылатын көптеген ашық кілт жүйелеріне ұқсас есептеу және тарату жүктемесін қажет етеді. Дегенмен, жаңа классикалық шабуылдар осы протоколдың қауіпсіздігіне нұқсан келтірді. 2015 жылдың тамызында NSA кванттық шабуылдарға төзімді жаңа шифрлау жиынтығына "аса жақын арада" көшуді жоспарлап отырғанын хабарлады. "Өкінішке орай, эллиптік қисықтарды қолданудың өсуі кванттық есептеулер саласындағы зерттеулердің үздіріліміне соқтырды, бұл біздің криптографиялық стратегиямызды қайта қарау қажеттігін тудырады".
Жарамсыз қисық шабуыл
ECC виртуалды машиналарда қолданылғанда, шабуылшы толық PDH жеке кілтін алу үшін жарамсыз қисықтан пайдалануы мүмкін.