6

s2k 算法的定义是什么?例如,“PBKDF2(SHA-1)”是一种 s2k 算法。

下面是一些引用 s2k 的 Botan 代码:

  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);
4

1 回答 1

7

字符串到密钥 (S2K) 说明符用于将密码字符串转换为对称密钥加密/解密密钥。它们目前用于两个地方:加密私钥环中私钥的秘密部分,以及将密码短语转换为对称加密消息的加密密钥。

来源(有更多细节):http ://sunsite.icm.edu.pl/gnupg/rfc2440-3.html

于 2010-05-16T21:10:34.560 回答