RC6 является полностью параметризуемым семейством алгоритмов шифрования. RC6 правильнее указывать как RC6-w/r/b, где w - длина слова в битах, r - число раундов, b - длина ключа. Обычно используются значения w = 32 и r = 20.
Рис. 6.3. Алгоритм RC6
Алгоритм является сетью Фейштеля с 4 ветвями смешанного типа: два четных подблока используются для одновременного изменения содержимого двух нечетных подблоков. Затем производится обычный для сети Фейштеля сдвиг на одно слово, что меняет четные и нечетные подблоки местами.
f (x) = x (2x + 1)
|
a + b - сложение целых по модулю 2w
|
a - b - вычитание целых по модулю 2w
|
a b - XOR w-битных слов
|
a × b - умножение целых по модулю 2w
|
a <<< b - ротация влево на b бит w-битного слова а
|
a >>> b - ротация вправо на b бит w-битного слова а
|
S [0, …, 2r + 3] - w-битные подключи раунда
|
7. Лекция: Криптография с открытым ключом: Рассматриваются основные понятия, относящиеся к криптографии с открытым ключом, а также способы их использования: шифрование, создание и проверка цифровой подписи, обмен ключа. Рассмотрены алгоритмы RSA и Диффи-Хеллмана.