¿La criptografía es un arte o una ciencia?

Gracias por la A2A, Vidyadutt Kamarajugadda.

Me apasiona esta área, así que por favor tengan paciencia conmigo si mi respuesta es demasiado larga para su gusto.

En primer lugar, me gustaría afirmar que la premisa de la pregunta parece suponer que, dado que la criptografía se basa principalmente en las matemáticas, debería ser un derivado del debate sobre si las matemáticas son o no un arte o una ciencia.

La matemática no es ciencia. Puede llamarse un arte, pero, por supuesto, no en el sentido muy convencional y culturalmente aceptado del término. No es una ciencia, como lo expresó Feynman, porque el experimento no es la prueba de su validez . Esa es una premisa muy básica y esencial para la ciencia: la observación, la hipótesis y la verificación experimental son los tres componentes básicos de la ciencia. Las matemáticas no siguen esta estructura particular; no estudia la naturaleza directamente. Las matemáticas son una herramienta para que la ciencia progrese. En sí mismo, es algo muy hermoso, pero esa discusión es para otro momento.

Habiendo dicho eso, rompamos otro mito: la criptografía “moderna” definitivamente no está “100% basada en matemáticas” como dice la pregunta. Es cierto que el diseño de algoritmos, especialmente en el dominio de clave pública, se basa en la dureza o dificultad de algunos problemas matemáticos (por ejemplo, la factorización de enteros o el problema del logaritmo discreto). Sin embargo, la criptografía es más que solo diseño: de hecho, se trata más de romper estos sistemas para desarrollar otros nuevos (técnicamente, eso es criptoanálisis y la criptografía es diseño, juntos forman criptología). Y el criptoanálisis ya no es un área totalmente matemática. Por ejemplo, para romper la seguridad de una tarjeta inteligente o un dispositivo RFID, a menudo empleamos técnicas llamadas “ataques de canal lateral”. ¡Podemos estudiar el sonido producido mientras ejecutamos un algoritmo para romper su clave! Podemos estudiar incluso el consumo de energía mientras ejecutamos un algoritmo criptográfico y romperlo.

De hecho, la criptografía que se usa hoy en día se basa peligrosamente en la dureza matemática, y esto cambiará pronto con la llegada de la computación cuántica y los sistemas de información cuántica o la criptología post-cuántica. Hay muy pocos sistemas actuales que sean resistentes a los ataques cuánticos (un ejemplo es el tipo de criptosistema McEliece).

Volviendo ahora, a la pregunta real:

Sí, la criptología es ciencia. La seguridad de un sistema ya no es una propiedad teórica. La noción de seguridad perfecta no existe hoy. Lo que necesitamos es un sistema que pueda tener una debilidad conocida, pero no debe existir un algoritmo eficiente para romperlo. Cada vez que se propone un nuevo sistema, el trabajo principal para los criptólogos de todo el mundo es probar repetidamente nuevos ataques e intentar romperlo. En el momento en que encuentran tal ataque, se demuestra que el sistema es inseguro. El ataque debe ser eficaz: por ejemplo, si ejecuta un código durante 600,000 años, romperá los hashes de la familia SHA con probabilidad 1, pero dicho ataque es inútil. Hasta entonces, se puede suponer que el sistema es razonablemente seguro contra los ataques conocidos actuales, y no es perfectamente seguro. La evolución de la criptografía se basa en esta idea, y la experimentación y la innovación (con respecto al diseño, análisis y diseño posterior) es el camino a seguir. Definitivamente es una ciencia, al menos en la forma en que Feynman lo ve.

Pero luego, piense en el puro placer que la criptografía puede brindarle a veces: recuerdo especialmente un trabajo de investigación seminal de Xiaoyun Wang, donde rompió la función hash MD4 usando un concepto brillante de rotaciones de bits, que fue realmente simple en términos de idea técnica, pero el adjetivo apropiado es “maravilloso”. Sin entrar en detalles técnicos, le daré un problema muy importante de seguridad en la nube:

Supongamos que administra un hospital y desea analizar algunos de los datos. Tiene la intención de utilizar los recursos de la nube para esto. Pero entonces, los registros de los pacientes son confidenciales; no es posible que los divulgue. Entonces, el problema se reduce a esto: ¿cómo puede calcular algunos datos sin revelar el contenido real?

Este problema, incluso para el profano, es emocionante. Si continúa estudiando estas ideas, pronto alcanzará implicaciones filosóficas imposiblemente profundas. Para empezar, solo considere las nociones de secreto, perfección, seguridad perfecta (o la falta de ella). Si dejas que tus pensamientos vaguen, llegarán a nuevos y maravillosos planos.

¿Qué más pedimos de una obra de arte, que ese momento de intensa pasión y realización, cuando te pierdes en otro mundo? En ese sentido, la criptografía tiene millones de esos momentos, en los que retrocede y aprecia el brillo de las ideas. Definitivamente es un arte.

Entonces, lo siento, lector, si esperaba una opción: pero para mí, la criptografía es tanto arte como ciencia. De hecho, para mí, en algún nivel, la ciencia es un arte, tiene una filosofía subyacente muy profunda que te ayuda a explicar el universo. Las matemáticas son la herramienta para reducir esa realización en una forma computable.

Pero incluso más que eso, por encima de este debate sobre si la criptografía es un arte o una ciencia, hay algo más importante. Si lo estudió correctamente, se divirtió en el camino, experimentó las ecuaciones de bambú y hackeó una tarjeta inteligente de metro solo para bromas, sabrá esto:

La criptografía es hermosa.

Su opinión sobre esto dependerá sustancialmente de si cree que las matemáticas son un arte o una ciencia.

Inventar nuevos sistemas es un arte. Pero probar que esos sistemas tienen propiedades de seguridad particulares es probablemente más una ciencia.

Ahora, cuando digo “ciencia”, no estoy diciendo que gran parte de la creatividad no interviene en el proceso. La creatividad es una parte importante de la ciencia. Pero el resultado (teoremas de seguridad, etc.) son cosas que luego pueden ser analizadas por cualquier persona con suficiente capacitación. Sus atributos no están en el ojo del espectador.

Tome un cubo de Rubik y escriba un mensaje de texto sin formato de letras limitadas, una en cada cuadrado de color, que significa M en inglés.
Ahora mezcle tan aleatoriamente como desee, las letras en el orden actual significan M ‘, que puede ser nulo (sin significado).
M ‘es el cifrado de M. (DIY: ¿aumentó la entropía?)
Descifrarlo de nuevo a su estado original (M ‘-> M, sin conocer M) puede tomar, combinatoria a caminos hamiltonianos a teoría de grupos a curvas elípticas (?) A teoría de grafos a teoría de números (a teoremas de divisibilidad) a cálculo estocástico , dependiendo de su enfoque.
Elige tu opción.

More Interesting

Como estudiante de primer año de ciencias de la computación, ¿debería saber estas matemáticas?

¿Cuál es el beneficio de estudiar lógica y teoría de conjuntos para matemática o informática?

¿Cómo se crean los rompecabezas de sudoku a gran escala?

¿Por qué es más fácil la adición de peano para una computadora?

No estoy interesado en los cursos de cálculo y matemáticas, ¿CS CS es la opción correcta?

¿Cómo funcionan la Ley Idempotente y la Ley de Dominación?

¿Cuál es una buena manera de aprender y comprender la escritura dependiente en un idioma como Idris / Coq / Agda?

¿Hay ramas de las matemáticas y las ciencias que no se han descubierto, o hemos agotado todo el conocimiento que requerimos sobre estos dos?

¿Es probable que los matemáticos y físicos también se destaquen en informática?

Informática teórica: ¿Cuáles son las funciones aparte de la función de Ackermann que solo se pueden resolver de forma recursiva y no se pueden resolver de forma iterativa?

¿Por qué elegir una base de datos relacional sobre una no relacional, si la consistencia y la disponibilidad no son factores?

¿Cuántos arreglos de piezas de ajedrez en un tablero de ajedrez hay, suponiendo que las piezas lleguen a sus posiciones mediante movimientos legales?

¿Qué entero decimal está representado por 0xE4 en una notación de complemento a dos de 8 bits?

¿Cuál es la diferencia entre un producto cartesiano y una unión disjunta? (Con respecto a los lenguajes de programación)

¿Cómo se programan las computadoras para resolver problemas matemáticos?