Tres componentes principales del algoritmo RSA son la exponenciación, la inversión y la operación modular. La complejidad temporal del algoritmo depende en gran medida de la complejidad de los submódulos utilizados. Podemos tomar la libertad de realizar una adición modular en criptografía en [math] O (logn) [/ math] donde [math] n [/ math] es el número de dígitos en cualquier número en [math] \ mathbb {Z} [ /mates].
Ahora la multiplicación modular usando la técnica de cuadratura y multiplicación para obtener [math] m ^ e mod N [/ math] puede mostrarse como multiplicar los dígitos de m log e veces. Teniendo en cuenta la complejidad de la multiplicación [matemática] O (\ {logn \} ^ 2) [/ matemática], es decir, la adición repetida de dos números de bits logn cada uno, la complejidad de la exponenciación modular es aproximadamente [matemática] O (\ {logn \ } ^ 3) [/ matemáticas]
Usando Euclidean Extended GCD de (algoritmo Euclidean extendido), el inverso de un número se puede calcular en [matemática] O (\ {logn \} ^ 2) [/ matemática]
- Si U = {todos los enteros positivos menores o iguales a 30} y N = {todos los números impares menores o iguales a 19}, ¿qué es N 'y n (N')?
- Cómo comenzar a aprender o fortalecer mi conocimiento de estructuras de datos y algoritmos
- ¿Cuál es el algoritmo predeterminado utilizado para buscar en MapReduce?
- Cómo resolver esta relación de recurrencia: (bn + 1) = 6 * ((bn)) ^ 7, b (0) = 36
- ¿Cuál es el algoritmo más fácil para encontrar el camino más corto en un robot seguidor de línea para un principiante?
Por lo tanto, la complejidad de tiempo general del algoritmo de generación de claves será el algoritmo de cifrado y descifrado [matemático] O (N ^ 2) [/ matemático] usando la técnica de cuadratura y multiplicación será [matemático] O (N ^ 3): [/ matemático] Para N dígitos número de espacio.
Usando otros algoritmos exponenciales como el algoritmo de Karatsuba o el algoritmo de Fürer, la complejidad temporal del algoritmo de Schönhage-Strassen puede reducirse aún más durante el cifrado y descifrado. Y utilizando el tiempo de reducción de Barrett, la complejidad de la inversión también se puede reducir.