проблема as3crypto - PullRequest
       23

проблема as3crypto

2 голосов
/ 02 августа 2011

Я использую библиотеку as3crypto, чтобы заставить алгоритм AES работать над небольшим проектом, который я делаю. Вот как я получаю криптографическую функцию:

var cipher:ICipher = Crypto.getCipher("simple-aes-cbc", key, Crypto.getPad("pkcs5"));

Как видите, я пытаюсь использовать AES-128 с CBC и отступом pkcs5.

Если мои исходные данные имеют длину 128 байт, зашифрованные данные поступают как 160 байт. Может кто-нибудь сказать мне, почему эта проблема возникает?

Ниже приведена небольшая таблица, которую я скомпилировал из примера программы.
Длина исходной строки | Длина зашифрованной строки
15 | 32
16 | 48
31 | 48
32 | 64

Это должно быть так или я допустил какую-то ошибку.

1 Ответ

1 голос
/ 13 августа 2011

Это должно быть так. Вы запросили PKCS5 заполнение , которое всегда добавляет хотя бы один байт заполнения. И, конечно, входные данные должны быть округлены до некоторого количества целых блоков, потому что AES создает 16-байтовые блоки вывода. С половиной блока вы вообще не можете расшифровать входные данные.

...