grado.sti.hash
Class FuncionResumenEncadenada

java.lang.Object
  extended by grado.sti.hash.FuncionResumenEncadenada
All Implemented Interfaces:
FuncionResumenI

public class FuncionResumenEncadenada
extends java.lang.Object
implements FuncionResumenI

Función resumen que opera sobre sobre el mensaje aplicando una función de compresión a lo largo de diferentes etapas.

Cada etapa depende del resultado de la etapa anterior y del bloque del mensaje de entrada que corresponda.

Author:
Jorge López Hernández-Ardieta

Constructor Summary
FuncionResumenEncadenada()
           
 
Method Summary
 byte[] calcularResumen(byte[] mensaje, int tamanyoBloque, int tamanyoHash)
          Método que calcula el resumen del mensaje aplicando el esquema Merkle-Damgard simplificado.
 void inicializar()
          Método para la inicialización de la función resumen.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FuncionResumenEncadenada

public FuncionResumenEncadenada()
Method Detail

inicializar

public void inicializar()
Método para la inicialización de la función resumen. Se deberá invocar antes de poder operar con la función resumen.

Specified by:
inicializar in interface FuncionResumenI

calcularResumen

public byte[] calcularResumen(byte[] mensaje,
                              int tamanyoBloque,
                              int tamanyoHash)
                       throws java.lang.Exception
Método que calcula el resumen del mensaje aplicando el esquema Merkle-Damgard simplificado. La función de compresión calcula el XOR entre la salida de la etapa anterior (o el vector de inicialización IV en caso de ser la primera etapa) y el bloque correspondiente a la etapa dada. Posteriormente cifra mediante DES-ECB el resultado obtenido.

Specified by:
calcularResumen in interface FuncionResumenI
Parameters:
mensaje - Mensaje sobre el cual calcular el resumen
tamanyoBloque - Tamaño del bloque a emplear internamente por la función resumen
tamanyoHash - Tamaño del resumen a generar
Returns:
Resumen generado
Throws:
java.lang.Exception