Есть определенные обобщения, которые должны для создания блочного шифрования. Код, который вы показали , технически не является блочным шифром. Общие положения, такие как:
- В блочном шифре сообщение разбивается на блоки, каждый из которых затем зашифрована (т.е. как замещение на очень большие символах - 64-бит или более)
- Блок-шифр состоит из двух парных алгоритмов, один для шифрования, E и другого для дешифрования, E-1. Оба алгоритма принимают два входа: входной блок размера n бит и ключ размера k бит, что дает n-разрядный выходной блок. Для любого фиксированного ключа дешифрование является обратной функцией шифрования.
Шифрование в режиме блочных шифров (ECB, CBC) использует определенный поток:
- Первое, что блочный шифр должен сделать разорвать открытого текста в одинаковых по размеру блоков, как правило, 8 байты, например кодирование ASCII
imablock
.
- Шифрование открытого текста с использованием шифрования.
- Расшифруйте сообщение.
Выбор шифрования зависит от реализации.
Точка, , в то время как вы, возможно, следовали за потоком для шифрования-дешифрования, программа не удовлетворяет общности блочных шифров. Вам необходимо разбить ваше сообщение на блоки для реализации symmetric cipher.
Что вы реализовали, является простой шифрования и не блочные шифры.
Есть так много ссылок:
Надеется, что это помогает.:)
Если ключ состоит из совершенно случайных бит и не используется повторно, это на самом деле реализация [одноразового пула] (http://en.wikipedia.org/wiki/One-time_pad), а не блочный шифр. –
Если бы это был алгоритм, а не пример, это мог быть блочный шифр. Но это может быть просто одноразовый блокнот или что-то еще. –
как насчет того, если бы я был разделен на каждую цифру макроса, а затем делал то же, что и выше. Это будет тот же результат. Однако теперь я разбиваю их на «блоки» отдельных цифр и делаю XOR, а затем рекомбинирую их на другом конце. – sukhvir