diff --git a/src/crypto/duniter_key.rs b/src/crypto/duniter_key.rs
index 792efc75ee6d5ef91b0619e6ead25b2a524c665f..eba309304a728862a91f98261a00a7eb36d2908a 100644
--- a/src/crypto/duniter_key.rs
+++ b/src/crypto/duniter_key.rs
@@ -10,6 +10,9 @@ use crate::crypto::duniter_signature::DuniterSignature;
 
 const PUBLIC_KEY_LEN: usize = 32;
 const SECRET_KEY_LEN: usize = 64;
+const SCRYPT_N: u8 = 12;
+const SCRYPT_R: u32 = 16;
+const SCRYPT_P: u32 = 1;
 
 /// The main functional class for handle Duniter crypto.
 pub struct DuniterKey {
@@ -54,7 +57,7 @@ impl DuniterKey {
 fn derive_seed(salt: &str, passwd: &str) -> Result<Output, Box<dyn Error>> {
     let saltb64 = base64::encode(salt); // convert utf8 to base64
     let salt = SaltString::new(saltb64.as_str())?; // expectes base64-encoded str
-    let params = Params::new(12, 16, 1)?;
+    let params = Params::new(SCRYPT_N, SCRYPT_R, SCRYPT_P)?;
     let password_hash = Scrypt.hash_password(passwd.as_bytes(), None, params, &salt)?;
     Ok(password_hash.hash.expect("Seed should have been generated"))
 }
\ No newline at end of file