Utilizzo di ED448 (o di altre curve ellittiche) per l'hashing della password

1

Stavo pensando a uno schema di hashing delle password che avrebbe funzionato in modo approssimativo come segue.

for i:=0 to n do
  password = HASH(password)

private_key = GenerateRandomKey(ED448)
public_key = GetPublicKey(ED448, private_key)
signature = Sign(private_key, password)
secure_zero(private_key)
hash = "$"+n+"$" + Base64(public_key) + "$" + Base64(signature) + "$"

Durante la verifica della password, il verificatore ripeterà il passaggio di hashing della password e verificherà se la firma verifica i dati forniti.

Modifica: mi sono appena reso conto che la stessa cosa poteva essere ottenuta semplicemente usando l'output PBKDF2 (strong salt salt e password) come chiave privata, moltiplicandolo e pubblicando salt e public key come hash della password.

Ci sono dei problemi con questo schema? In pratica, stavo pensando di usare qualcosa come PBKDF2-HMAC-SHA256 come hash e includendo anche salt con questo.

    
posta cmouse 04.05.2017 - 20:03
fonte

0 risposte

Leggi altre domande sui tag