Un poco de historia:
Llamamos “algoritmo”, en un sentido amplio y simplificado, a un conjunto de instrucciones y procedimientos para manipular cualquier tipo de objetos con el fin de obtener un resultado.
Aunque el concepto “algoritmo” procede de la más remota antigüedad, había ido quedando restringido en la práctica al campo de las matemáticas. Sin embargo, en los últimos años se ha recuperado la amplitud propia del concepto, hasta el punto de ser una de las palabras de más frecuente uso en la actualidad para diversas utilidades.
Por otra parte, la evolución del razonamiento humano, entremezclando los métodos matemáticos (aritméticos, algebraicos y geométricos) con los procesos lógicos y los fenómenos fisico-químicos ha generado una nueva materia de estudio, una nueva ciencia, que se conoce como ALGORITMIA.
En esta evolución han jugado un papel fundamental los sistemas e instrumentos de representación, que han dado lugar a un progreso acelerado de los procesos y conceptos de cálculo.
A lo largo de siglos el cálculo numérico se realizó en base decimal. Inicialmente con la ayuda de dispositivos mecánicos, desde el ábaco, anterior incluso a las operaciones “escritas” y al propio sistema decimal, hasta los ordenadores analógicos, pasando por la rueda numérica, que es la base última de todas las soluciones imaginativas que se desarrollaron hasta la Segunda Guerra Mundial.
Los ordenadores analógicos se basan en relaciones directas entre la cantidad de una magnitud física variable y el valor del resultado que se pretende obtener, así como en relación con los objetos que intervienen y sus variaciones.
El ordenador analógico viene a ser simplemente un referente histórico que, por su cercanía, permite apreciar la gran velocidad de desarrollo durante la segunda mitad del Siglo XX de los mecanismos y tecnologías para la computación, con una aceleración exponencial a lo largo delXXI.
La revolución digital:
La representación de números en base binaria y la lógica booleana han significado un avance espectacular en relación con las capacida desde operación de los ordenadores, que han dado lugar a lo que se conoce como “la revolución digital”.
Por su proyección y trascendencia, la llamada ENIAC (ElectronicNumerical Integrator And Computer) está considerada como la primera computadora digital de propósito general. Es totalmente digital y se presentó en febrero de1946. Sirvió de base para el famoso Colossus, descifrador del código alemán en la Segunda Guerra Mundial. El ENIAC tenía un volumen enorme y consumía gran cantidad de energía.
A partir del año 50, se identifica el bit como la unidad fundamental de datos y se inician las investigaciones tecnológicas y de nuevos materiales para conseguir ordenadores cada vez más pequeños, con menor consumo energético y con velocidades de proceso cada vez mayores.
Las válvulas termoiónicas e incluso los transistores independientes han sido totalmente desterrados. Los ordenadores actuales se basan en circuitos integrados y microchips, que, con los avances en software en forma acumulativa, han elevado a muy alto nivel las capacidades de proceso de datos y han permitido la aparición de los microprocesadores.
La complejidad de algunos de los algoritmos que los científicos y tecnólogos se han llegado a plantear para el estudio de procesos reales de todo tipo, supera ampliamente la capacidad de tratamiento de los ordenadores actuales más avanzados. La expectativa de mayores progresos en este terreno presenta límites físicos que hasta el momento no han podido superarse.

Compuertas digitales:
Las compuertas digitales, llamadas también compuertas lógicas, son circuitos de conmutación integrados en un chip, implementados con diversos elementos electrónicos, diseñados para realizar operaciones lógicas binarias (suma, multiplicación) y obtener resultados booleanos (0,1). Estos circuitos se pueden interconectar para el tratamiento de diferentes algoritmos. También se pueden conectar con otros circuitos configurables, como pueden ser controladores o FPGAs, para programar un comportamiento determinado.
Una compuerta lógica es la operación digital más elemental. Se consideran básicas cuatro o cinco operaciones: multiplicación lógica (AND), suma lógica (OR), la negación lógica (NOT), la comparación lógica(XOR) y la función booleana de igualdad (SI). El resto de las operaciones se realizan combinando las anteriores y sus negaciones. Los sistemas digitales actuales están constituidos por estos bloques básicos.
Representación de los algoritmos:
Para el análisis y estudio de los procesos reales se recurre frecuentemente a la representación matemática y gráfica de los algoritmos correspondientes y a su simulación. Esto permite su tratamiento mediante las diferentes herramientas de cálculo disponibles (ordenadores).
Tanto en base decimal como en base binaria y en cualquier otra base numérica, el valor que toma un dígito depende de la posición queocupa dentro de un número. La representación posicional de un número tiene una importancia esencial sobre su valor.
Las sumas aritméticas, tanto numéricas como vectoriales, tienen el mismo tratamiento. La multiplicación en la representación posicional corresponde a n sumas. En el caso de vectores unitarios, la multiplicación se realiza mediante la suma (una) de fases, sin mayor dificultad.
Cuando se considera un espacio de n dimensiones(n-tuplas) la multiplicación posicional se realizaría por tanto en n pasos mientras que la multiplicación vectorial lleva solamente un paso, por tanto, para conseguir la mayor eficiencia se hace necesaria la representación vectorial.
En el caso de la exponenciación, con un razonamiento similar, podemos decir que se trata de nn sumas en representación posicional para n dígitos, mientras que, en representación vectorial, para n dimensiones son n sumas.
La supremacía vectorial resulta evidente, lo que significa que la clave para dar solución a las mayores exigencias de cálculo se encuentraen la representación vectorial.
La formulación matemática de los algoritmos se apoya en la representación vectorial, los conjuntos finitos, el cálculo matricial y las proposiciones de la lógica de Boole. Todo ello se implementa en circuito selectrónicos, que reproducen el comportamiento del proceso correspondiente.
Algoritmos cuánticos:
Las tecnologías actuales han alcanzado tal variedad y nivel de aplicaciones que los investigadores se encuentran enfrentados a una gran diversidad de algoritmos cuya resolución excede ampliamente las capacidades computacionales de resolución en los más potentes ordenadores clásicos, es decir, en el tiempo polinómico. No obstante, existen funciones que permiten verificar cualquier solución propuesta para los mismos.
Se trata de los llamados algoritmos cuánticos. Se ejecutan en un modelo realista de computación cuántica, implementados en circuitos cuánticos, que constituyen una puerta lógica cuántica.
La mayor parte de estos algoritmos específicos están relacionados con la resolución de ciertos algoritmos básicos:
Son ejemplos tradicionales de algoritmo básico:
- La transformada cuántica de Fourier (transformada discreta de Fourier)
- El algoritmo de Shor (factorización de números enteros).
- El logaritmo discreto.
- Algoritmo de Grover.
Ordenadores cuánticos:
Los ordenadores cuánticos, para cuyo desarrollo las mayores multinacionales tecnológicas están aplicando muy importantes recursos, presentan importantes problemas de progresión debido a las desmesuradas exigencias físicas que comportan.
En los ordenadores cuánticos se trata de implementar los vectores en los estados cuánticos de la materia en sus múltiples dimensiones.Esto se lleva a cabo, en los casos más conocidos, mediante pequeños circuitos de superconductores en los que se consiguen efectos cuánticos reales, para lo que se requiere mantenerlos a temperaturas extremadamente bajas (-273,1360C; 0,0140 K) cero absoluto más 13-15 milésimas de grado Kelvin.
La opción de los superconductores, aplicada entre otros por IBM, parece que es la que presenta mejores perspectivas. Todas ellas están condicionadas por los principios y postulados de la mecánica cuántica(principio de indeterminación, dualidad onda-partícula, etc.) conocidos y estudiados desde comienzos del siglo XX, que son los que marcan los tratamientos posibles y sus limitaciones.
Se define el qubit como la unidad fundamental de datos(información) para los procesos cuánticos.
La posibilidad de superposición y de entrelazamiento de estados permite la implantación de sistemas cuánticos con un gran número de qubits, favorecido asimismo por la dualidad onda-partícula, mientras que, por otro lado, la necesidad de alejar la posibilidad de interferencias con partículas externas próximas, presenta unas exigencias de mantener un ambiente con temperaturas inferiores a -273o C y a conservarlos en condiciones de vacío, lo que se traduce en importantes limitaciones de capacidad por razones de volumen y consumo y disipación de energía.
Los ordenadores cuánticos, propiamente dichos, se conforman con un conjunto de puertas lógicas organizadas para resolver el algoritmo. Las puertas lógicas cuánticas son reversibles, por su propia naturaleza y se representan mediante matrices unitarias. Operan sobre un número muy pequeño de qubits.
Hay otros planteamientos en estudio, como son los que tratan de reproducir estos estados, manteniendo iones atrapados en trampas laser en distintos estados y controlándolos y combinándolos mediante láseres, con distintas distribuciones de los restantes electrones y con diferentes posiciones del spin nuclear para implementar los estados deseados.
En cualquier caso, cuanto mayor es el volumen de información, mayores son las exigencias de capacidad de resolución para el ordenador, lo que, en la práctica establece límites de resolución para muchos algoritmos.
Por la propia naturaleza analógica de los ordenadores cuánticos, existe el problema de la precisión en la medida de los resultados, dificultad que crece exponencialmente al escalar la capacidad de los mismos.
Alternativa Criptosasun:
DiVicenzo y otros muchos investigadores han puesto de manifiesto el gran número de dificultades que presentan las líneas de investigación que están en desarrollo, en las que se trata de aplicar las propiedades cuánticas de los qubits para resolver los algoritmos cuánticos. Esta circunstancia se manifiesta claramente en el ritmo de desarrollo de todas las iniciativas de las grandes multinacionales tecnológicas en este sentido. Se extiende la idea de que los ordenadores cuánticos basados en puertas lógicas nunca llegarán a funcionar con la eficiencia necesaria debido a la tasa de errores e imprecisiones que arrastran.
Prácticamente, está descartada la idea de poder disponer en un tiempo razonable de ordenadores personales cuánticos. Los más optimistas piensan en grandes ordenadores centralizados, con el acceso distribuido a sus servicios.
Ante esta situación, Criptosasun está trabajando sobre otra aproximación para resolver deforma eficaz los algoritmos de loa procesos cuánticos de mayor complejidad e incluso llegar a superar los diversos desafíos tecnológicos pendientes. El objeto principal de estos trabajos es obtener, mediante un enfoque novedoso, un procesador cuántico digital que signifique una alternativa de cálculo frente al ordenador cuántico analógico.
Estos trabajos se vienen desarrollando en base a un profundo estudio en torno a las propiedades de las “redes neuronales dinámicas”,aplicando diversos mecanismos para materializar las transiciones dinámicas. Se investigan todas las posibilidades de comportamiento y de los “enlaces” y delos “nodos”, tanto para almacenamiento de qubits como para la generación de señales complejas.
Los primeros trabajos de investigación de Criptosasun en esta línea se han dirigido a simular la configuración de algoritmos cuánticos básicos sobre redes neuronales, como la Transformada de Fourier (directa e inversa), operaciones aritméticas sobre qubits (suma, multiplicación, división, exponenciación y equivalentes modulares) y algoritmos con funcionalidad de alto nivel como factorización y logaritmo discreto, entre otros. Estas simulaciones han permitido superar las capacidades de proceso y mejorar sensiblemente los tiempos tiempos, en relación con los métodos clásicos de tratamiento de estos algoritmos.
Sobre los trabajos teóricos de simulación, se han ido practicando verificaciones sucesivas en un ordenador digital clásico, que han dado lugar a un proceso de conexión real imaginativo y suficientemente contrastado, adaptable de forma individualizada a diversos algoritmos cuánticos.
A partir de ello, Criptosasun ha desarrollado el diseño de un “procesador cuántico digital” a base de módulos FPGA, organizados en varios racks (servidores), en los que se implementan las redes neuronales dinámicas, con el aprendizaje oportuno, específico para resolver los retos y problemas con los que se enfrenta la criptología actual, especialmente en relación con el análisis criptográfico. Así como para cualquier otro algoritmo cuántico al que se pretenda dar solución.
RTrascender:
Criptosasun ha sistematizado estos trabajos con el desarrollo de un sistema operacional genérico trascendente, basado, como se ha dicho, en el comportamiento de las “redes neuronales dinámicas”, capaz de readaptarla formulación de un algoritmo cuántico a una fórmula tratable en el “procesador cuántico digital”, descrito anteriormente. Se designa RTrascender (RT)al conjunto de este hardware, junto con el sistema operacional genérico; lo que viene a ser la culminación del objetico de Criptosasun.
La principal cualidad del RT, frente a los crecientes desafíos tecnológicos reside en la posibilidad de escalar su capacidad computacional para poder alcanzar la resolución y verificación de los algoritmos cuánticos más complejos, surgidas en la revolución cuántica de las nuevas tecnologías.
Entre otros, el RT podría permitir el desarrollo de un nuevo concepto de Blockchain vía Quantum Measurement (QM). Puede introducir mejoras exponenciales en los cálculos basados en estadística que dependen de un gran número de variables e inputs, cuando éstos alcanzan un número no manejable por los sistemas binarios. Por otra parte, al aumentar la capacidad y la velocidad de proceso, se reducen significativamente el rango de dispersión de resultados y la incertidumbre en cálculos predictivos.