TurboPower Lockbox 3 удалить соль

В ответах на этот вопрос я нашел ответ: TurboPower LockBox 3: AES128 и заполнение ISO 10126

(2) Для большинства режимов сцепления TPLB3 автоматически добавляет соль. Обычно это хорошая вещь, но если вам это нужно без, вы можете удалить опцию для этого.

Как я могу это сделать? А именно, мне нужно шифрование, которое имеет ту же длину зашифрованного текста, что и длина обычного текста.

1 ответ

Решение

Предполагая, что вы не используете ECB, самый простой способ - удалить первые 8 байтов зашифрованного текста. Первые 8 байтов (64 бита) - это одноразовый номер соли. Это также младшие 64 бита IV. Старшие 64 бита IV равны нулю.

Пожалуйста, обратите внимание: не солить ваши сообщения - это очень плохая практика и слабость в безопасности. (Обратитесь к Википедии для получения дополнительной информации). Вы говорите, что вам нужно шифрование, которое имеет ту же длину зашифрованного текста, что и длина открытого текста. Это в основном говорит, что вы хотите слабое шифрование. Это зависит от вас, но мой совет - тщательно продумайте ваши требования, прежде чем продолжить.

Альтернативный метод - создать собственный режим связывания и зарегистрировать его в криптографической библиотеке. Например, если вам нужен CBC без соли, создайте потомок класса из TCBC (модуль TPLB3.CBC) и просто переопределите функцию ChainingFeatures(), чтобы добавить функцию cfNoNounce. См. Встроенные комментарии в блоке TPLB3.BlockCipher. Тем не менее, моя рекомендация является первым методом.

Вы также можете прочитать ответы на похожие вопросы:

Также обратите внимание, что если вы используете режим цепочки ECB, то соли нет, если этот режим имеет функцию cfNoNounce автоматически. (ЕЦБ - это плохо. Не используйте его, кроме как в целях тестирования).

Сноска:

Я являюсь основным автором TPLockBox 3 и поддерживаю версию библиотеки по адресу:

Я предполагаю, что вы используете эту версию, а не SourceForge. Я ожидаю выпустить версию 3.6.0 7 ноября 2014 года.

Другие вопросы по тегам