|
|
Компьютеры - ACE Encrypt - Схема шифрования30 апреля 2011
Оглавление: 1. ACE Encrypt 2. Безопасность 3. Схема шифрования 4. Схема цифровой подписи 5. Замечания
Пара ключей шифрования
В схеме шифрования ACE задействованы два типа ключей:
открытый ключ ACE: .
закрытый ключ ACE: .
Для заданного параметра размера , такого что , компоненты ключей определяются следующим образом:
256-битное простое число.
m-битное простое число, такое что .
элементы .
элементы .
элементы , для которых и , где и .
Генерация ключа
Алгоритм. Генерация ключа для схемы шифрования ACE.
Вход: параметра размера , такой что .
Выход: пара открытый/закрытый ключ.
- Сгенерировать случайное простое число , такое что .
- Сгенерировать случайное простое число , , такое что .
- Сгенерировать случайное целое число , такое что .
- Сгенерировать случайные целые числа и
- Вычислить следующие целые числа в :
,
,
,
,
.
- Сгенерировать случайные байтовые строки и , где и .
- Вернуть пару открытый/закрытый ключ
Представление шифротекста
Шифротекст в схеме шифрования ACE имеет вид
,
где компоненты определяются следующим образом:
целые числа из .
элемент .
элемент .
назовём преамбулой, а криптограммой. Если текст строка из байт, то тогда длина равна .
Необходимо ввести функцию , которая представляет шифротекст в виде байтовой строки, а также обратную функцию . Для целого , символьной строки , целых , и байтовой строки ,
.
Для целого , байтовой строки , для которой ,
.
Процесс шифрования
Алгоритм. Ассимметричный процесс шифрования ACE.
Вход: открытый ключ и байтовая строка .
Выход: байтовая строка шифротекст , полученный из .
- Сгенерировать случайное .
- Сгенерировать преамбулу шифротекста:
- Сгенерировать .
- Вычислить , .
- Вычислить ; заметим, что .
- Вычислить .
- Вычислить ключ для операции симметричного шифрования:
- , .
- Вычислить .
- Вычислить криптограмму .
- Закодировать шифротекст:
.
- Вернуть .
Перед запуском процесса симметричного шифрования входное сообщение разбивается на блоки , где каждый блок кроме, возможно, последнего имеет 1024 байт. Каждый блок шифруется потоковым шифратором. Для каждого зашифрованного блока вычисляется 16-байтовый код аутентификации. Получаем криптограмму
.
. Заметим, что если , то .
Алгоритм. Симметричный процесс шифрования ACE.
Вход:
Выход: , .
- Если , тогда вернуть .
- Проинициализировать генератор псевдо-случайных чисел:
- Сгенерировать ключ :
.
- .
- Пока , выполнять следующее:
- .
- Сгенерировать значения масок для шифрования и MAC:
- .
- .
- Зашифровать текст: .
- Сгенерировать аутентификационный код сообщения:
- Если , тогда ; иначе .
- .
- Обновить шифротекст: .
- .
- Вернуть .
Процесс дешифрования
Алгоритм. Процесс дешифрования ACE.
Вход: открытый ключ и соответствующий закрытый ключ , байтовая строка .
Выход: Расшифрованное сообщение .
- Дешифровать шифротекст:
- Если , тогда вернуть .
- Вычислить:
;
заметим, что , где .
- Подтвердить преамбулу шифротекста:
- Если или или , тогда вернуть .
- Если , тогда вернуть .
- .
- Если , тогда .
- Вычислить ; заметим, что .
- Если , тогда .
- Если , тогда вернуть .
- Вычислить ключ для процесс симметричного дешифрования:
- , .
- Вычислить .
- Вычислить ;заметим, что может вернуть .
- Вернуть .
Алгоритм. Операция дешифрования .
Вход:
Выход: Расшифрованное сообщение .
- Если , тогда вернуть .
- Проинициализировать генератор псевдо-случайных чисел:
- Сгенерировать ключ :
.
- .
- Пока , выполнять следующее:
- .
- Если , тогда вернуть .
- Сгенерировать значения масок для шифрования и MAC:
- .
- .
- Подтвердить аутентификационный код сообщения:
- Если , тогда ; иначе .
- .
- Если , тогда вернуть .
- Обновить текст: .
- .
- Вернуть .
Просмотров: 4058
|