Los criterios para elegir un problema para el cifrado deben tener lo siguiente.
- El problema debería ser difícil de calcular. Duro significa que debe ser al menos exponencial o subexponencial.
- El problema debería ser fácil de verificar. Un angoritmo para verificar la solución debe ejecutarse en tiempo polinómico.
La factorización prima es uno de los problemas más antiguos que satisface los dos criterios. La factorización en aritmética modular es difícil de calcular. Pero la confirmación de los factores se puede ejecutar en tiempo polinómico.
Si tomamos encriptación RSA que usa factorización prima. Se basa en el principio de que para [matemáticas] n = p \ veces q; m ^ {d \ times e} mod \ lambda (pq) \ cong m mod \ lambda (pq) [/ math] donde m recibe datos para cifrar.
- ¿Existe un algoritmo ML para verificar qué tan bien coinciden 3 objetos de diferentes tipos?
- Cómo escribir un algoritmo para la suma de n factoriales. es decir, 1! +2! +3! +… (N-1) + n
- ¿Qué patrones iterativos y recursivos se pueden expresar como O (1), O (log2n), O (n) u O (n2) en notación O grande?
- ¿Cómo clasifica Quora las preguntas? ¿Qué algoritmos usan?
- Cómo insertar un conjunto de números en un árbol AVL vacío para que no se requiera rotación
Ahora dado n es difícil encontrar eod como, por ejemplo, [math] e \ times d = 1 mod \ lambda (pq) [/ math] ya que la modularidad rompe la continuidad. Requiere una fuerza bruta principalmente para escanear todas las combinaciones posibles. Pero dada [matemática] m ^ d, m ^ e [/ matemática] la congruencia anterior puede verificarse en tiempo polinómico.
Aunque la factorización principal no es el problema más seguro para aplicar en el cifrado para uso funcional, proporciona una base para la mayoría del algoritmo de cifrado anterior porque si es robusto. Otro problema difícil que pertenece a la categoría NP es incluso difícil de verificar también. Como un problema de vendedor ambulante. El problema de decisión de TSP. Es decir, una ruta de longitud L la tarea de decidir si existe una longitud más corta que la solución dada; Es un problema superpolinomial sobre el número de ciudades.