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.
- ¿Cuál es el problema más interesante que ha encontrado y que utiliza la recursividad?
- ¿Existe un algoritmo para fusionar dos árboles rojo-negros con una complejidad menor que O (n + m)?
- ¿Qué tan importante es el nuevo generador de números aleatorios PCG?
- ¿Qué habilidades matemáticas son necesarias para la programación de computadoras?
- ¿Qué debo saber sobre las matemáticas combinadas con el desarrollo web (programación)?
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.