RSA криптирането е едно от първитепрактични криптосистеми с публичен ключ, който се използва широко за сигурно предаване на данни. Основната му разлика от подобни услуги е, че ключът за криптиране е публичен и се различава от ключа за дешифриране, който се пази в тайна. В технологията RSA тази асиметрия се основава на практическата сложност на факторинг на два големи прости числа (проблем с факторинга).
История на творението
Името на RSA се състои от началните букви на фамилните именаРивест, Шамир и Адлеман са учените, които за първи път публично описаха такива алгоритми за криптиране през 1977 г. Клифърд Кокс, английски математик, който е работил за британските разузнавателни служби, за първи път разработва еквивалентна система през 1973 г., но не е разсекретена чак през 1997 г.
Потребителят на RSA създава и след това публикувапубличен ключ, базиран на две големи прости числа, заедно със спомагателна стойност. Простите числа трябва да се пазят в тайна. Всеки може да използва публичния ключ за криптиране на съобщение, но ако той е достатъчно голям, тогава само някой с познания за прости числа може да декодира съобщението. Разкриването на RSA криптирането е известно като основния проблем: днес има открита дискусия за това колко надежден е механизмът.
RSA е относително бавен алгоритъм,поради тази причина той не е толкова широко използван за директно криптиране на потребителски данни. Най-честото използване на този метод е за шифроване на споделените ключове за симетричен ключ за шифроване, който от своя страна може да извършва групови операции за криптиране и дешифриране с много по-висока скорост.
Кога криптосистемата се появи в съвременния си вид?
Идеята за асиметрична ключова криптосистемаприписва на Diffie and Hellman, които публикуват концепцията през 1976 г., въвеждайки цифрови подписи и опитвайки се да приложат теорията на числата. Тяхната формулировка използва споделен таен ключ, генериран от степенуването на някакво число по модул на просто число. Те обаче оставиха отворен проблема с прилагането на тази функция, тъй като по това време принципите на факторинга не бяха добре разбрани.
Ривест, Ади Шамир и Адлеман в МасачузетсПрез годината Технологичният институт направи няколко опита да създаде еднопосочна функция, която е трудна за декодиране. Ривест и Шамир (като компютърни учени) предлагат много потенциални функции, докато Адлеман (като математик) търси слаби места в алгоритъма. Те предприеха много подходи и в крайна сметка най-накрая разработиха това, което днес е известно като RSA през април 1977 г.
EDS и публичен ключ
Електронен цифров подпис или EDS,е неразделна част от документи от електронен тип. Образува се при определена криптографска промяна в данните. Използвайки този атрибут, е възможно да се провери целостта на даден документ, неговата поверителност, както и да се установи кой е неговият собственик. Всъщност това е алтернатива на обичайния стандартен подпис.
Тази криптосистема (RSA криптиране) предлагапубличен ключ, как се различава от симетричния. Принципът на нейното функциониране е, че се използват два различни ключа - частен (криптиран) и също публичен. Първият се използва, за да генерира EDS и впоследствие да може да дешифрира текста. Втората е за действителното криптиране и проверка на цифровия подпис.
Използването на подпис позволява по-добро разбиране на RSA криптирането, пример за което може да бъде цитиран като обикновен класифициран документ "от невнимателни очи".
Каква е същността на алгоритъма?
Алгоритъмът RSA се състои от четири етапа:генериране на ключове, тяхното разпространение, криптиране и декриптиране. Както вече беше посочено, RSA криптирането включва публичен и частен ключ. Отвореното може да бъде известно на всеки и се използва за криптиране на съобщения. Същността му се състои във факта, че съобщенията, кодирани с помощта на публичен ключ, могат да бъдат декриптирани само в рамките на определен период от време с помощта на таен ключ.
От съображения за безопасност трябва да бъдат цели числаса произволно избрани и са еднакви по размер, но се различават по дължина с няколко цифри, за да затруднят факторинга. Идентичните числа могат да бъдат ефективно намерени с помощта на тест за простота, така че криптирането на информация непременно трябва да стане по-сложно.
Публичният ключ се състои от модул и публичен експонент. Private се състои от модул и частен индикатор, които трябва да се пазят в тайна.
RSA шифроване на файлове и слабости
Съществуват обаче редица хакерски механизми.проста RSA. При криптиране с ниски стойности и ниски стойности на числа, шифърът може лесно да бъде счупен, като се избере коренът на шифър текста над цели числа.
Тъй като RSA криптирането еС детерминиран алгоритъм (т.е. без произволен компонент), нападателят може успешно да стартира избрана атака с открит текст срещу криптосистема, като криптира вероятния открит текст под публичния ключ и проверява дали те са равни на шифъртекста. Криптосистемата се нарича семантично защитена, ако нападателят не може да направи разлика между две криптиране едно от друго, дори ако знае съответните текстове в разкритата форма. Както е описано по-горе, RSA не е семантично защитен, освен ако не е допълнен с други услуги.
Допълнителни алгоритми за криптиране и защита
За да избегнете горните проблеми, когаПрактическите изпълнения на RSA обикновено вграждат някаква форма на структурирано, рандомизирано подпълване преди криптиране. Това гарантира, че съдържанието не попада в обхвата на несигурен открит текст и че съобщението не може да бъде разкрито случайно.
Сигурност и криптиране на RSA криптосистемаинформацията се основава на два математически проблема: проблемът за факторирането на големи числа и самият проблем RSA. Пълното разкриване на шифъртекста и EDS в RSA се счита за неприемливо при предположението, че и двата проблема не могат да бъдат решени заедно.
Въпреки това, поради възможността за възстановяванепрости фактори, нападателят може да изчисли тайна цифра от публичния ключ и след това да дешифрира текста, използвайки стандартна процедура. Въпреки факта, че днес не е открит съществуващ метод за разлагане на големи числа на класически компютър, не е доказано, че той не съществува.
автоматизация
Инструмент, наречен Yafu, може да бъдеизползвани за оптимизиране на този процес. Автоматизацията в YAFU е модерна функция, която съчетава факторизационни алгоритми в интелигентна и адаптивна методология, която свежда до минимум времето за намиране на фактори на произволни входни числа. Повечето имплементации на алгоритъма са многонишкови, позволявайки на Yafu да се възползва в пълна степен от много- или многоядрени процесори (включително SNFS, SIQS и ECM). На първо място, това е инструмент за управляван команден ред. Времето, необходимо за намиране на фактора на криптиране с помощта на Yafu на обикновен компютър, може да бъде намалено до 103,1746 секунди. Инструментът обработва двоични файлове с капацитет от 320 бита или повече. Това е много сложен софтуер, който изисква известно техническо умение за инсталиране и конфигуриране. По този начин RSA криптирането C може да бъде уязвимо.
Опити за хакване в съвремието
През 2009 г. Бенджамин Муди използва битRSA-512 ключът работи за дешифриране на криптотекста в продължение на 73 дни, използвайки само добре познат софтуер (GGNFS) и среден настолен компютър (Athlon64 двуядрен при 1900 MHz). Както се вижда от този опит, за процеса на "пресяване" са били необходими малко по-малко от 5 гигабайта диск и около 2,5 гигабайта RAM.
Към 2010 г. най-големият факторизиран RSA номер е дълъг 768 бита (232 десетични цифри или RSA-768). Разкриването му продължи две години на няколкостотин компютъра едновременно.
На практика RSA ключовете са дълги -обикновено 1024 до 4096 бита. Някои експерти смятат, че 1024-битовите ключове могат да станат ненадеждни в близко бъдеще или дори вече да бъдат компрометирани от доста добре финансиран хакер. Малцина обаче ще спорят, че 4096-битовите ключове също могат да бъдат разкрити в обозримо бъдеще.
перспективи
Следователно обикновено се приема, че RSAе безопасно, ако номерата са достатъчно големи. Ако основното число е 300 бита или по-малко, шифърът и EDS могат да бъдат декомпозирани в рамките на няколко часа на персонален компютър с помощта на софтуер, който вече е свободно достъпен. Доказано е, че 512-битовите ключове могат да бъдат взломени още през 1999 г. с помощта на няколкостотин компютъра. Това е възможно в наши дни в продължение на няколко седмици, като се използва публично достъпен хардуер. По този начин е напълно възможно в бъдеще RSA криптирането да бъде лесно разкрито на пръстите и системата да стане безнадеждно остаряла.
Официално през 2003 г. беше поставена под въпрос сигурността на 1024-битовите ключове. В момента се препоръчва да бъде с дължина поне 2048 бита.