2010-05-16 11 views
5

¿Cuál es la definición de un algoritmo s2k? Por ejemplo, "PBKDF2 (SHA-1)" es un algoritmo s2k.¿Qué es un algoritmo s2k?

Aquí hay un código Botan que se refiere a 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); 

Respuesta

7

String-a-clave (S2K) especificadores se utilizan para convertir las cadenas de frase de contraseña en claves de cifrado/descifrado de clave simétrica. Se usan en dos lugares , actualmente: para cifrar la parte secreta de las claves privadas en el llavero privado , y para convertir las frases de acceso a las claves de cifrado para los mensajes codificados simétricamente .

Fuente (con más detalles): http://sunsite.icm.edu.pl/gnupg/rfc2440-3.html

Cuestiones relacionadas