2010-05-16 96 views
5

s2k算法的定義是什麼?例如,「PBKDF2(SHA-1)」是s2k算法。什麼是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); 

回答

7

字符串到密鑰(S2K)說明符被用於口令字符串 轉換成對稱密鑰加密/解密密鑰。它們在兩個 位置中使用,當前爲:對私鑰匙中的私鑰的祕密部分進行加密,並將密碼轉換爲對稱加密郵件的加密密鑰。

源(有詳細介紹):http://sunsite.icm.edu.pl/gnupg/rfc2440-3.html