criptografía: funciones $\leftrightarrow$ objetivos

Creative Commons License
“Curso de Introducción a la Criptografía” by Jordi Íñigo Griera is licensed under a
Creative Commons Attribution 4.0 International License.
Project hosted at github.com/jig/crypto

Criptografía sin clave

Función Objetivos
$r=\text{hash}(m)$ tener un resumen $r$ diferente para diferentes mensajes $m$;
hace falta recibir/custodiar $r$ de forma fiable;
implementable con funciones como SHA-2 o SHA-3

Criptografía con clave simétrica: $k \leftrightarrow k$

Función Objetivos
$t=\text{mac}(k, m)$
$\qquad \downarrow$
$t\overset{?}{=}\text{mac}(k, m')$
tener un valor (resumen o etiqueta $t$) de un $m$ diferente para diferentes $m$; hace falta tratar $k$ confidencialmente; implementable con funciones de hash o de cifrado simétrico de bloque (como AES)
$c=\text{e}(\text{IV}, k, m)$
$\qquad \downarrow$
$m=\text{d}(\text{IV}, k, c)$
proteger la confidencialidad del $m$ (el $\text{IV}$ se puede enviar en claro sin pérdida de confidencialidad) lo podemos implementar con cifrado simétrico (de flujo como ChaCha, o de bloque como AES)

Cripto con clave asimétrica: $k_{\text{priv}} \leftrightarrow k_{\text{pub}}$

Función Objetivos
$k \leftarrow i \times j$ acordar un número aleatorio $k$ derivado de un par de números aleatorios secretos $i$ y $j$;
lo podemod implementar con DH
$s=\text{firma}(k_{\text{priv}}, m)$
$\qquad \downarrow$
$\text{ok}=\text{valida}(k_{\text{pub}}, s)$
generar una relación $s$ comprobable entre el propietario de $k$ y $m$ (relación de autoría, notaría...); cualquiera que conozca $k_{\text{pub}}$ puede comprobar su autor y la integridad del mensaje
lo podemos implementar con RSA, DSA o ECDSA
$c=\text{cifra}(k_{\text{pub}}, m)$
$\qquad \downarrow$
$m=\text{descifra}(k_{\text{priv}}, c)$
enviar un mensaje $m$ que por el poseedor de $k_{\text{priv}}$
lo podemos implementar con RSA

PKI: Autoridades

Autoridad Objetivos
RA gestionar la validación de credenciales (registro) que demuestra que un titular posee la clave privada correspondiente a la clave pública que presenta;
la validación de possesión de la PVK es automática (validación de un PKCS #10 o de un certificado autofirmado X.509)
la validación de la identidad del titular puede ser "presencial" (por a certificados personales, o con políticas de certificación más restrictivas como los certificados EVC), en línea (como certificados de cliente basados en posesión de una dirección de correo electrónico, o como los certificados basados en la posesión de una dirección DNS); también gestiona los procedimientos de revocación que se publicarán vías CRLA o VA
CA emite documentos firmados (certificados X.509) que enlazan la identidad del titular con su clave
Autoridad Objetivos
CRLA emitir listas de revocación firmadas periódicamente (con periodos cortos de validez) o bajo demanda (con periodos largos de validez, debe reemitirse cuando hay alguna nueva revocación)
VA servir en línea el estado de revocación (de certificados individuales)
TSA emitir pruebas firmadas de que un documento (su hash) existía en un momento dado