Criptografía poscuántica

Documentos relacionados
05. Criptografía de clave pública

Criptografía de clave pública

Determinación Numérica de Eigenvalores y Eigenvectores.

Vulnerabilidades Criptográficas. Pablo Prol Sobrado Alexandre Ramilo Conde

Lección 3: Sistemas de Cifra con Clave Pública

Algoritmos de cifrado

Seguridad Informática

Sistemas basados en la Teoría de Números

Clave Pública. Criptografía-ULL

ASIMETRICA IV LOG DISCRETOS CRIPTO II UT II N 06

Criptografía Post-cuántica

EL4005 Principios de Comunicaciones Clase No.30: Códigos Lineales de Bloque

Teoría Espectral. Stephen B. Sontz. Centro de Investigación en Matemáticas, A.C. (CIMAT) Guanajuato, Mexico

Códigos y Criptografía

Computación Cuántica versus MTPs

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

Asignatura: Horas: Total (horas): Obligatoria Teóricas 3.0 Semana 3.0 Optativa X Prácticas Semanas 48.0 de elección

Estudio, diseño y evaluación de protocolos de autentificación para redes inalámbricas

Criptografía Hash para Firma Electrónica. Dr. Luis A. Lizama Pérez

PROGRAMA DE EXAMEN. Unidad Nº1: Matrices y Función Determinante

6.8. Descomposición mediante valores singulares. v 2 =

Objetivos formativos de Álgebra

Criptografía asimétrica o de clave pública

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

Clase 4: 23/03/ Modos de operación para cifradores de bloque

Criptografía. Diplomado- TI (2) Criptografía. Diplomado-TI (2) 9 de enero de 2012

10 CRIPTOGRAFÍA, PROTECCIÓN DE DATOS Y APLICACIONES c RA-MA

Repaso de conceptos de álgebra lineal

Tema 1. Espacios Vectoriales. Sistemas de ecuaciones.

Sistema criptográfico de llave publica RSA. Análisis y diseño de algoritmos Jose F. Torres M.

Introducción a la Criptografía Cuántica

Mecánica Cuántica y Qubits

Sistemas criptográficos modernos

QUÉ ES EN REALIDAD EL TELETRANSPORTE CUÁNTICO?

ALN. Repaso matrices. In. Co. Facultad de Ingeniería Universidad de la República

Contenido. Contenidos interactivos... xiii Plataforma de contenidos interactivos... xviii Prefacio... xix. Parte I Fundamentos...

Álgebra lineal Prof: Leonid Fridman

Computación Cuántica Topológica

Espacios Vectoriales

Preparaduría V. 1.- Sea A una matriz diagonal n n cuyo polinomio característico es

Características y uso. Recordando. La criptografia define una función de

Apellidos: Nombre: NIF:

Algebra lineal y conjuntos convexos 1

Fundamentos de lenguajes de programación cuántica

Algebra Lineal * Working draft: México, D.F., a 17 de noviembre de 2010.

Criptografía de clave pública Sistemas basados en el problema de la mochila

Matemáticas para proteger la Información

Un Poco de Historia Criptografía, Criptografía Clásica

Espacios vectoriales con producto interno

Ampliación Matemática Discreta. Justo Peralta López

ESPACIOS VECTORIALES

Eigenvalores y eigenvectores

TEMA 1 Álgebra de matrices 4 sesiones. TEMA 2 Determinantes 4 sesiones. TEMA 3 Sistemas de ecuaciones 4 sesiones

Diagonalización. Tema Valores y vectores propios Planteamiento del problema Valores y vectores propios

Tema 3: Espacios vectoriales

Codificación de Canal

Métodos Matemáticos: Análisis Funcional

FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA U.N.R.

Algebra Lineal: Valores y Vectores Propios. Departamento de Matemáticas. Intro. Eigenvalues. Multiplicidades

Diseño e Implementación de una Autoridad Certificadora en Plataformas Móviles

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

1 Con juntos de Números: Axiomas 1

Aproximación discreta de mínimos cuadrados con lapack

Ejercicios: Estimando π con métodos Monte Carlo y cálculo del mayor autovalor de una matriz

1. Los números reales. 2. Representación. 3. Densidad de los números racionales. 4. Propiedades de los números reales

Álgebra lineal y Geometría II. Métricas y formas cuadráticas. 1. La matriz de la métrica T 2 ((x, y, z), (x, y, z )) = xx + yy + 3zz 2xz 2zx es:

Clase de Álgebra Lineal

1. Introducción Cifrado de Hill RSA ElGamal Firma DSA Test de Miller-Rabin...

Criptografía: Matemáticas para proteger la información

Matrices. Operaciones con matrices.

Espacios Vectoriales

Lista de problemas de álgebra, 2016

Seguridad en los sistemas de información: e-voting, e-cash y notaria digital

Tensores cartesianos.

El número asintótico de cuadrados mágicos de primos

Álgebra Lineal Ma1010

2 Espacios vectoriales

Algebra y el mundo real

Entendiendo un algoritmo de criptografía asimétrica Understanding RSA

Nuevos Algoritmos de Factorización de Enteros para atacar RSA. Ekoparty

2.5 Ejercicios... 59

Transcripción:

Criptografía May 8, 2013 Luis J. Dominguez Perez basado en trabajo de P. Barreto y N. Sendrier ldominguez@tamps.cinvestav.mx Cinvestav Tamaulipas,

Agenda

Sistemas desplegados Supuestos de intratabilidad convencionales: Factorización entera (IFP): RSA Logaritmo Discreto (DLP): Diffie-Hellman (DHP), y sus variantes bilineares: ECC y PBC 3. Estos supuestos se reducen a lo que se conoce como El Problema del Subgrupo Escondido (HSP).

Balance entre la protección y lo protegido La principal preocupación de un sistema de seguridad es cuánto tiempo le tomará a un atacante romperlo, y cuántos recursos le son necesarios. El costo de romper un sistema, medido tanto en tiempo y en dinero invertido en recursos computacioneales, debe de ser mayor a el valor de la información protegida 4.

Beneficios y tiempos Cuando un atacante necesitase 100 millones de USD para obtener un beneficio de 100 mil USD, un atacante típicamente desistirá 5. Cuando se dice que a un atacante le tomará alrededor de 100 años en romper un sistema, es calculado al inicio del ataque. Con el tiempo, nuevos métodos y mejores recursos están disponibles Un atacante podría ir actualizando sus recursos y reducir drásticamente los 100 años inicialmente estimados

Calculando el costo En un sistema simétrico, el tiempo de vida de la protección de los datos puede ser calculado con el tiempo que nos tomaría romper el esquema mediante fuerza bruta, utilizando un diccionario de llaves, u otro método En Using the cloud to determine key strengths, Kleinjung et al. popusieron un esquema de medición para comparar el costo de romper un esquema criptográfico utilizando los servicios de Amazon. Romper un esquema de 128 bits de seguridad utilizando los servidores cloud de Amazon costaría 10 27 USD. 6.

Algoritmo de Shor Factoriza un entero no primo en tiempo polinomial Son dos partes principales: Reducción del problema de factorización a un problema de búsqueda ordenada (cómputo clásico) Resolver el problema de búsqueda ordenada (cómputo cuántico) 7. Consecuencias: RSA podría ser roto ya que su fuerza recae en la dificultad de encontrar los dos factores primos de un número entero grande.

Ataques El algoritmo cuántico de Shor permite resolver en tiempo polinomial aleatorios ciertos esquemas del problema del subgrupo escondido para grupos finitos abelianos. 8. En particular, este algoritmo puede romper los esquemas: RSA DSA ECDSA en un tiempo O(log N) 3

Algoritmo de Shor Algorithm 1 Algoritmo de Shor Input: N N no primo Output: un factor de N 1: Escoja un x aleatorio entre el rango [2..N] 2: Si el MCD(x,N) 1 terminar 3: Encontrar el orden r de x mod N(x r 1 mod N) 4: if r es par y x r/2 ±1 mod N then 5: MCD(x r/2 + 1,N) es un factor no trivial de N 6: else 7: intentar con otra x 8: end if 9.

Alcance Los algoritmos criptográficos basados en la dureza de problemas en los que el algoritmo de Shor no se puede aplicar, se conocen como sistemas criptográficos poscuánticos Estos esquemas están basados en problemas computacionalmente NP-completos o NP-duros: Funciones picadillo Códigos Retículas Ecuaciones cuadráticas multivariables Llave secreta Isogenias sobre curvas elípticas supersingulares Grupos no abelianos etc. 10.

Física a nivel atómico y subatómico Requiere teoría precisa El estado del sistema no es dado por observaciones físicas Es imposible conocer el estado actual del sistema Se pueden hacer predicciones probabilísticas 11. Definición Notación, se conoce como ket, y es un vector en el espacio de todos los estados posibles.

Conceptos Matrix Hermitiana. Es una matrix cuadrada con elementos complejos, y que es igual a su transpuesta conjugada) Operador lineal. Es una función matemática entre dos espacios vectoriales, que preserva las operaciones de adición de vectores y multiplicación por un escalar. Eigen-vector. Los vectores propios, autovectores o eigenvectores de un operador lineal son los vectores no nulos que, cuando son transformados por el operador, dan lugar a un múltiplo escalar de sí mismos, con lo que no cambian su dirección. Eigen-espacio. Un espacio propio, autoespacio, eigenespacio o subespacio fundamental asociado al valor propio λ es el conjunto de vectores propios con un valor propio común. 12.

Principios cuánticos Una cantidad observable se representa como una matrix Hermitiana A. Los posibles valores de una medición son el eigen-vector de A. Esta matriz puede ser unitariamente diagonalizada. Los eigenvectores de A generan una base ortogonal, tal que, cada vector ψ puede ser representado por una combinación lineal de estos eigen-vectores ϕ i. 13. ψ = c 1 ϕ 1 +... + c n ϕ n Dada una matiz A observable, su medición nos arroja un ϕ i con una probabilidad c i 2

principios cuánticos Definición Entrelazado cuántico. Es el fenómeno en el cual los estados cuánticos de dos objetos se describen como referencia entre sí, por ejemplo: 14. ψ = 1 2 ( B 1 C 2 + B 2 C 1 )

Definiciones Qubit. Un qubit es la unidad de información cuántica. Sus dos estados computacionales clásicos son: ( ) ( ) 1 0 0 =, y 1 = 0 1 Un qubit puede ser representado por la combinación lineal de estos dos estados. 15. Registro de qubit. Un número de qubits entrelazados a analizar, o el producto tensorial de los qubits. Compuerta cuántica. Es un circuito cuántico que opera sobre un determinado número de qubits

Códigos lineares Definiciones: El peso Hamming w(u) de u (F q ) n es el número de componentes de u que no están en cero. 16. La distancia Hamming entre u,v (F q ) n es dist(u,v) = w(u v). Un código linear C [n,k] sobre F q es un vector de k dimensiones en el subespacio de (F q ) n.

Un código puede ser definido por una matriz generadora G (F q ) k n o por una matriz de verificación de paridad H (F q ) r n with r = n k: C = {ug (Fq ) n u (F q ) n } C = {v (Fq ) n Hv T O r } donde HG T = O. 17. Un vector s es llamado síndrome of v, si Hv T = s T.

Matriz generadora Las matrices generadores y de verificación de paridad no son únicas: dada una matriz no singular S (Fq ) k k (resp. S (F q ) r r ) la matriz G = SG (resp. H = SH) define el mismo código que G (resp. H) en otra base. 18. Como consecuencia, la forma sistemática (escalonada) G = [I k M], H = [ M T I r ] donde M (F q ) k r no es siempre posible.

Códigos equivalentes Dos códigos son equivalentes (aún permutados) si difieren por una permutación en las coordenadas de sus elementos. 19. Formalmente, un código C generado por G es equivalente a un código C generado por G sí y solo sí G = SGP para alguna matriz de permutación P (F q ) n n, y una matriz no singular S (F q ) k k. En esencia, se dice que C = CP.

La decodificación funciona de la siguiente manera: Decodificación General Dados unos enteros positivos (n,k,t), un campo finito F q, un código linear C [n,k] (F q ) n definido por una matrix generadora G (F q ) k n, y un vector c (F q ) n existe un vector m (F q ) k tal que e = c mg tiene peso w(e) t? Encontrar tal vector e es un problema NP-completo. 20.

funcionamiento Decodificación Síndrome Dados unos enteros positivos (n,k,t), un campo finito F q, un código linear C [n,k] (F q ) n definido por una matrix de paridad H (F q ) r n con r = n k, y un vector s (F q ) r existe un vector e (F q ) n de peso w(e) t tal que He T = s T? Encontrar tal vector e también es un problema NP-completo. 21.

funcionamiento Decodificación Permutada Resolver el problema de decodificación general o el de decodificación síndrome para un código C que sea equivalente tras permutación a un código C eficientemente decodificable, consiste en encontrar la permutación y cambio de bases entre los códigos, y utilizar el código C como pasadillo secreto (trapdoor) para decodificar en C. Esto se cree que es lo suficientemente difícil para ciertos códigos. 22.

funcionamiento Decodificación Recortada Resolver el problema de decodificación general o el de decodificación síndrome para un código C que sea equivalente tras permutación a algún subcódigo recortado (una proyección) de algún código C eficientemente decodificable, consite en encontrar la permitación y cambio de bases entre los códigos, y usar el código C como pasadillo secreto (trapdoor) para decodificar C. Decidir si el código es equivalente al código recortado es un problema NP-completo. 23.

de sistemas Existen varios esquemas criptográficos basados, por ejemplo: McEliece, Niederreiter, firmas CFS, entre otros. Sistema McEliece Este criptosistema utiliza la matriz generadora para la clave pública, por lo que para el cifrado, el secreto se multiplica por ella y se le agrega la información de corrección de errores (ruido). Para el decifrado, se recupera la información del vector de errores y se elimina del mensaje recibido. 24.

ejemplos de sistemas Sistema Niederreiter A diferencia del anterior, en este caso se utiliza la matriz de permutación como clave pública, por lo que el transpuesto del vector de corrección de errores (que contiene el mensaje) se multiplica por esta matriz. Para el decifrado, el proceso es similar. 25.

ejemplos de sistemas Firmas CFS Para las firmas, la clave pública también utiliza la matriz de permutación. Dado un oráculo aleatorio, y hasta encontrar un síndrome decodificable con el mensaje. De igual manera, se extrae el vector de corrección (conteniendo el mensaje) y se utiliza como firma (junto con un valor del oráculo aleatorio). Para la verificación, se multiplica la firma con la matriz de permutación y se corrobora con una aplicación de la firma sobre el mensaje (y el valor del oráculo aleatorio). 26.

Cifrado McEliece Generación de llaves: Escoja aleatorios [n,k], t-corrección de errores, un código eficientemente decodificable Γ, y una matriz aleatorio de permutación P (F q ) k k, y calcule una matriz generadora G (F q ) k k para el código equivalente ΓP. Kpriv = (Γ,P), Kpub = (G,t). Cifrado de un texto plano m (F q ) k : Escoja un elemento aleatorio e con error t e (Fq ) n y calcule c = mg + e (F q ) n. Descifrado de un texto cifrado c (F q ) n : Corrija los errores en c = cp 1, encuentre el vector e con t-errores e = ep 1 tal que c e Γ, y recupere m directamente de c e ΓP. 27.

Ejemplo de Cifrado McEliece Sea n = 8, t = 1, k = 4, y un código con la siguiente matriz de paridad H, y matriz generadora G: H = G = 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 Cifre el mensaje m = (1100) con vector de error de corrección e = (00100000): c = mg + e = (11100101) El cálculo del síndrome Hc T = (1111) T, la corrección del error revela e, y nos da mg = c e = (11000101). 28.

Retos La basada, presenta el problema de seleccionar un tipo de código que permita que la decodificación permutada sea fuerte. Adicionalmente, sufre del elevado espacio de almacenamiento y transmición requeridos para la llave pública.. La tendencia actual en investigación para este tipo de se centra en reducir la llave pública, y en la elaboración de protocolos criptográficos que utilicen códigos como su primitiva.