Criptosistema Dashu
Para resolver el problema de los cálculos a gran escala, los desarrolladores de software e investigadores de todo el mundo han llevado a cabo mucha investigación y práctica. En los últimos años, cada vez más desarrolladores han comenzado a prestar atención al papel de la ingeniería de software. Para reducir la duplicación del trabajo, mejorar la calidad del software y la reutilización del código, han surgido muchas bibliotecas de operaciones excelentes. La siguiente es una breve introducción a varias excelentes bibliotecas de números grandes:
GMP: La biblioteca de números grandes GMP es parte del proyecto GNU y nació en 1991. Como biblioteca aritmética de enteros grandes de precisión arbitraria, incluye varias operaciones aritméticas básicas en enteros con signo, números racionales y números de punto flotante de precisión arbitraria. Es una biblioteca de lenguaje C, pero se proporciona la clase de paquete oficial de C. Sus principales direcciones de aplicación son criptografía, seguridad de red, sistemas algebraicos, informática, etc. La velocidad de operación de la biblioteca GMP es muy rápida. Su sitio web oficial afirma ser la biblioteca de números grandes más rápida del planeta. Sin embargo, la biblioteca GMP solo proporciona operaciones matemáticas y no tiene funciones avanzadas relacionadas con la criptografía.
Miracl: La biblioteca Miracl es una biblioteca de gran número desarrollada por Shamus Software Co., Ltd. Tiene licencia gratuita para investigación científica educativa o uso no comercial. Es una biblioteca de lenguaje C con varias clases contenedoras de C simples. Desde el punto de vista funcional, no solo proporciona varias operaciones matemáticas en fracciones y enteros grandes de alta precisión, sino que también proporciona muchas operaciones subyacentes en muchos algoritmos de cifrado en el módulo de funciones, como SHA, AES, DSA, etc. Lo más especial es que también proporciona muchos sistemas de cifrado de curva elíptica en los módulos funcionales subyacentes. La biblioteca Miracl también es muy rápida porque su implementación interna utiliza una gran cantidad de código de nivel ensamblador.
Crypto: La biblioteca Crypto es un proyecto de código abierto y de uso gratuito. Debido a que es una biblioteca implementada en C puro, es muy conveniente de aplicar. La estructura de la biblioteca es clara, fácil de usar y la documentación también es muy completa. La biblioteca Crypto proporciona implementaciones de muchos algoritmos de cifrado.
OpenSSL: OpenSSL es una implementación de código abierto de SSL y paquetes de software de cifrado relacionados, iniciada y escrita por Eric Yang y otros en Canadá. Admite resúmenes de mensajes, cifrado y descifrado de archivos, certificados digitales, firmas digitales y números aleatorios. Su objetivo principal no es una biblioteca de grandes números, sino la implementación y aplicación del protocolo SSL, pero también tiene algunas funciones sobre números enteros grandes y también se basa en el lenguaje C.