Сравняване на ECDSA срещу RSA

Въведение

Напоследък има многобройни дискусии за плюсовете и минусите на RSA[01]
намлява ECDSA[02], в крипто общността. За непосветените двамата са
най-използваните алгоритми за цифров подпис, но дори и за по-технологичните
здрав, може да е доста трудно да се съобразите с фактите. Тази статия е
опит за опростяване на сравнението на двата алгоритъма. Въпреки че това не е така
дълбоко техническо есе, по-нетърпеливият читател може да провери края на
статия за бърза TL; DR таблица с резюмето на дискусията.

Нуждаете се от сертификат? SSL.com ви покрива. Сравнете опциите тук за да намерите правилния избор за вас, от S/MIME и сертификати за подписване на код и др.

ПОРЪЧАЙ СЕГА

ECDSA срещу RSA

ECDSA и RSA са алгоритми, използвани от криптография с публичен ключ[03] системи,
да се осигури механизъм за заверка, Криптографията с публичен ключ е
наука за проектиране на криптографски системи, които използват двойки ключове: a обществен
ключ
(оттук и името), която може да се разпространява свободно на всеки, заедно с a
съответен частен ключ, което е известно само на собственика му. заверка
се отнася до процеса на проверка, че е било съобщение, подписано с частен ключ
създаден от притежателя на конкретен частен ключ. Алгоритми, използвани за
автентичността са общо известни като алгоритми за цифров подпис [04].

Такива алгоритми разчитат на сложни математически проблеми, които са сравнително прости
да се изчисли по един начин, макар и доста непрактично да се обърне. Това означава, че за
нападател да подправя цифров подпис, без да знае личния
ключ, те трябва да решат неразрешими математически проблеми, като цяло число
факторизация, за която не са известни ефективни решения [05].

За тази сметка, тъй като няма налични ефективни решения за
основни математически проблеми, оценката на криптографските алгоритми може
възникват само по отношение на подробностите за тяхното изпълнение във връзка с
ниво на сигурност, което предоставят. За тази цел този раздел представя а
сравнение на RSA и ECDSA с използване на пет (или шест) количествено измерващи показатели. Всеки показател
се въвежда в собствен раздел, заедно със значението му за всеки, който е
опитвайки се да вземе решение между двата алгоритъма.

Приемане

RSA е отрасловият стандарт за криптография с публичен ключ от много години
сега. Най-SSL /TLS сертификатите (и все още са) се подписват с RSA ключове.
Въпреки че досега повечето ЦО са внедрили поддръжка за базирана на ECDSA
сертификати, това дълготрайно приемане доведе до много наследствени системи
поддържаща RSA. Ето защо, ако доставчикът изисква обратна съвместимост със стари
клиентски софтуер, те са принудени да използват сертификати, подписани с RSA. В днешно време,
въпреки това повечето съвременни клиенти са внедрили поддръжка за ECDSA, която ще
вероятно премахнете това ограничение за съвместимост в близко бъдеще.

Стандартен падеж

RSA за първи път е стандартизиран за SSL /TLS през 1994 г. [06], докато ECDSA е въведена
в спецификацията на TLS v1.2 през 2008 г. [07]. Тази разлика във възрастта показва a
несъответствие в зрелостта на стандартите, които описват най-добрите практики за
всеки алгоритъм. Въпреки че стандартите на RSA са широко проучени и
ECDSA не е видял толкова голямо внимание. Напоследък застъпничество за това
алгоритъм от големи CA и приемането му в най-модерните SSL /TLS клиенти има
в резултат на това бяха публикувани по-обширни изследвания, но това все още остава
сравнително нова схема. Това оставя място за неоткрити недостатъци в дизайна или
грешни реализации се разкриват в бъдеще.

Съотношение размер-ключ към ниво на сигурност

Ниво на сигурност [08] е показател в криптографията, отнасящ се до силата
на криптографски примитив или функция. Обикновено се измерва в „битове“
обозначават броя на операциите, които един нападател трябва да извърши, за да компрометира своите
сигурност. Този показател може да осигури метод за количествено измерване за сравняване на ефикасността
на различни криптосистеми. Трябва да се подчертае, че размерът на публичния ключ също е
измерва се в битове, но това е съвсем различна концепция, отнасяща се до
физически размер на ключа.

В тази връзка, общ RSA 2048-битов публичен ключ осигурява ниво на сигурност
112 бита. ECDSA обаче изисква само 224-битови публични ключове, за да предостави
същото 112-битово ниво на сигурност. Тази поразителна разлика в размера на ключовете има две
значителни последици. По-малките размери на ключовете изискват по-малка честотна лента, за да настроите ан
SSL /TLS stream, което означава, че сертификатите ECDSA са идеални за мобилни устройства
приложения. Освен това такива сертификати могат да се съхраняват в устройства с много
по-ограничаващи ограничения на паметта, факт, който позволява m /TLS стекове да бъдат
реализирани в IoT устройства, без да се разпределят много ресурси. Публикуван
дори показва, че ECDSA е по-ефикасно [09] да се прилага вградено
устройства.

Сложност на изпълнението и времето

Алгоритмите са абстрактни рецепти, описващи метод за постигане на определена цел.
В компютърните науки тяхната ефективност се измерва чрез отчитане на броя на
елементарни операции, необходими за достигане на този предварително определен край
състояние. Такава метрика се нарича времева сложност, Тъй като различен вход
размерите изискват различен брой операции, обикновено сложността на времето е
изразена като функция от размера на входа.

И двата въпросни алгоритъма изпълняват приблизително еднакво време
математически операции, като деления и умножения. По този начин, размер на входа
(което в случая е размерът на техните ключове) остава най-значимото
фактор, влияещ върху тяхното представяне. Сравняването на двата алгоритъма трябва да бъде
разграничава между подписване на съобщение и проверка на подпис. В повечето
практически реализации, изглежда, RSA е значително по-бърз от ECDSA през
проверка на подписите, въпреки че е по-бавно при подписването.

Нещата се усложняват за по-високи нива на сигурност. Например в най-много
обща конфигурация на ниво на защита от 112 бита, RSA изисква 2048-битов
срещу ECDSA се нуждаят от 224-битови ключове. В следващото общо ниво от 128 бита, RSA
изисква 3072-битов ключ, докато ECDSA само 256 бита. Това води до RSA
ефективността намалява драстично, докато ECDSA е слабо засегнат. Като
последица от този проблем с мащабирането, въпреки че RSA изглежда по-ефективна при
В момента, непрекъснатото увеличаване на изискванията за сигурност може много добре да доведе
ECDSA действителното решение в бъдеще.

Поствантово съпротивление

алгоритъм на Шор [10] е добре известен алгоритъм за разбиване на RSA ключове с помощта
квантови компютри. Тъй като няма (публични) практически реализации на a
такава машина, следното е предположение за бъдещето на публичния ключ
криптография. В момента на това писане, най-доброто изпълнение на Шор
алгоритъмът може да победи 15-битов ключ RSA криптиране. Въпреки че това не звучи
относно, тъй като все повече и повече изследвания са насочени към квантовите изчисления, RSA
може да изпадне в сериозни проблеми по всяко време.

Застъпниците за ECDSA обаче не трябва да бързат да празнуват, защото елиптични
крива криптография също е уязвим [11] към модифицирана версия на Shor's
алгоритъм. Следователно, ако и двата шифъра могат да бъдат прекъснати от квантов компютър,
единствената цел на показателя е сложността, необходима за прилагането на такава
атакува. Според публичните изследвания, на 2048-битовите ключове на RSA са необходими 4098 кубита
(и 5.2 трилиона порта на Tofolli), които трябва да бъдат победени, докато ECDSA 256-битови ключове
изискват само 2330 кубита (и 126 милиарда порта на Tofolli). Следователно RSA е повече
скъпо за счупване, използвайки теоретична квантова машина.

Заключение

Въпреки че това сравнение в никакъв случай не е всеобхватно, очевидно е, че това
RSA с право получи позицията си на водещ цифров подпис
алгоритъм за повечето приложения за сертификати. Въпреки това, тъй като технологиите винаги са
напредване по по-непредсказуеми начини, също са осъзнати и нуждата от сигурност
повишаване на. Преди малко повече от десет години беше защитата на вградените устройства
фантастика и в днешно време сигурната комуникация е задължителна за всеки реален свят
приложение. В резултат на това, дори ако ECDSA е сравнително млад, той е за всеки
познайте дали ще замени RSA като стандарт за удостоверяване в SSL /TLS
реализации.

Ако вие, читателят, все още не можете да решите кой алгоритъм да изберете, има
решения за поддръжка както на ECDSA, така и на RSA (като резервен механизъм), до момента
крипто общността се установява на победител. Проверете тази статия за бъдеще
как да се ръководи.

TL; DR таблица

метричен RSA ECDSA
Приемане ?  
Зрелост ?  
Размер на ключ   ?
Производителност ?  
Scaling   ?
P / Q съпротивление ?  

Препратки

Абонирайте се за бюлетина на SSL.com

Не пропускайте нови статии и актуализации от SSL.com

Бъдете информирани и защитени

SSL.com е глобален лидер в киберсигурността, PKI и цифрови сертификати. Регистрирайте се, за да получавате най-новите новини от индустрията, съвети и съобщения за продукти от SSL.com.

Ще се радваме на вашите отзиви

Попълнете нашата анкета и ни кажете какво мислите за скорошната си покупка.