Блочный шифр с 8-битными блоками означает, что каждый входной блок может быть зашифрован до 256 возможных значений - это означает, что у злоумышленника есть шанс 1/256 угадать входное значение. Оказывается, очень трудно безопасно использовать такой алгоритм. Тем не менее, возможно определить блочный шифр для 8-битных блоков и сделать это "идеально"; только не ожидайте, что это будет вообще полезно.
Существуют также «блочные» шифры, известные как «потоковые шифры», которые шифруют данные «побайтно» (или даже «побитово»); большинство из них являются просто псевдослучайными генераторами, которые вырабатывают произвольное количество байтов из ключа. Этот сгенерированный поток просто нужно объединить с данными для шифрования с помощью XOR. Традиционный потоковый шифр - RC4; но были разработаны новые и лучшие потоковые шифры.
Блочный шифр сам по себе является математическим инструментом. Чтобы фактически зашифровать данные, блочный шифр должен использоваться правильно. Ключевые слова: сцепление и заполнение . Цепочка - это определение того, что на самом деле входит в блочный шифр и что делать с выводом. Заполнение - это добавление нескольких байтов к данным обратимым образом, чтобы длина дополненного сообщения соответствовала выбранному режиму цепочки. Традиционный режим цепочки называется CBC . Более новым (и, возможно, лучшим) режимом цепочки является CTR (та же ссылка), который имеет дополнительный бонус, позволяющий избежать необходимости заполнения (CTR просто превращает блочный шифр в потоковый шифр).
Что касается блочных шифров, вы должны использовать AES вместо TripleDES. Это быстрее, безопаснее и соответствует американским стандартам.