Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Описание SAFER K-64



Блок открытого текста делится на восемь байтовых подблоков: Въ В2,..., Въ В%. Затем подблоки обрабаты­ваются в ходе г этапов. Наконец подблоки подвергаются заключительному преобразованию. На каждом этапе используется два подключа: К2гЛ и К.

На Рис. 14-4 показан один этап SAFER K-64. Сначала над подблоками выполняется либо операция XOR, л и-бо сложени с байтами подключа К2гЛ. Затем восемь подблоков подвергаются одному из двух нелинейных пр е-образований:

у = 45х mod 257. (Если х = 0, то у = 0.)

у = log45 х. (Если х = 0, то у = 0.)


Вход этапа (8 байтов)
1_______ 2_______ 3_______ 4_______ 5_______ 6_______ 7_______ 8

[ [ [ \ \ [ \ \


                                                 
xor add add xor xor add add xor
                                                 
  45<->   log45   log45   45 ()   45 ()   log45   log45   45<->  

ГТТТТТТТ


К2и



add xor


xor add


add xor xor add


K2i


1234567 8
______________________ Выход этапа (8 байтов)_______________________

Рис. 14-4. Один этап SAFER.

Это операции в конечном поле GF(257), a 45 - элемент поля, являющийся примитивом. В реализациях SAFER K-64 быстрее выполнять поиск в таблице, чем все время рассчитывать новые результаты.

Затем подблоки либо подвергаются XOR, либо складываются с байтами подключа К. Результат этого дей­ствия проходит через три уровня линейных операций, целью которых является увеличение лавинного эффекта. Каждая операция называется псевдоадамаровым преобразованием (Pseudo-Hadamard Transform, PHT). Если на входе РНТ ах и а2, то на выходе:

ii = (2fli + а2) mod 256

Ъг = (fll + а2) mod 256

После г этапов выполняется заключительное преобразование. Оно совпадает с преобразованием, являющи м-ся первым действием каждого этапа. Над Ви В,, В5 и £8 выполняется XOR с соответствующими байтами по­следнего подключа, а В2, В3, В6 и В7 складываются с соответствующими байтами последнего подключа. В р е-зультате и получается шифротекст.

Дешифрирование представляет собой обратный процесс: сначала заключительное преобразование (с выч и-танием вместо сложения), затем г инвертированных этапов. Обратное РНТ (Inverse PHT, IPHT) - это:

аг = (*! - Ъг) mod 256

а2 = (-*! + 2Ъг) mod 256

Массей рекомендует использовать 6 этапов, но для большей безопасности количество этапов можно увел и-чить.

Генерировать подключи совсем не трудно. Первый подключ, Ки - это просто ключ пользователя. После­дующие ключи генерируются в соответствии со следующей процедурой:

i:,+1 = (X,«<30 + c,

Символ "«<" обозначает циклический сдвиг налево. Сдвиг выполняется побайтно, а с, является константой этапа. Если с„ - этоу-ый байт константы г'-го этапа, то можно рассчитать все константы этапов по следующей


формуле

c, = 4545"«9'+'') mod 256) mod 257 mod 257 Обычно эти значения хранятся в таблице.





Дата публикования: 2014-11-04; Прочитано: 226 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...