Обеспечение безопасности системы, RSA, Генерация ключа, Шифрование, Расшифровка - Программное обеспечение для пропускной системы на основе технологии NFC

В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении.

RSA

Для того, чтобы избежать перехват злоумышленниками пропусков, может быть использован криптографический алгоритм с открытым ключом RSA (Rivest, Shamir, Adleman). Алгоритм основан на асимметрии - умножить два больших простых числа не составляет труда, но задача факторизации является задачей большой сложности [6].

Генерация ключа

Ключи генерируются следующим образом [8]:

1. Выбрать два различных простых числа и. Такие числа могут быть эффективно найдены с помощью вероятностного теста Миллера-Рабина или Соловея-Штрассена.

2. Вычислить

3. Вычислить значение функции Эйлера от числа :

4. Выбрать целое число, взаимно простое с. Обычно выбираются простые числа Ферма (17, 257 или 65537), так как время, которое необходимо для шифрования с использованием быстрого возведения в степень, пропорционально количество битовых единиц в. Слишком малые значение e могут ослабить алгоритм [].

5. Вычислить такое, что, то есть мультипликативно обратное к числу по модулю.

6. Пара представляет открытый ключ.

7. Пара представляет закрытый ключ.

Шифрование

Предположим, что Боб хочет отправить сообщение Алисе. Сначала он кодирует сообщение в число. Затем берет открытый ключ Алисы и шифрует свое сообщение:

Расшифровка

Алиса получает сообщение и расшифровывает его с помощью своего приватного ключа : . Затем получает оригинальное сообщение.

Похожие статьи




Обеспечение безопасности системы, RSA, Генерация ключа, Шифрование, Расшифровка - Программное обеспечение для пропускной системы на основе технологии NFC

Предыдущая | Следующая