Расшифрование
Входными значениями для расшифрования является строка октетов ED и параметры алгоритма RSA (n, d). В случае, если длина D не равна к, считается, что произошла ошибка, и на практике данные обычно передаются заново. Процесс расшифрования состоит из следующих шагов (рис. 1.18):
1. Преобразование строки октетов в целочисленное значение. В случае, если у не удовлетворяет неравенству, 0 < у < п, считается, что произошла ошибка;
2. RSA вычисления. Вычисляется значение х - ус mod n, где с = е или d;
3. Перевод целочисленного значения х в строку октетов ЕВ длины к;
4. Обратное форматирование строки ЕВ. Строка октетов ЕВ разбивается на составные части: ВТ, PS и D. В данном случае считается, что произошла ошибка, если:
- строка ЕВ не может быть однозначно «разобрана»;
- строка PS содержит меньше 8 октетов либо ее содержимое не соответствует значению ВТ.
- расшифрование происходит на открытом ключе и ВТ не равно 00 или 01 или процесс осуществляется на секретном ключе и ВТ не равно 02.
Если проверки завершились успешно, расшифрованными данными является строка D.