Как зашифровать текст n-ой длинны шифром Фейстеля?

Рейтинг: 3Ответов: 1Опубликовано: 29.04.2015

Я хочу зашифровать текст n-ой длинны шифром Фейстеля. Как правильно разбить текст на блоки? Я преобразовал строку к массиву байтов UTF8, и прикинул что блок - это 1 элемент массива. Но не понимаю как его разбить на две части. Хочу узнать как правильно разбить строку на блоки(узнать какого размера должны быть блоки) и как их делить на две части. В интернете прошерстил немало информации, но везде приводится в примерах либо работа с байтами либо с целочисленными значения, работу со строкой так и не нашел.

Ответы

▲ 1

Нет никаких "байтов UTF8", есть просто байты. Строки, целые, UTF8 - интерпретация некой последовательности байт в памяти. Далее, размер блока в блочном алгоритме - характеристика алгоритма. AES, например, работает с блоками в 128 бит (16 байт), соответственно размер зависит от алгоритма. Разбиение данных на блоки - последовательная выборка из данных соответствующего числа байт. Деление блока на 2 части - абсолютно аналогичная операция.