== Algoritmos iniciales == 1. ALgoritmo de generación de claves 2. Algoritmo de cifrado 3. Algoritmo de descifrado A continuación se describe cada uno de los algoritmos. '''1. Algoritmo de generación de claves''' Entradas: * tamaño del campo finito: 2 a la 61 - 1 * grado de los polinomios en t: en principio se utiliza el grado 3. * coeficientes de dos polinomios que representan la sección de la superficie. Generación de dos polinomios que representan la clave privada: {{{ // repetir para cada lista crear lista de coeficientes; for (int i=0; i<4; i++) { generar número aleatorio de Mersenne-Twister; obtener el valor del número aleatorio generado dentro del campo; agregar el valor dentro del campo a la lista de coeficientes } crear el objeto Polynomial a partir de la lista de coeficientes }}} Generar método para crear polinomios aleatorios Crear un objeto que abstrae la terna de Lambda_X Crear un objeto que abstrae la estructura Lambda Generar tantos polinomios como sea el tamaño de Lambda_X Pensar en la estructura de representación del polinomio de tres variables