Función hash de criptografía ligera
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 20 de octubre de 2020; la verificación requiere
1 edición .
La función hash de la criptografía ligera es una función hash criptográficamente fuerte utilizada en la criptografía "ligera" [1] . Actualmente, la relevancia de tales funciones hash ha aumentado dramáticamente debido a la posibilidad de usarlas en muchas áreas de actividad (desde RFID hasta Internet de las cosas ) y en la intersección de disciplinas ( Blockchain e IoT ) . En vista de las especificaciones del uso de estas funciones hash, están sujetas a requisitos adicionales . La mayoría de las funciones hash modernas utilizan la estructura Merkle-Damgor y la función esponja como base .
El concepto de criptografía ligera
La criptografía ligera es una sección de la criptografía que considera algoritmos para dispositivos que no cuentan con los recursos suficientes para implementar cifrados existentes , funciones hash , firmas electrónicas , etc. del paradigma casa inteligente , donde muchos dispositivos de pequeño tamaño, con poder de cómputo limitado, memoria limitada y bajo consumo de energía se comunican entre sí, intercambiando información confidencial del inquilino, para realizar sus tareas [3] [4] . También son de particular interés los algoritmos para etiquetas RFID [5] . Para evitar que los atacantes utilicen la información privada del usuario, se requiere un desarrollo y optimización especiales de algoritmos que puedan trabajar con recursos limitados y proporcionen un nivel adecuado de seguridad [4] .
Funciones hash
Aplicación
Para que el destinatario se asegure de que se le envió un mensaje desde el destinatario real, se envía junto con una firma electrónica. En la práctica, no es el mensaje lo que se firma, sino su suma hash, lo que puede reducir significativamente los recursos computacionales para crear una firma (dado que la suma hash suele ser mucho menor que la clave) y aumentar la fuerza criptográfica (un atacante no podrá encontrar los datos originales solo a partir del hash) [6] . Las funciones hash se utilizan en la tecnología blockchain para determinar el bloque que se agregará a la cadena general. Por ejemplo: para agregar un nuevo bloque a la plataforma Bitcoin , debe encontrar una suma de hash SHA-256 menor que un cierto número objetivo. El siguiente bloque creado tendrá el hash del anterior [7] . Además, las funciones hash, en particular las funciones hash de la criptografía ligera, se pueden aplicar en la intersección de disciplinas. Por ejemplo: se utilizan en la cadena de bloques LSB, que está diseñada para su uso en Internet de las cosas [8] .
Además, las sumas hash se utilizan al comprobar las contraseñas. Si los sistemas operativos almacenaran contraseñas en archivos, entonces los crackers que usaran acceso no autorizado podrían obtener acceso a ellos, extrayendo el hash, a su vez, no les daría nada [9] .
Requisitos
Los requisitos básicos para las funciones hash criptográficas ligeras son los mismos que para las funciones hash criptográficas normales [10] :
- Resistencia a la restauración de la primera preimagen : en presencia de una suma hash , la incapacidad de calcular
![{\ estilo de visualización H (m)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfd3d7057fc840a3a5555eb6d0a45df49f111ada)
![metro](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
- Resistencia a la restauración de los segundos prototipos - ante la imposibilidad de encontrar , tal que
![metro](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![norte](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
![{\ Displaystyle H (n) = H (m)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cf442c5f62c0e1811764d116e232df8dd84f766a)
- La resistencia a la colisión es la imposibilidad de encontrar y tal que [11]
![metro](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![norte](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
![{\ Displaystyle H (n) = H (m)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cf442c5f62c0e1811764d116e232df8dd84f766a)
Teniendo en cuenta las capacidades de los dispositivos informáticos en los que se producirán los algoritmos, así como las tareas que deben realizarse, se agregan requisitos especiales a los requisitos básicos:
- Bajo consumo de energía
- Tamaño de estado interno pequeño [2]
Ataques a funciones hash
- Ataque de "cumpleaños" : utilizado para buscar una colisión del segundo tipo , explota la paradoja de los cumpleaños . Para un ataque exitoso, la cantidad de llamadas a la función hash debe ser aproximadamente , y para computadoras cuánticas [12]
![{\displaystyle 2^{\frac{n}{2}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/55993043da49805ef050bf2e468740fa450214b5)
![{\ estilo de visualización 2 ^ {\ frac {n} {3}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cc993a4b8836c3ec411a7a5aa4d58a5f159ee2c2)
- Ataque de cubo : efectivo para ataques a funciones hash y cifrados que usan LFSR [13]
- Ataque lineal ( criptoanálisis lineal en inglés ): diseñado para funciones hash que utilizan cifrados de bloque y flujo [14]
- Ataques diferenciales ( criptoanálisis diferencial en inglés ): efectivos para funciones hash con cifrados de bloque [15]
- El ataque boomerang es un ataque diferencial avanzado que se ha aplicado con éxito a las funciones hash [16] . Entonces, por ejemplo, para encontrar colisiones SHA-0 usando este ataque, tomó solo una hora en una PC normal [17]
- Ataque de extensión de mensajes : utilizado para funciones hash basadas en la estructura Merkle-Damgor [18] . La esencia del ataque es agregar nuevos bits al final del mensaje. Las características vulnerables incluyen: MD5 y SHA-1 [19] [20]
- El ataque de colisión múltiple de Zhu [21] está dirigido a funciones hash que utilizan la función de esponja como base , que es común entre las funciones de criptografía ligera.
- Ataque de rebote : diseñado para algoritmos similares a AES [22]
- Criptoanálisis rotacional :creado para descifrar funciones hash basadas en ARX ( comparación de módulos , desplazamiento de bits , XOR ) [23]
Tipos de hashes
Idea principal
Supongamos que se nos da un vector de inicialización : (fijo y abierto), una función de compresión que se asigna a y un mensaje , donde un bloque de bits, si no un múltiplo de , entonces rellenamos el último bloque con 1 y ceros [18] . Por ejemplo: si
![IV](https://wikimedia.org/api/rest_v1/media/math/render/svg/05e02bc314180f8770fd135cd0e80ac4835a676d)
![\{0,1\}^{n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3cc07e486d73e18382d0d8d205149f0923ed0586)
![h](https://wikimedia.org/api/rest_v1/media/math/render/svg/b26be3e694314bc90c3215047e4a2010c6ee184a)
![{\displaystyle \{0,1\}^{n}\times \{0,1\}^{k))](https://wikimedia.org/api/rest_v1/media/math/render/svg/0c52297f4bbcbc3bdb82649d122ad93e383604a3)
![\{0,1\}^n](https://wikimedia.org/api/rest_v1/media/math/render/svg/3cc07e486d73e18382d0d8d205149f0923ed0586)
![{\displaystyle m=(m_{0},m_{1},...,m_{L-1})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cb320b7046fe128bc8a456f657a855ec6cfd6fc1)
![mi](https://wikimedia.org/api/rest_v1/media/math/render/svg/95ec8e804f69706d3f5ad235f4f983220c8df7c2)
![k](https://wikimedia.org/api/rest_v1/media/math/render/svg/c3c9a2c7b599b37105512c5d570edc034056dd40)
![metro](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![k](https://wikimedia.org/api/rest_v1/media/math/render/svg/c3c9a2c7b599b37105512c5d570edc034056dd40)
,
luego alimentamos el bloque como entrada:
![2](https://wikimedia.org/api/rest_v1/media/math/render/svg/901fc910c19990d0dbaaefe4726ceb1a4e217a0f)
,
donde se agrega uno para evitar colisiones. Ahora podemos definir la función hash :
![H](https://wikimedia.org/api/rest_v1/media/math/render/svg/75a9edddcca2f782014371f75dca39d7e13a9c1b)
Algoritmo mejorado
Para mejorar la protección contra ataques basados en la expansión del mensaje de entrada, puede agregar un nuevo bloque, que registrará la longitud del mensaje [18] . En este caso será:
También hay una optimización que le permite ahorrar recursos de memoria (que es importante para tareas de criptografía livianas): si hay suficiente espacio en el último bloque para registrar la longitud del mensaje, se escribirá allí:
La función de esponja se usa ampliamente en criptografía, se usa para crear algoritmos para PRNG [24] , cifrados de flujo y bloque , y funciones hash [25] .
Idea principal
El tamaño de la esponja se puede dividir en 2 partes: tasa de bits y potencia . Tras la inicialización, el estado interno de la esponja se restablece a cero; el mensaje se rellena con ceros para que su tamaño sea un múltiplo de .
![b](https://wikimedia.org/api/rest_v1/media/math/render/svg/f11423fbb2e967f986e36804a8ae4271734917c3)
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
![C](https://wikimedia.org/api/rest_v1/media/math/render/svg/86a67b81c2de995bd608d5b2df50cd8cd7d92455)
![metro](https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc)
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
Los siguientes son los pasos:
![2](https://wikimedia.org/api/rest_v1/media/math/render/svg/901fc910c19990d0dbaaefe4726ceb1a4e217a0f)
- Absorción
- Los primeros bits del estado interno son reemplazados por el resultado de la operación XOR de estos bits y el siguiente bloque del mensaje original
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
- El estado interno es manejado por la función de permutación.
- apretando
- Se leen los primeros bits del estado interno de la esponja .
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
- El estado interno es manejado por la función de permutación [24] [25]
P-esponja y T-esponja
La esponja P (permutación) y la esponja T (transformacional) son esponjas que usan permutación aleatoria y PRNG, respectivamente, para actualizar su estado interno. En el artículo en el que se introdujeron las funciones de esponja, se mostró que las esponjas con vector de potencia , tasa de bits y tamaño , que reciben mensajes de longitud , son tales que para varios ataques, en promedio, se requiere el siguiente número de llamadas a la función de actualización (se dan potencias de dos): [26] :
![C](https://wikimedia.org/api/rest_v1/media/math/render/svg/86a67b81c2de995bd608d5b2df50cd8cd7d92455)
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
![norte](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
![{\displaystyle m<2^{\frac{c}{2))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1bb6161887ae64e59d75ae98d88e17a121addffd)
Esponja
|
primer prototipo
|
Segundo prototipo
|
colisión
|
Encontrar un ciclo
|
T-esponja
|
|
|
|
|
P-esponja
|
|
|
|
|
Esponja JH
La esponja JH se llama así porque tiene una estructura similar a la función hash JH .
Su etapa de absorción consta de tres partes:
- Los primeros bits del estado interno son reemplazados por el resultado de la operación XOR de estos bits y el siguiente bloque del mensaje original
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
- El estado interno es manejado por la función de permutación.
- Los últimos bits del estado interno son reemplazados por el resultado de la operación XOR de estos bits y el siguiente bloque del mensaje original [27]
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
Ejemplos de funciones hash en criptografía ligera
GLUÓN
GLUON es una función hash que utiliza una esponja T basada en los cifrados de flujo basados en software X-FCSR-v2 y F-FCSR-H-v3 [28] : el estado interno de la esponja se rellena y se carga en el FCSR , que se sincroniza en una cantidad fija de tiempo. Luego, algunas celdas FCSR se agregan en módulo 2 para formar la primera palabra del siguiente estado interno, el FCSR se sincroniza, las mismas palabras se agregan en módulo 2 para formar la segunda palabra del siguiente estado interno, y así sucesivamente.
La función tiene una alta fuerza criptográfica. Por ejemplo: el ataque de preimagen generalmente tiene complejidad , donde es el tamaño de la matriz (que define el FCSR ) y es el tamaño de la palabra alimentada al FCSR.
![{\displaystyle 2^{\frac {3\omega r}{2))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2b617fbe65ebdfb137b636eaecc6a8eaab8d72b3)
![{\displaystyle \omega \times \omega }](https://wikimedia.org/api/rest_v1/media/math/render/svg/1982b5f82f795ffef6e49b5f08db982ce0c77749)
![T](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0)
Una característica de la implementación de GLUON es que los datos en FCSR no se escriben secuencialmente, sino en paralelo, lo que aumenta significativamente la velocidad de ejecución. Además, el sumador (elemento que realiza la suma ) , que se utiliza en FCSR , se ha optimizado de la siguiente manera :
![{\displaystyle s=(a\oplus b)\oplus c}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0537e963039265e312115e0a86b500889740861c)
![{\displaystyle c=(ab)\oplus (a\oplus b).c}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4d5545af1d97dfd5a2e5306332f6358b6172201e)
![.](https://wikimedia.org/api/rest_v1/media/math/render/svg/1e44e5c7036d244e546db1167ed820d947fcd63a)
La función de actualización de GLUON-64 tiene varios valores y su comportamiento es muy diferente al de PRNG .
QUARK
QUARK es una función hash que utiliza una esponja P con una permutación orientada al hardware. Fue implementado bajo la influencia de los cifrados de bloque ligeros KTANTAN [30] y KATAN [30] y el cifrado de flujo orientado al hardware Grain [31] . La versión más pequeña (hash de 136 bits) se llama U-QUARK, la mediana (176 bits) D-QUARK y la más larga (256 bits) S-QUARK.
La función de actualización asigna el vector a , cargando cada mitad en un NFSR ( registro de desplazamiento de retroalimentación no lineal ) separado de longitud y luego itera sobre esto . Los NFSR están relacionados entre sí y con LFSR de pequeña longitud . Las funciones , y son funciones booleanas elegidas por su no linealidad y complejidad algebraica. y son los mismos para todas las versiones y se toman prestados de Grain-v1, pero se determinan caso por caso.
![{\ estilo de visualización \ {0,1 \} ^ {b}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d8bcae634e5c11a32a38222ff6ec78a2fa2c52cf)
![{\displaystyle {\frac{b}{2))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/180cc9bbab011340af1bea69e624b7d5977dcc2a)
![4b](https://wikimedia.org/api/rest_v1/media/math/render/svg/5e50ee9c66728016cbaf26675571005c77cca130)
![{\ estilo de visualización \ registro (4b)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/be602c8755f6e2eb5d88bd8f7a9bf6fdd6d512af)
![F](https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61)
![gramo](https://wikimedia.org/api/rest_v1/media/math/render/svg/d3556280e66fe2c0d0140df20935a6f057381d77)
![h](https://wikimedia.org/api/rest_v1/media/math/render/svg/b26be3e694314bc90c3215047e4a2010c6ee184a)
![F](https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61)
![gramo](https://wikimedia.org/api/rest_v1/media/math/render/svg/d3556280e66fe2c0d0140df20935a6f057381d77)
![h](https://wikimedia.org/api/rest_v1/media/math/render/svg/b26be3e694314bc90c3215047e4a2010c6ee184a)
La especificidad de la implementación de QUARK es que no contiene valores intermedios de la función esponja, que requieren elementos adicionales para almacenarlos. En otras palabras, después de permutar los valores de estado, los valores no se escriben en el siguiente estado, sino que se envían inmediatamente a la función de permutación, con los primeros bits XOR con el mensaje [32] .
![r](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538)
Tiene una alta fuerza criptográfica. Los datos sobre la resistencia a varios ataques se dan a continuación [32] :
Dificultad de un ataque exitoso para encontrar:
Colisiones
|
primer prototipo
|
Segundo prototipo
|
|
|
|
Esta función hash tiene una implementación disponible públicamente escrita en C .
SipHash-2-4
SipHash tiene una estructura ARX que fue influenciada por BLAKE y Skein . Proporciona una familia de asignaciones por sí mismo y está diseñado para usarse como MAC o en tablas hash. Tiene una estructura similar a JH como SPN-Hash y utiliza relleno que también tiene en cuenta la longitud del mensaje. Sin embargo, simplemente consiste en agregar un byte con una longitud de mensaje módulo 256. SipHash no pretende ser resistente a colisiones, y obviamente no por el pequeño tamaño de la suma hash.
![{\displaystyle \{0,1\}^{*}\rightarrow \{0,1\}^{64}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0b6b0c14cf7173e3e7f44058dce225b8c40e7ce7)
Una característica distintiva de SipHash es que los mensajes son " xoreados ", no como en la función de esponja habitual, sino de acuerdo con un algoritmo especial:
- El primer mensaje se xorx con el último cuarto de la esponja.
- La esponja es procesada por dos funciones de permutación.
- El primer mensaje se fija de nuevo, pero con el primer cuarto de la esponja, mientras que el segundo mensaje con el último
- La esponja es procesada por dos funciones de permutación.
- El segundo mensaje está arreglado con el primer cuarto de la esponja, y el tercer cuarto está arreglado con 0xFF
A pesar de que SipHash se basa en ARX, no es vulnerable a un ataque rotacional [33] .
Hay materiales sobre el uso de SipHash en github de dominio público.
FOTON
PHOTON es una esponja P basada en una permutación similar a AES [34] . Para la configuración de seguridad más baja (PHOTON-80/20/16), la tasa de bits durante la absorción es 20 y 16 durante la compresión. La permutación consta de 12 iteraciones (para cada parámetro de seguridad) de la secuencia de transformaciones descrita a continuación realizadas en un cuadrado de celdas de 4 bits (8 bits para la versión más grande). El transportador PHOTON consta de 4 etapas:
![{\ estilo de visualización d \ veces d}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8832c0aa14719499bb50f640be353abb7f37f069)
- Constantes adicionales (AddConstants) : las constantes adicionales se eligen para que sean diferentes en cada iteración y para que no haya simetría entre columnas, como en arquitecturas similares a AES (sin esta capa, un mensaje de entrada con columnas iguales conservará esta calidad después de cualquier número de iteraciones). El registro de desplazamiento de retroalimentación lineal puede generar constantes adicionales. Para un alto rendimiento, solo está involucrada la primera columna del estado interno. Una vez que se han generado las constantes, se agregan módulo 2 a cada celda.
- Sustitución de celdas (Subceldas) : el bloque S se aplica en cada celda. Si la celda tiene una longitud de 4 bits, entonces se usa PRESENT Sbox SBOXPRE, si tiene 8 bits, AES Sbox SBOXAES.
- Cambio de fila (ShiftRows) : idéntico a AES.
- MixColumnsSerial : las celdas se tratan como Galois (o para el parámetro de seguridad más alto) y cada columna se multiplica por una matriz MDS especialmente diseñada para una implementación eficiente en hardware [35] .
![{\displaystyle {\displaystyle GF(2^{4)))))](https://wikimedia.org/api/rest_v1/media/math/render/svg/14f145075af3ac794c7e6519bea12307fac2053c)
![FG(2^{8})](https://wikimedia.org/api/rest_v1/media/math/render/svg/249fe8b7753a547eb2437f80d47848678c96d1a5)
Datos criptográficos:
Dificultad de un ataque exitoso para encontrar:
Colisiones
|
primer prototipo
|
Segundo prototipo
|
|
|
|
El método de permutación utilizado para actualizar la esponja es cercano al cifrado LED [36] , que fue desarrollado más tarde por los creadores de PHOTON.
ESPONJA
SPONGENT se puede considerar como una esponja P, donde la permutación es una versión modificada del cifrado de bloque PRESENTE.
El número de iteraciones de una permutación tipo PRESENTE varía de 45 para SPONGENT-88 a 140 para SPONGENT-256. Cada iteración consta de:
- Módulo 2 adición de contenido LFSR sincronizado en cada iteración (puede considerarse como constante por iteración)
- Aplicación de un S-box a una capa Un S-box 4×4 que cumple los mismos criterios que un S-box PRESENTE
- Intercambiando los bits de una manera similar a PRESENTE [37]
Por lo que se sabe, no hay ningún ataque a SPONGENT excepto a los resolutores lineales para versiones de iteración reducida [38] .
El código SPONGENT en ensamblador y C es de dominio público.
Hash de SPN
El principal interés de SPN-Hash radica en su defensa comprobable contra ataques de colisión diferencial. Esta es una esponja JH que usa, como su nombre indica, una permutación basada en SPN . La estructura SPN se basa en la estructura AES [34] : en primer lugar, se aplican cajas S de 8 × 8 a cada byte de estado interno. El S-box utilizado es exactamente el mismo que el utilizado en AES. Luego se aplica una capa de mezcla más compleja; Los puntos fuertes de este hashing son la buena difusión y la ligereza. Finalmente, las constantes en cada iteración se escriben en el estado interno (por disyunción estricta), similar a LED y PHOTON. Estas operaciones se repiten 10 veces para todas las configuraciones de seguridad.
La sangría utilizada es la misma que en Merkle-Damgor potenciado: la longitud del mensaje se añade al último bloque [39] .
DM-PRESENTE
DM-PRESENT es simplemente un esquema Merkle-Damgor donde la función de compresión es el cifrado de bloque PRESENT en modo Davis-Meyer. DM-PRESENT-80 se basa en PRESENT-80 y DM-PRESENT-128 se basa en PRESENT-128. Esta función hash es vulnerable a las colisiones y no es resistente a la recuperación de la segunda preimagen, tales funciones hash solo serán útiles en aplicaciones que requieren resistencia a la recuperación de la primera preimagen y protección de 64 bits [40] .
ARMADILLO
ARMADILLO es una primitiva multipropósito diseñada para su uso como FIL-MAC (Apéndice I), para hashing y firmas digitales (Apéndice II), y para PRNG y PRF (Apéndice III). Fue hackeado por Naya Placencia y Peirin [41] . Encontraron una manera de detectar colisiones rápidamente cuando se usa como una función hash (unos pocos segundos en una PC normal) [42] .
Véase también
Literatura
- ↑ Poschmann, Axel York. Criptografía ligera: ingeniería criptográfica para un mundo omnipresente . — Europ. Univ.-Verl, 2009. ISBN 978-3-89966-341-9 , 3-89966-341-1.
- ↑ 1 2 Kerry A McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Informe sobre criptografía ligera . - Gaithersburg, MD: Instituto Nacional de Estándares y Tecnología, 2017-03.
- ↑ Megha Agrawal, Jianying Zhou, Donghoon Chang. Una encuesta sobre el cifrado ligero autenticado y los desafíos para asegurar el IoT industrial // Tendencias de seguridad y privacidad en el Internet industrial de las cosas. - Cham: Springer International Publishing, 2019. - págs. 71–94 . - ISBN 978-3-030-12329-1 , 978-3-030-12330-7 .
- ↑ 1 2 Susha Surendran, Amira Nassef, Babak D. Beheshti. Una encuesta de algoritmos criptográficos para dispositivos IoT // 2018 IEEE Long Island Systems, Applications and Technology Conference (LISAT). —IEEE, 2018-05. - ISBN 978-1-5386-5029-5 . -doi : 10.1109/ lisat.2018.8378034 .
- ↑ Damith C. Ranasinghe. Criptografía ligera para RFID de bajo coste // Sistemas RFID en red y criptografía ligera. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2008. — págs. 311–346 . - ISBN 978-3-540-71640-2 , 978-3-540-71641-9 .
- ↑ F. Lefebvre, J. Czyz, B. Macq. Un algoritmo hash suave robusto para la firma de imágenes digitales // Actas 2003 Conferencia Internacional sobre Procesamiento de Imágenes (Cat. No.03CH37429). —IEEE. — ISBN 0-7803-7750-8 . -doi : 10.1109/ icip.2003.1246725 .
- ↑ Guy Zyskind, Oz Nathan, Alex 'Sandy' Pentland. Descentralización de la privacidad: uso de Blockchain para proteger datos personales // Talleres de seguridad y privacidad de IEEE de 2015. —IEEE, 2015-05. — ISBN 978-1-4799-9933-0 . -doi : 10.1109/ spw.2015.27 .
- ↑ Ali Dorri, Salil S. Kanhere, Raja Jurdak, Praveen Gauravaram. LSB: una cadena de bloques ligera y escalable para la seguridad y el anonimato de IoT // Journal of Parallel and Distributed Computing. — 2019-12. - T. 134 . — S. 180–197 . — ISSN 0743-7315 . -doi : 10.1016/ j.jpdc.2019.08.005 .
- ↑ Mohammad Peyravian, Nevenko Zunic. Métodos para proteger la transmisión de contraseñas // Informática y seguridad. — 2000-07. - T. 19 , n. 5 . — S. 466–469 . — ISSN 0167-4048 . -doi : 10.1016 / s0167-4048(00)05032-x .
- ↑ Kerry A. McKay, Larry Bassham, Meltem Sonmez Turan, Nicky Mouha. Informe sobre criptografía ligera . - Gaithersburg, MD: Instituto Nacional de Estándares y Tecnología, 2017-03.
- ↑ Schneier, Bruce, autor de 1963. Criptografía aplicada: protocolos, algoritmos y código fuente en C. - ISBN 978-1-119-43902-8 , 1-119-43902-7.
- ↑ Gilles Brassard, Peter HOyer, Alain Tapp. Criptoanálisis cuántico de funciones hash y claw-free // LATIN'98: Informática Teórica. — Berlín, Heidelberg: Springer Berlin Heidelberg, 1998. — págs. 163–169 . - ISBN 978-3-540-64275-6 , 978-3-540-69715-2 .
- ↑ Lathrop, Joel. Ataques de cubos a funciones hash criptográficas .
- ↑ Joan Daeman. [ https://pdfs.semanticscholar.org/5259/be9f357a368f356008af5749594aada2e479.pdf Estrategias de diseño de funciones de cifrado y hash basadas en criptoanálisis lineal y diferencial]. - 1995. - 267 págs.
- ↑ Bart Preneel, René Govaerts, Joos Vandewalle. Funciones hash basadas en cifrados de bloques: un enfoque sintético // Avances en criptología - CRYPTO' 93. - Berlín, Heidelberg: Springer Berlin Heidelberg. — S. 368–378 . - ISBN 978-3-540-57766-9 .
- ↑ Antoine Joux, Thomas Peyrin. Funciones hash y el ataque boomerang (amplificado) // Avances en criptología - CRYPTO 2007. - Berlín, Heidelberg: Springer Berlin Heidelberg. — Pág. 244–263 . — ISBN 978-3-540-74142-8 .
- ↑ Stéphane Manuel, Thomas Peyrin. Colisiones en SHA-0 en una hora // Cifrado de software rápido. — Berlín, Heidelberg: Springer Berlín Heidelberg. — P. 16–35 . - ISBN 978-3-540-71038-7 , 978-3-540-71039-4 .
- ↑ 1 2 3 Jean-Sébastien Coron, Yevgeniy Dodis, Cécile Malinaud, Prashant Puniya. Merkle-Damgård Revisited: Cómo construir una función hash // Avances en criptología - CRYPTO 2005. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2005. - págs. 430–448 . - ISBN 978-3-540-28114-6 , 978-3-540-31870-5 .
- ↑ Narayana D. Kashyap. Un significativo ataque MD5 Hash Collision . — Biblioteca de la Universidad Estatal de San José.
- ↑ Función hash de Davies-Meyer // SpringerReference. — Berlín/Heidelberg: Springer-Verlag.
- ↑ Mohammad A. AlAhmad, Imad Fakhri Alshaikhli, Mridul Nandi. Ataque de multicolisiones de Joux en construcción de esponjas // Actas de la 6ª Conferencia Internacional sobre Seguridad de la Información y las Redes - SIN '13. - Nueva York, Nueva York, EE. UU.: ACM Press, 2013. - ISBN 978-1-4503-2498-4 . -doi : 10.1145/ 2523514.2523551 .
- ↑ Krystian Matusiewicz, María Naya-Plasencia, Ivica Nikolić, Yu Sasaki, Martin Schlaffer. Ataque de rebote en la función de compresión de carril completo // Avances en criptología - ASIACRYPT 2009. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2009. - págs. 106–125 . - ISBN 978-3-642-10365-0 , 978-3-642-10366-7 .
- ↑ Dmitry Khovratovich, Ivica Nikolić. Criptoanálisis rotacional de ARX // Cifrado rápido de software. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2010. — págs. 333–346 . - ISBN 978-3-642-13857-7 , 978-3-642-13858-4 .
- ↑ 12 R.O._ _ Gilberto. Evaluación de cuatro generadores de números pseudoaleatorios . - Oficina de Información Científica y Técnica (OSTI), 1973-05-01.
- ↑ 1 2 Bertoni, Guido, Joan Daemen, Michaël Peeters y Gilles Van Assche. Funciones de esponja. (2007). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.8103&rep=rep1&type=pdf
- ↑ Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche. Generadores de números pseudoaleatorios basados en esponjas // Hardware criptográfico y sistemas integrados, CHES 2010. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2010. - P. 33–47 . - ISBN 978-3-642-15030-2 , 978-3-642-15031-9 .
- ↑ Hongjun Wu. La función hash JH // Instituto de Investigación de Infocomm, Singapur. - 2011. - 1 de enero. — Pág. 54 .
- ↑ Franc̨ois Arnault, Thierry Berger, Cédric Lauradoux, Marine Minier, Benjamin Pousse. Un nuevo enfoque para FCSRs // Áreas seleccionadas en criptografía. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2009. — págs. 433–448 . — ISBN 9783642054433 , 9783642054457 .
- ↑ Thierry P. Berger, Joffrey D'Hayer, Kevin Marquet, Marine Minier, Gaël Thomas. La familia GLUON: una familia de funciones hash ligeras basada en FCSR // Progreso en criptología - AFRICACRYPT 2012. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2012. - P. 306–323 . - ISBN 978-3-642-31409-4 , 978-3-642-31410-0 .
- ↑ 1 2 Christophe De Cannière, Orr Dunkelman, Miroslav Knežević. KATAN y KTANTAN: una familia de cifrados de bloque pequeños y eficientes orientados al hardware // Apuntes de clase en informática. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2009. — págs. 272–288 . — ISBN 9783642041372 , 9783642041389 .
- ↑ Martin Hell, Thomas Johansson, Alexander Maximov, Willi Meier. Una propuesta de cifrado de flujo: Grano-128 // Simposio internacional IEEE de 2006 sobre teoría de la información. —IEEE, 2006-07. — ISBN 142440505X , 1424405041 . -doi : 10.1109/ isit.2006.261549 .
- ↑ 1 2 Jean-Philippe Aumasson, Luca Henzen, Willi Meier, María Naya-Plasencia. Quark: un hash ligero // Journal of Cryptology. — 2012-05-10. - T. 26 , n. 2 . — S. 313–339 . - ISSN 1432-1378 0933-2790, 1432-1378 . -doi : 10.1007/ s00145-012-9125-6 .
- ↑ Jean-Philippe Aumasson, Daniel J. Bernstein. SipHash: un PRF rápido de entrada corta // Notas de clase en informática. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2012. — págs. 489–508 . - ISBN 978-3-642-34930-0 , 978-3-642-34931-7 .
- ↑ 1 2 Joan Daemen, Vincent Rijmen. Rijndael/AES // Enciclopedia de Criptografía y Seguridad. — Springer EE. UU. — S. 520–524 . — ISBN 9780387234731 .
- ↑ Jian Guo, Thomas Peyrin, Axel Poschmann. La familia PHOTON de funciones hash ligeras // Avances en criptología - CRYPTO 2011. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2011. - págs. 222–239 . — ISBN 9783642227912 , 9783642227929 .
- ↑ Jian Guo, Thomas Peyrin, Axel Poschmann, Matt Robshaw. The LED Block Cipher // Hardware criptográfico y sistemas integrados - CHES 2011. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2011. - págs. 326–341 . — ISBN 9783642239502 , 9783642239519 .
- ↑ Andrey Bogdanov, Miroslav Knežević, Gregor Leander, Deniz Toz, Kerem Varıcı. esponja: una función hash ligera // Hardware criptográfico y sistemas integrados - CHES 2011. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2011. - págs. 312–325 . - ISBN 978-3-642-23950-2 , 978-3-642-23951-9 .
- ↑ Mohamed Ahmed Abdelraheem. Estimación de las probabilidades de aproximaciones lineales y diferenciales de bajo peso en cifrados similares al PRESENTE // Apuntes de conferencias en informática. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2013. — págs. 368–382 . — ISBN 9783642376818 , 9783642376825 .
- ↑ Jiali Choy, Huihui Yap, Khoongming Khoo, Jian Guo, Thomas Peyrin. SPN-Hash: mejora de la resistencia comprobable contra ataques de colisión diferencial // Progreso en criptología - AFRICACRYPT 2012. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2012. - P. 270–286 . - ISBN 978-3-642-31409-4 , 978-3-642-31410-0 .
- ↑ Información sobre la tesis doctoral en la Facultad de Ingeniería Civil y la Facultad de Ingeniería Mecánica de la Universidad Tecnológica de Wroclaw // Archivos de Ingeniería Civil y Mecánica. — 2008-01. - T. 8 , núm. 2 . — S. 181–183 . — ISSN 1644-9665 . - doi : 10.1016/s1644-9665(12)60205-2 .
- ↑ María Naya-Plasencia, Thomas Peyrin. Criptoanálisis práctico de ARMADILLO2 // Cifrado rápido de software. — Berlín, Heidelberg: Springer Berlin Heidelberg, 2012. — págs. 146–162 . — ISBN 9783642340468 , 9783642340475 .
- ↑ Stéphane Badel, Nilay Dağtekin, Jorge Nakahara, Khaled Ouafi, Nicolas Reffe. ARMADILLO: una primitiva criptográfica multipropósito dedicada al hardware // Hardware criptográfico y sistemas integrados, CHES 2010. - Berlín, Heidelberg: Springer Berlin Heidelberg, 2010. - págs. 398–412 . — ISBN 9783642150302 , 9783642150319 .