реклама на сайте
подробности

 
 
> XTEA CBC mode, не сходится
toweroff
сообщение Apr 14 2014, 12:59
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый вечер

Что-то никак не пойму, как оно должно быть правильно.
Есть PHP, в нем вызываются функции MCrypt. Если в простом блочном режиме (ECB), то все нормально, что у меня в приложении, что на сайте в PHP
Решил запустить это дело в CBC режиме. В результате имею правильно зашифрованный первый блок, после чего начинаются различия.
Расшифровывается блок моим приложением правильно.

Собственно сама идея CBC везде разжевана:

шифрование:
0. Задание начального вектора
1. XOR блока с вектором
2. Шифрование блока
3. Обновление вектора зашифрованным блоком
4. Повторение пока есть данные с п.1

расшифровка:
0. Задание начального вектора
1. Сохранение блока во временную область
2. Расшифровка блока
3. XOR блока с вектором
4. Обновление вектора из временной области
5. Повторение пока есть данные с п.1

Но вот что-то не клеится... Или MCrypt как-то более хитро обновляет вектор для XTEA?
Тот же подход, но с AES-128, дает правильный результат
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
toweroff
сообщение Apr 14 2014, 16:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



В общем, как обычно - дело было не в бобине... а в порядке расположения байт в памяти

в общем модификация вылилась в следующие поправки:

шифрование
1. Вектор нужно перевернуть
3. Блок перевернуть

расшифровка
3. вектор перевернуть
4. временную область перевернуть

Можно закрыть тему
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016