Что такое алгоритм s2k? - PullRequest
5 голосов
/ 17 мая 2010

Каково определение алгоритма s2k? Например, «PBKDF2 (SHA-1)» является алгоритмом s2k.

Вот код Ботана, относящийся к s2k:

  AutoSeeded_RNG rng;

  std::auto_ptr<S2K> s2k(get_s2k("PBKDF2(SHA-1)"));
  s2k->set_iterations(8192);
  s2k->new_random_salt(rng, 8);

  SymmetricKey bc_key = s2k->derive_key(key_len, "BLK" + passphrase);
  InitializationVector iv = s2k->derive_key(iv_len, "IVL" + passphrase);
  SymmetricKey mac_key = s2k->derive_key(16, "MAC" + passphrase);

1 Ответ

7 голосов
/ 17 мая 2010

Спецификаторы String-to-key (S2K) используются для преобразования строк парольной фразы в симметричный ключ шифрования / дешифрования ключей. Они используются в двух мест, в настоящее время: для шифрования секретной части закрытых ключей в секретный набор ключей, и для преобразования парольных фраз в ключи шифрования для симметрично зашифрованные сообщения.

Источник (с более подробной информацией): http://sunsite.icm.edu.pl/gnupg/rfc2440-3.html

...