Я просто хотел DES 4096 байт данных с ключом 128 бит - PullRequest
4 голосов
/ 10 января 2011

... и то, что милые ребята из OpenSSL с благодарностью предоставляют мне, это this. :)

Теперь, , поскольку вы не должны догадываться при использовании криптографии , я прихожу сюда для подтверждения: какой вызов функции я хочу использовать?


Что я понял

128-битный ключ имеет размер 16 байт, поэтому я будунужен двойной DES (2 × 8 байт).Это оставляет мне только несколько вызовов функций:

void DES_ede2_cfb64_encrypt(const unsigned char *in,
       unsigned char *out, long length, DES_key_schedule *ks1,
       DES_key_schedule *ks2, DES_cblock *ivec, int *num, int enc);

void DES_ede2_cbc_encrypt(const unsigned char *input,
       unsigned char *output, long length, DES_key_schedule *ks1,
       DES_key_schedule *ks2, DES_cblock *ivec, int enc);

void DES_ede2_cfb64_encrypt(const unsigned char *in,
       unsigned char *out, long length, DES_key_schedule *ks1,
       DES_key_schedule *ks2, DES_cblock *ivec, int *num, int enc);

void DES_ede2_ofb64_encrypt(const unsigned char *in,
       unsigned char *out, long length, DES_key_schedule *ks1,
       DES_key_schedule *ks2, DES_cblock *ivec, int *num);

В этом случае я думаю функцию, которую я хочу вызвать DES_ede2_cfb64_encrypt, хотя я не уверен -Я определенно не нуждаюсь здесь в заполнении, и мне нужно заботиться о том, что такое ivec и num, и как я хочу их генерировать ...

Что такоеЯ пропал?

1 Ответ

3 голосов
/ 10 января 2011

DES_ede2_cbc_encrypt - нормальный выбор.Что касается ivec (8-байтовый массив), одна из его функций состоит в том, чтобы предотвратить предсказуемое шифрование одного и того же сообщения в один и тот же зашифрованный текст;если злоумышленник может определить из двух зашифрованных текстов, шифруют ли они один и тот же открытый текст (или только одни и те же исходные блоки), он может использовать эту информацию.Таким образом, вы используете разные ivec для каждого сообщения;это не должно быть секретом, просто другое.Если вы действительно уверены, что вам это не нужно, вы можете установить его на восемь нулевых байтов.(Например, если вы просто используете ключ один раз, это безопасно.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...