En criptografía , un hash muy suave (VSH) es una función hash criptográfica eficiente de n bits desarrollada en 2005 por Scott Kotini, Lestra Arjen y Ron Steinfeld. Es resistente a las colisiones bajo el supuesto de una alta complejidad computacional para encontrar una raíz cuadrada no trivial de un módulo de número muy suave . [1] El concepto de una función muy suave significa que el límite de suavidad es una función polinomial fija de n. Este algoritmo hash supone una sola multiplicación por bit de mensaje y utiliza aritmética de tipo RSA , lo que elimina la necesidad de almacenar el código de función hash por separado. Por lo tanto, este algoritmo es útil en entornos integrados donde el espacio de código es limitado. También se puede usar una función hash muy fluida para crear una función de entrada secreta unidireccional que se puede aplicar en esquemas de firma para acelerar la verificación y mejorar la privacidad.
Para VSH, el principal problema matemático es la resistencia a la colisión, que consiste esencialmente en sacar raíces módulo n de números muy suaves, llamados raíces muy suaves (VSSR). A su vez, el problema de calcular un módulo de raíz muy suave está estrechamente relacionado con la factorización de números enteros utilizando el método de tamiz de campo numérico general . [2] [3]
Para constantes fijas c y n , un entero m se llama un número muy suave si todos los factores primos de m son como máximo (log n ) c . Un entero b es un módulo n cuadrático muy suave si el factor primo más grande b es como máximo (log n ) c y existe un entero x tal que . El entero x se llama raíz muy cuadrada módulo b .
Solo nos interesan las raíces donde x 2 ≥ n . Ya que, si x 2 < n , entonces la raíz se puede calcular fácilmente usando un campo de característica 0. Calcular una raíz muy suave es el siguiente problema: sea n el producto de dos números primos de aproximadamente el mismo tamaño y sea , y Sea una secuencia de números primos. Dado n , es necesario encontrar , tal que al menos uno de e 0 ,…, e k sea impar.
Que se fijen los siguientes parámetros: y .
Luego , un número muy suave de los parámetros dados, porque es mayor que todos los factores primos . Por otro lado, no es un número muy suave en y .
Un entero es un módulo cuadrático muy suave porque es muy suave (de ) y existe tal que (mod ). Esta es una raíz cuadrada trivial porque , por lo tanto, el módulo no se tiene en cuenta al elevar al cuadrado.
Un número entero también es un resto de módulo cuadrático . Todos los factores primos son menores que 7.37, y todos los módulos de raíces cuadradas son iguales , ya que (mod ). La tarea de VSSR es encontrar por datos y . Y computacionalmente tan difícil como la factorización .
Sea una secuencia de números primos. Sea la longitud del bloque, el entero más grande, tal que . Deje que haya un mensaje de bits que consista en , que debe tener un hash, con .Para calcular el hash [4] :
La función del paso 4 se denomina función de compresión.
Sean x, y y z cadenas de tres bits de igual longitud, donde z consiste solo en cero bits y satisface x Y y = z. Entonces H(z)H(x O y) ≡ H(x)H(y) (mod n). VSH es inferior al clásico ataque de almacenamiento temporal que se aplica a hashes multiplicativos y aditivos. [ocho]
Se han propuesto varias mejoras, aceleraciones y variantes más eficientes de VSH [9] . Ninguno de ellos cambia el concepto básico de la función:
VSH-DL - Logaritmo discreto VSH que no tiene una función de entrada secreta unidireccional , su seguridad depende de la dificultad de encontrar el logaritmo discreto módulo a número primo p .
El logaritmo discreto de número muy suave (VSDL) es el logaritmo discreto de algún VSN módulo algún número n .
De manera similar a la notación presentada anteriormente, tomamos como el -ésimo número primo. Sean una constante fija y , sean números primos tales que y . Problema VSDL: dado para encontrar números enteros tales que , donde para todos , además, al menos uno de ellos es distinto de cero.
La suposición de VSDL es que no existe un algoritmo probabilístico de tiempo polinomial que resuelva VSDL. Existe una estrecha relación entre la complejidad de calcular un VSDL y la complejidad de calcular un logaritmo módulo discreto .
Funciones y la competencia NIST SHA-3] // Pista de criptógrafos en la Conferencia RSA. - 2010. - S. 5 . Archivado desde el original el 11 de agosto de 2017.