
Análisis de un Criptosistema Cuadrático Compacto
Información del documento
Escuela | Universidad Nacional Autónoma de México |
Especialidad | Ciencias de la Computación |
Lugar | México |
Tipo de documento | Proyecto de Grado |
Idioma | Spanish |
Número de páginas | 64 |
Formato | |
Tamaño | 0.94 MB |
- Criptografía
- Análisis de Criptosistemas
- Teoría de Retículas
Resumen
I. Introducción a la Criptografía de Mochila
Este trabajo se centra en el análisis de un criptosistema cuadrático compacto, explorando las bases de los criptosistemas de tipo mochila y sus variantes. El objetivo es comprender su funcionamiento, implementar programas para su uso y desarrollar herramientas para intentar romper sus códigos.
La criptografía de mochila se basa en la idea de representar un mensaje como una combinación lineal entera de un conjunto de vectores, donde cada vector tiene entradas enteras. La clave pública del sistema está formada por los valores enteros de estos vectores. El proceso de cifrado implica multiplicar los valores de cada vector por los bits del mensaje y sumar los resultados. La clave privada permite reconstruir el mensaje original a partir del mensaje cifrado.
La investigación se basa en los artículos "Quadratic compact knapsack public-key cryptosystem" de Bao-cang Wang y Yupu Hu (2010) y "Cryptanalysis of a quadratic knapsack cryptosystem" de Amr M. Youssef (2011), los cuales exploran las debilidades y la complejidad de los criptosistemas de mochila.
II. Redes y su Aplicación en la Criptografía
El documento introduce el concepto de red (retícula) como un subconjunto periódico de puntos en el espacio euclidiano. Se destaca que las redes son objetos matemáticos con propiedades que se utilizan para el diseño de algoritmos y en criptografía.
Un problema importante en la teoría de redes es el "problema del vector más corto" (SVP), que busca encontrar el vector de menor longitud dentro de la red. Otro problema relevante es el "problema del vector más cercano" (CVP), donde se busca el vector de la red que se encuentra a la menor distancia de un vector dado.
Se discuten las bases de las redes y sus propiedades. Una base de una red es un conjunto de vectores linealmente independientes que generan la red. Se presenta el algoritmo de Gauss, que busca reducir iterativamente la longitud de los vectores de una base para encontrar una base que permita una representación más sencilla de la red.
III. Criptosistemas de Mochila y sus Variantes
Se introducen los criptosistemas de tipo mochila, que se basan en el problema de la mochila. El problema de la mochila consiste en encontrar un conjunto de objetos que maximicen el valor total dentro de una restricción de peso. Se analiza el criptosistema de Merkle-Hellman, un ejemplo de criptosistema de mochila que utiliza una mochila supercreciente. Se explica la generación de claves para este sistema, utilizando vectores de carga y matrices unimodulares.
Los criptosistemas de mochila presentan una serie de ventajas: utilizan aritmética modular computacionalmente menos costosa y son más eficientes que los sistemas basados en problemas como el logaritmo discreto o la factorización de números primos. Sin embargo, también presentan una serie de desafíos, como la posibilidad de que un atacante pueda encontrar una solución al problema de la mochila y, por lo tanto, romper el sistema de cifrado.
IV. Criptoanálisis de Criptosistemas Cuadráticos Compactos
Se aborda el criptoanálisis del criptosistema cuadrático compacto, una variante del criptosistema de mochila. Se analiza la seguridad del sistema y se exploran las técnicas para romper el código. Se destaca la importancia de la reducción de bases en el contexto del criptoanálisis.
El documento describe una técnica de criptoanálisis que se basa en la transformación de una base arbitraria de una red a otra base que contiene vectores de menor longitud y que son más ortogonales. Esta técnica se aplica al criptosistema de Merkle-Hellman, mostrando cómo se pueden encontrar debilidades en el sistema y cómo se puede romper la seguridad del mismo.
Se menciona la importancia de elegir una longitud máxima para los vectores de carga. En este caso, se utilizaron vectores de carga con una longitud máxima de diez.
Se destaca que la investigación se llevó a cabo utilizando el lenguaje de programación Scheme, un lenguaje funcional minimalista que facilita la implementación de algoritmos complejos.
Referencia de documento
- A simple introduction to maximum entropy models for natural language processing (Ratnaparkhi A.)
- Seguridad Informática y Criptografía (Jorge Rami´o Aguirre)
- Diophantine approximation attack on a fast public key cryptosystem (Y.H. Hu B. Wang)
- Quadratic compact knapsack public-key cryptosystem (Yupu Hu Baocang Wang)
- A Combinatorial Miscellany (Anders; Bj¨orner and Richard P. Stanley)