¿Es posible crear un código de eternidad?

¿Es posible crear tal cosa? Sí, claro, acabas de describir cómo hacerlo. El problema es que probablemente no sea particularmente práctico.

Si está ejecutando su cifrado de “código de eternidad” en cualquier hardware existente, el programa que realiza el cifrado debe compilarse para ese hardware. Eso significa que tiene que convertirse en un patrón de 1s y 0s que la máquina pueda interpretar como instrucciones muy simples. La mayoría de estas instrucciones implican hacer cálculos aritméticos o mover datos en la memoria. Bastante básico. Para hacer que estas instrucciones de máquina sean un poco más legibles, hay programas llamados descompiladores que pueden convertir esos 1s y 0s nuevamente en el lenguaje ensamblador utilizado por esa máquina. El lenguaje ensamblador contiene exactamente la misma información que los 1s y 0s, solo en una forma que los humanos pueden leer (algo así como add %rdi %rci; que, lo add %rdi %rci; , agrega lo que está en rci y rci ).

Esto significa que, si está ejecutando su “código de eternidad” en un hardware que utiliza cualquier tipo de arquitectura conocida por la humanidad, alguien puede desarmar el código de ensamblaje y descubrir cómo funciona. El hecho es que las computadoras solo pueden hacer tantas cosas. La mayoría de nuestros mejores métodos de cifrado actuales no son (prácticamente) matemáticamente crackeables. Eso significa que no se pueden romper con un ataque directo al cifrado en menos de varias vidas humanas. La mayor parte del descifrado de cifrado en estos días se basa más en la explotación de errores en el código o en la ingeniería social directa (es decir, engañar a las personas para que rompan el cifrado por usted).

Entonces, sí, en teoría, podría desarrollar un lenguaje de programación diferente a cualquier otro, pero al final del día tendría que seguir las reglas del hardware en el que se estaba ejecutando. Y alguien, en algún lugar, conoce esas reglas.

No. Porque cualquier lenguaje de computadora tiene que ser compilado en código máquina para ser ejecutado, o debe ser interpretado por un programa.

Si compila el código, no importa de qué idioma se compiló, simplemente puede desmontar el código de la máquina y descubrir cómo funciona.

Si se interpreta, todo lo que tiene que hacer es desmontar el programa de intérprete y reconstruir el lenguaje para que no estudie cómo funciona.

La computadora tiene que entender el programa para poder ejecutarlo. Sabemos exactamente cómo se ve el lenguaje que usa la computadora, por lo que podemos entender cualquier programa que pueda ejecutarse en esa computadora.

La computadora Raspberry Pi usa un chip de computadora que fue diseñado para teléfonos móviles. Alrededor del 80% del chip es un procesador de gráficos secreto y de diseño personalizado con solo el 20% del procesador ARM expuesto a los usuarios. Broadcom, que fabricó el chip, consideró que el diseño y el lenguaje del procesador gráfico eran un secreto comercial muy valioso. Solo lo divulgarían a los clientes que pagaron mucho dinero y firmaron un contrato de confidencialidad. Sin embargo, las personas aún podían examinar el código para la parte de gráficos y reconstruir su lenguaje a pesar de que no tenían información sobre cómo funcionaba el procesador o de qué diversas piezas estaba compuesto. Tuvieron tanto éxito que el fabricante decidió que no tenía más sentido mantenerlo en secreto.

La decodificación del código de la eternidad sería trivial en comparación.

No. No existe una lógica perfecta, por lo que su código siempre es pirateable.

Incluso los sistemas operativos que se han desarrollado bien tienen muchas vulnerabilidades. Su código basado en el sistema operativo siempre será defectuoso. Si quieres escribir lenguaje máquina, oh … ¿por qué quieres hacer eso?

En teoría, podría ser posible pero no sería práctico con los sistemas actuales. Para hacer esto, tendría que tener una computadora con un sistema de procesamiento y circuito capaz de funcionar con este código avanzado. En segundo lugar, necesitaría algún tipo de compilador interno para traducir cualquier código fuente externo que ingrese a su dispositivo. Además de eso, necesitaría un descompilador externo que podría traducir su código fuente en código fuente externo. Hasta ahora ve dónde radica el problema. En mi opinión, el sistema en sí es una solución fácil. Un código más avanzado que se ejecuta en una computadora podría hacerse teóricamente de muchas maneras. Por ejemplo, podría usar un circuito fotónico en su sistema que pueda transmitir datos utilizando la luz.

Si se hiciera esto en una versión más avanzada de los circuitos fotónicos actuales, se podrían usar partes alternas del espectro de color para construir una autopista para un código tan avanzado en lugar de depender de pulsos singulares alternos para la transmisión de datos. Al tener las transmisiones del espectro de luz separadas en pulsos, se podría complicar aún más el código que se puede transmitir a través del circuito. Los procesadores se pueden lograr a través de una especie de transistor de radiación o, posiblemente, si no le preocupa el espacio, una unión de cable de luz compactada. Sin embargo, el almacenamiento podría ser un problema.

Personalmente, creo que algo así como un código de eternidad mientras sea posible no es práctico. Pero eso no significa que un código tan avanzado no tenga uso. Si se aplicara un código avanzado a la tecnología moderna, podría hacer que experimente saltos y límites. El código avanzado podría aumentar la velocidad de procesamiento y permitir algoritmos más avanzados. Por ejemplo, si bien un verdadero ai no es práctico y es probable que nunca ocurra mientras se usa binario con una codificación base más avanzada, podría funcionar.