什么是s2k算法?

时间:2010-05-16 21:06:34

标签: algorithm encryption botan s2k

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

1 个答案:

答案 0 :(得分:7)

  

String-to-key(S2K)说明符用于转换密码短语字符串      到对称密钥加密/解密密钥。它们分两种使用      地方,目前:加密私钥的秘密部分      私钥密钥,并将密码转换为加密密钥      对称加密的消息。

来源(详细信息):http://sunsite.icm.edu.pl/gnupg/rfc2440-3.html