Что такое RSA?

RSA - алгоритм шифрования с открытым ключом, базирующийся на факторизации простых чисел.

Среди множества аббревиатур, связанных с компьютерами, есть отдельная каста акронимов - это термины, так или иначе связанные с вопросами информационной безопасности.

Как и у любой нормальной аббревиатуры, у RSA есть несколько вариантов расшифровок. Мы, как всегда, будем вести речь только об одном из них. RSA - это криптографический алгоритм с открытым ключом, название которого происходит от первых букв фамилий его создателей (Rivest, Shamir, Adleman). На сегодняшний день RSA является одним из самых популярных алгоритмов шифрования самых разнообразных данных, кроме того, его используют для цифровой подписи различных документов.

Для начала необходимо прояснить, что скрывается за словосочетанием "алгоритм с открытым ключом". Дело в том, что в таких системах шифрования используется два вида шифрующих ключей. Первый - это закрытый ключ, его используют при шифровании и дешифровании сообщения. Второй ключ - открытый, его можно передавать по незащищённым каналам связи, и используется он для того, чтобы можно было проверить достоверность электронной цифровой подписи. В основе подобных алгоритмов шифрования лежат односторонние функции - то есть, такие математические функции, которые являются однозначными (одному аргументу всегда соответствует одно-единственное значение такой функции), но которые при этом технически невозможно обратить, то есть вычислить по значению функции значение её аргумента.

В RSA используется факторизация простых чисел (разложение их на составные множители). Эта задача является, с точки зрения вычислений, односторонней, что и позволяет использовать её в алгоритме шифрования с открытым ключом. Алгоритм считается надёжным, когда берутся два случайных простых числа длиной не менее 512 битов каждое. Сами формулы, на которых базируется RSA-шифрование, приводить вряд ли имеет смысл, поскольку они достаточно сложны и вряд ли нужны каждому читателю.

 

Надёжность RSA во многом обеспечивается тем, что при использовании достаточно длинных чисел разложить их произведение на составные множители за приемлемое время пока что не удаётся, хотя и существует ряд атак, использующих специфичные просчёты при шифровании. Ожидается, что с созданием квантовых компьютеров от алгоритма RSA придётся отказаться, поскольку они будут в состоянии быстро раскладывать на множители длинные целые числа.

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

30 за 2009 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!