== Proyecto Comparación de Criptosistemas == Bienvenido al proyecto de comparación de criptosistemas de claves públicas. * [wiki:conceptualizacion Conceptualización] * [wiki:minutas Minutas] * [wiki:articulosDeReferencia Algunos artículos de referencia] Algoritmo de generación de claves criptográficas [https://tibisay.cenditel.gob.ve/comparacioncriptosistemas/wiki/algoritmos] Que además tiene un adjunto donde se explican ejemplos concretos de aplicación del mismo. Puede descargarse aquí: [https://tibisay.cenditel.gob.ve/comparacioncriptosistemas/attachment/wiki/algoritmos/generacion_claves.pdf] * [wiki:algoritmos Algoritmos] En la sección Hojear Fuentes se puede tener acceso al somparaciónoftware de la implementación actual: [https://tibisay.cenditel.gob.ve/comparacioncriptosistemas/browser/comparacioncriptosistemas] Entre las ''dificultades u obstáculos'' que ha tenido el proyecto para avanzar ha sido la casi total ausencia de trabajos previos en esta área. Se necesita implementar operaciones matemáticas basadas en polinomios, pero no cualesquiera, deben ser polinomios de varias variables y cuyos coeficientes pertenezcan a una estructura matemática conocida como Campo Finito, o Campo de Galois GF(p), donde p algún número primo. La especificidad del requerimiento hace necesario que se profundice en las implicaciones matemáticas que conlleva estudiar dichas estructuras y además realizar el proceso de programación de las funcionalidades desde cero, ya que no se cuenta con implementaciones conocidas por el equipo. Desde el equipo encontramos una serie de programas que realizan algunas de las operaciones que necesitamos pero, algunos no son de código abierto y otras no tienen un fácil acceso al requerimiento nuestro. Incluso la mayoría no cumple con el nivel de especificidad que requerimos. Por lo que el proceso de adaptación pudiera ser incluso más engorroso que simplemente implementar nosotros todo el procedimiento. Entre los programas que encontramos se encuentran: Givaro: [http://ljk.imag.fr/CASYS/LOGICIELS/givaro/] Es una librería en C++ para aritmética y cálculos algebraicos. Tiene operaciones sobre un campo de Galois, pero no tiene implementados los polinomios sobre dicha estructura. Fermat: [https://home.bway.net/lewis/] No nos da acceso a las librerías. Aunque el programa realiza operaciones parecidas a las que necesitamos, tampoco están basadas en el Campo de Galois. KANT [http://page.math.tu-berlin.de/~kant/] Este es un grupo de investigación que desarrolló una interfaz gráfica llamada GiANT que soporta operaciones algebraicas sofisticadas similares a las de nuestro interés. Pero tampoco tenemos fácil acceso a las librerías. LiDIA [https://orms.mfo.de/project?terms=finite+fields+linear+algebra&id=284] Una librería en C++ para teoría de números computacionales, pero aquí las operaciones son con polinomios sobre números racionales. Los que necesitamos son más específicos: sobre campos finitos. Y además: SAGE [http://www.sagemath.org/] Singular [http://www.singular.uni-kl.de/] SYNAPS [http://www-sop.inria.fr/galaad/logiciels/synaps/] MAGMA [http://magma.maths.usyd.edu.au/magma/] Maple [http://www.maplesoft.com/] Particularmente Maple es uno de los que son Software privativo.