RSA криптиране

RSA криптиране , при пълно криптиране Rivest-Shamir-Adleman , тип криптография с публичен ключ, широко използвана за криптиране на данни на електронна поща и други цифрови транзакции през Интернет. RSA е кръстен на изобретателите си Роналд Л. Ривест, Ади Шамир и Леонард М. Адлеман, които са го създали, докато са били във факултета в Масачузетския технологичен институт.

Таблицата на Vigenère При криптиране на свободен текст буквата на шифъра се намира в пресечната точка на колоната, оглавена от буквата на обикновения текст, и реда, индексиран от ключовата буква. За да дешифрирате шифротекста, буквата за открит текст се намира в началото на колоната, определена от пресичането на диагонала, съдържащ буквата на шифъра, и реда, съдържащ ключовата буква.Прочетете повече за тази тема Криптология: RSA криптиране Най-известната схема с публичен ключ е криптоалгоритъмът Rivest – Shamir – Adleman (RSA). В тази система потребителят тайно избира чифт главни ...

В системата RSA потребителят тайно избира чифт прости числа p и q, толкова големи, че факторирането на продукта n = p q е далеч извън прогнозните изчислителни възможности за живота на шифрите. От 2000 г. американските правителствени стандарти за сигурност изискват модулът да бъде с размер 1024 бита - т.е. p и q всеки трябва да бъде с размер около 155 десетични цифри, така че nе приблизително 310-цифрено число. Тъй като най-големите твърди числа, които понастоящем могат да бъдат факторизирани, са само половината от този размер и тъй като трудността на факторирането се удвоява приблизително за всяка допълнителна три цифри в модула, 310-цифрените модули се смятат за безопасни от факториране в продължение на няколко десетилетия.

След като е избрал p и q , потребителят избира произволно цяло число e по-малко от n и относително просто на p - 1 и q - 1, тоест, така че 1 е единственият общ фактор между e и продукта ( p - 1) ( q - 1). Това гарантира, че има друго число d, за което продуктът e d ще остави остатък от 1, когато се дели на най-малкото общо кратно на p - 1 и q - 1. С познаване на p и q , числото dможе лесно да се изчисли с помощта на евклидовия алгоритъм. Ако човек не знае p и q , е също толкова трудно да се намери или e, или d, като се има предвид другият, като коефициент n , който е основата за криптосигурността на алгоритъма RSA.

Етикетите d и e ще бъдат използвани за обозначаване на функцията, на която е поставен ключ, но тъй като ключовете са напълно взаимозаменяеми, това е само удобство за изложение. За да приложи канал за секретност, използвайки стандартната версия с два ключа на криптосистемата RSA, потребител A ще публикува e и n в удостоверена публична директория, но ще запази d в тайна. Всеки, който желае да изпрати лично съобщение до A, ще го кодира в числа по-малки от n и след това ще го шифрова с помощта на специална формула, базирана на e и n . A може да дешифрира такова съобщение въз основа на знанието d, но презумпцията - и доказателства досега - е, че за почти всички шифри никой друг не може да дешифрира съобщението, освен ако той също не може да вземе предвид n .

По същия начин, за да приложи канал за удостоверяване, A ще публикува d и n и ще запази e в тайна. В най-простия използването на този канал за потвърждаване на самоличността B може да се провери, че той е във връзка с А , като погледнете в директорията, за да намерите A декриптиране е г и го изпраща послание да бъдат криптирани. Ако получи обратно шифър, който дешифрира съобщението му за предизвикателство, използвайки d, за да го дешифрира, той ще знае, че той е създаден по всяка вероятност от някой, който знае e и следователно другият комуникант вероятно е A. Цифровото подписване на съобщение е по-сложна операция и изисква криптосигурна функция „хеширане“. Това е публично известна функция, която преобразува всяко съобщение в по-малко съобщение - наречено обобщение - при което всеки бит от дайджеста зависи от всеки бит на съобщението по такъв начин, че промяната дори на един бит в съобщението е подходяща за промяна , по криптосигурен начин, половината от битовете в дайджеста. Под криптосигурност се разбира, че е изчислително невъзможно всеки да намери съобщение, което ще създаде предварително назначен дайджест и също толкова трудно да намери друго съобщение със същия дайджест като познатото. За да подпишете съобщение - което може дори да не е необходимо да се пази в тайна - A кодира дайджеста с тайната e, който той придава към съобщението. След това всеки може да дешифрира съобщението с помощта на публичния ключ d, за да възстанови дайджеста, който той също може да изчисли независимо от съобщението. Ако двамата се съгласят, той трябва да заключи, че A е създал шифъра, тъй като само A е знаел e и следователно е могъл да шифрова съобщението.

Досега всички предложени криптосистеми с два ключа определят много висока цена за отделяне на канала за поверителност или тайна от канала за удостоверяване или подпис. Силно увеличеният обем на изчисленията, участващ в процеса на асиметрично криптиране / дешифриране, значително намалява капацитета на канала (бита в секунда на съобщената информация за съобщението). За приблизително 20 години за сравнително сигурни системи е възможно да се постигне пропускателна способност 1000 до 10 000 пъти по-висока за едноключови, отколкото за двуклавични алгоритми. В резултат на това основното приложение на криптографията с два ключа е в хибридни системи. В такава система алгоритъм с два ключа се използва за удостоверяване и цифрови подписи или за обмен на произволно генериран сесиен ключ, който да се използва с алгоритъм с един ключ с висока скорост за основната комуникация.В края на сесията този ключ се изхвърля.