¿Cuál es el algoritmo de cifrado más complejo?

Todo el cifrado que existe se reduce a un generador de números pseudoaleatorios para generar un pseudo pad único y la función XOR.

El PRNG es la parte del algoritmo que hace todo el trabajo, pero debido a que puede hacer que sea algo externo (se pueden usar las ligeras fluctuaciones en un púlsar), decir que es intrínseco al algoritmo no es del todo honesto.

De acuerdo, no siempre se implementan como (flujo generado) (+) (flujo de datos), particularmente cifrados de bloque donde los datos se pueden mover alrededor del bloque o plegarse de forma reversible, pero siempre se puede convertir cualquier cifrado en un flujo generado XOR flujo de datos.

Entonces, una respuesta es que todos los componentes de encriptación del algoritmo de encriptación son igualmente simples y constituyen un operador binario.

Probablemente esa no sea la respuesta que está buscando, pero Deep Thought tendrá que explicarle por qué. 🙂

Si eliminamos respuestas triviales, hay varios posibles candidatos.

Arco iris: trata los datos como una matriz cuadrada. Aplica un algoritmo de la familia DES “a través”, luego un algoritmo diferente “abajo”, luego el primer algoritmo “a través” nuevamente. La complejidad efectiva es alta, pero es difícil decir qué tan alto porque el álgebra necesitaba reducir esto a un formulario donde podría hacer una comparación directa no existe.

(Casi cualquier bloque de cifrado) + XCBC: XCBC toma tres flujos de datos, uno el bloque y dos vectores iniciales generados de otro modo. XCBC encripta y autentica, por lo que estos datos adicionales tienen un buen uso. Debido a que tiene cifrado más cifrado con tres conjuntos de datos independientes, siempre que el cifrado no se cancele, diría que esto es increíblemente complejo. Es lo suficientemente loco como para saber que nadie lo usa.

(Corrección de error como un cifrado) + (Cualquiera de los anteriores): Convierta los datos en un cubo N (una forma rectilínea de lados iguales de N dimensiones donde todos los lados son idénticos). Codifique utilizando códigos de corrección de errores (restaurativos, no simplemente de detección) de modo que haya una solución única para lo que habrían sido los datos originales. Luego use cifrado autenticado para ocultarlo. La mayoría del cifrado deja rastros residuales de datos (la razón por la que se desarrolló el 2DEM), que se puede utilizar para debilitar la clave sin depender de un problema con el cifrado. La corrección de errores y la compresión se utilizan, en varios casos, para tratar de eliminar las huellas digitales.

(Cifrado consciente de la relación): esto es complejo en términos de diseño en lugar de la cantidad mínima de lógica necesaria para programarlo. Este tipo de cifrado se usa comúnmente en bases de datos, donde absolutamente no desea que personas no autorizadas puedan inspeccionar los datos, donde desea evitar el descifrado donde sea posible (en parte, la misma razón, en parte el rendimiento), pero donde permanecen todos los operadores de relaciones en SQL absolutamente válido, a pesar de que están trabajando en los datos cifrados. Algunos lo tienen donde algunas de las matemáticas también funcionarán. Por lo tanto, P encriptado viene antes que Q encriptado y encriptado 45 + encriptado 54 = encriptado 99. Necesariamente, esto es relativamente débil, pero es muy útil.

Cifrado bizantino con combinaciones restringidas: el cifrado bizantino es simplemente donde una clave se divide en N partes, donde puede reconstruir la clave con cualquiera de ellas. Sin embargo, es posible que desee agregar una restricción adicional, que si A está presente, B está ausente. En otras palabras, la forma en que se combinan las claves no es por simple mosaico sino por una pieza de lógica con propiedades criptográficas / de autenticación.

Cifrado de clave pública bizantino inverso: desea un mensaje que pueda cifrar y luego multidifusión o difusión, donde cualquier clave de un conjunto específico puede descifrar el mensaje pero no otro. La transmisión digital es punto a punto en lugar de multidifusión porque nadie podría descubrir los derechos de autor o un sistema de facturación. Debe poder transmitir contenido a personas específicas sin el secreto del intercambio de claves (porque si eso fuera aceptable, Internet estaría protegido a través de IPSec, que no lo es) y con una transmisión independientemente de cuántos reciban. Hasta donde sé, esto no existe, lo que lo convierte en el sistema de cifrado más complicado.

More Interesting

¿Dónde puedo obtener la mejor implementación de Java del algoritmo de ruta más corta de Dijkstra?

¿Hay algún algoritmo de compresión de texto con pérdida?

¿Puedes mejorar para resolver problemas algorítmicos que son completamente nuevos para ti?

¿Hay algún libro sobre estructuras de datos y algoritmos que tenga estructuras de datos diferentes, su complejidad, sus usos y todas las cosas interesantes sobre ellos?

¿Cuál es el mejor curso para algoritmos y estructuras de datos?

¿Puedo aprender el algoritmo yo mismo?

¿Alguien puede aprender programación, algoritmos y estructuras de datos en tres meses y obtener el bronce en la Olimpiada Británica de Informática?

¿Qué es una explicación intuitiva de IDA * (profundización iterativa A *)?

Cómo crear mi propio algoritmo de compresión básico para archivos

Tiene una lista vinculada en la que cada nodo es otra lista vinculada. ¿Cómo encuentra el elemento Kth más exclusivo entre todos los nodos en el momento más óptimo?

Noto que las estructuras de datos son difíciles de entender y asimilar con solo leerlas. ¿Qué tengo que hacer?

¿Cuál sería su selección de 20 problemas en algoritmos de clasificación (6 problemas de nivel básico, 6 problemas de nivel medio y 8 difíciles) para que resolver esos 20 le daría la máxima comprensión sobre la clasificación?

¿Cuáles son algunos algoritmos de flujo de red interesantes?

¿Es más difícil probar la corrección de algoritmos codiciosos que probar la corrección de cualquier otra clase de algoritmos?

¿Cuál es el algoritmo de clave pública y privada?