Una biblioteca para desarrollo de aplicaciones criptográficas, de Microsoft, ha sido liberada para investigadores y programadores. La biblioteca se describe en su estado como en desarrollo activo, y se busca que trabaje en los servicios de la nube en HTML5. Los algoritmos en la misma se exponen usando la interfaz de criptografía del consorcio W3C. Este es un API que permite crear sitios web seguros sin necesidad de una conexión segura usando SSL o cualquier otro protocolo similar.
Las acciones especificadas en este API le permiten al desarrollador:
- autentificación multifactorial
- protección en intercambio de documentos
- almacenamiento en la nube
- firma de documentos
- protección en la integridad de los datos
- mensajería segura
Las funciones en la biblioteca de Microsoft en Javascript han sido probadas contra la implementación del IE11 en la interfaz criptográfica web, y Microsoft también ha probado la biblioteca en otros navegadores, específicamente IE8 en adelante, Firefox, Chrome, Opera y Safari.
La biblioteca incluye aritmética de grandes números (precisión muy grande) para apoyar los algoritmos criptográficos, y este elemento, de acuerdo a Microsoft, es el más susceptible de cambiar en las versiones posteriores. En su forma actual soporta aritmética entera sin signo con suma, resta, multiplicación, división, reducción, inversión, MCD (máximo común denominador), exponenciación modular, algoritmo extendido euclidiano (EEA por sus siglas en inglés) y multiplicación Montgomery. Hay también rutinas de conversión, entre otras.
Hay controversia, sin embargo, sobre la utilidad de una biblioteca Javascript de criptografía. El argumento es que el navegador per se es completamente inseguro y realizar encripción segura así es simplemente exponerse a un sinfín de problemas. Y aunque es cierto que atacar las vulnerabilidades de los navegadores parece ser un asunto fácil, la encripción Javascript da una capa de protección y por ello bien podría tener valor el usarla.
Al descargar la biblioteca, se obtienen los scripts, las unidades probadas y algo de código ejemplo. Igualmente, se tiene un enlace a la sección de criptografía web del sitio de desarrollo de Internet Explorer. No obstante, no hay documentación, asunto que resulta insólito.
Referencia
W3C Web Cryptography API
Microsoft Research JavaScript Cryptography Library