home

HASH SHA1

introduzca un mensaje: (una cadena de caracteres)


esta es la codificación hash para una cadena vacía :
SHA-1("") = DA39 A3EE 5E6B 4B0D 3255 BFEF 9560 1890 AFD8 0709


funcionamiento:
- la función está preparada para aceptar caracteres
- la salida hash será siempre de 160 bits (160 bits/4 bits = 40 digitos hex)

La función hash utilizada es: SHA - 1 (Secure Hash Algorithm)
El mensaje x puede tener un tamaño máximo de 264 bits
La salida resumen o hash tendrá siempre 160 bits

PREPARACIÓN DE LA CADENA DE ENTRADA

    El valor de hash se compone de los siguientes pasos:
  1. x : x <-- x · 1 (Se añade 1bit al final del mensaje)
  2. Se determina la longitud del mensaje
  3. Se escribe la longitud al final del mensaje como número de 64 bits.
  4. Se divide el mensaje (incluidos los 64 bits que ocupa su longitud) en bloques de 512 bits.
  5. x = M1M2 ... Mn (bloques de 512 bits)

PROCESAMIENTO DE LA CADENA PREPARADA
Con cada uno de los bloques Mi de 512 bits se realizan los siguientes pasos:

  1. Mi=W0W1W2 ... W15 (16 bloques de 32 bits) para t=0,1,2,..,15
  2. Wt=S1(Wt-3 xor Wt-8 xor Wt-14 xor Wt-16) para t=16,17,..,79
SHA-1(x) = H0 H1 H2 H3 H4 (160 bits = 32 bits x 5)
    Las constantes de inicialización son:
  • H0 = 67452301
  • H1 = EFCDAB89
  • H2 = 98BADCFE
  • H3 = 10325476
  • H4 = C3D2E1F0
 constantes funciones
tKt ft(B,C,D)
0 .. 19 5A827999 B·C + (not B·D)
20 .. 39 6ED9EBA1 B xor C xor D
40 .. 59 8F1BBCDC B·C + B·D + C·D
60 .. 79 CA62C1D6 B xor C xor D