Usando ED448 (u otras curvas elípticas) para el hashing de contraseñas

1

Estaba pensando en un esquema de hashing de contraseña que funcionaría aproximadamente de la siguiente manera.

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) + "$"

Al verificar la contraseña, el verificador repetiría el paso de hashing de la contraseña y vería si la firma verifica los datos proporcionados.

Editar: Acabo de darme cuenta de que esto mismo podría lograrse con solo usar la salida PBKDF2 (salteado y contraseña aleatorios fuertes) como clave privada, multiplicarla y publicar sal y la clave pública como hash de contraseña.

¿Hay algunos problemas con este esquema? En la práctica, estaba pensando en usar algo como PBKDF2-HMAC-SHA256 como hash e incluir sal con esto también.

    
pregunta cmouse 04.05.2017 - 20:03
fuente

0 respuestas

Lea otras preguntas en las etiquetas