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. Тем не менее, моя рекомендация является первым методом.
Вы также можете прочитать ответы на похожие вопросы:
- AES шифрование / дешифрование Delphi и PHP
- TPLockBox3 и PHP - шифрование AES в Delphi, расшифровка в PHP
- Turbopower Lockbox3 - Могу ли я контролировать вектор инициализации и заполнение для шифрования AES-256?
Также обратите внимание, что если вы используете режим цепочки ECB, то соли нет, если этот режим имеет функцию cfNoNounce автоматически. (ЕЦБ - это плохо. Не используйте его, кроме как в целях тестирования).
Сноска:
Я являюсь основным автором TPLockBox 3 и поддерживаю версию библиотеки по адресу:
Я предполагаю, что вы используете эту версию, а не SourceForge. Я ожидаю выпустить версию 3.6.0 7 ноября 2014 года.