
Cryptography in C - C++, 2nd Edition
Michael Welschenbach
- Editorial
- Apress
- Año
- 2013
- Páginas
- ~482
- Nivel
- Intermedio
De qué trata
Tratado técnico y exhaustivo de Michael Welschenbach dedicado a la implementación práctica, rigurosa y desde cero de la criptografía moderna utilizando C y C++ (estándares ANSI C99 y C++ clásico). Está dirigido a programadores e ingenieros de software de nivel intermedio a avanzado que posean una base firme en el control de punteros y memoria, así como familiaridad con la notación matemática, y que necesiten comprender la ingeniería interna de los algoritmos criptográficos sin depender de cajas negras o bibliotecas de terceros.
El núcleo temático aborda con detalle la aritmética de precisión múltiple y la teoría de números computacional, resolviendo la necesidad de operar con números enteros gigantescos esenciales para la seguridad asimétrica. Enseña a implementar cálculos en clases residuales, algoritmos de exponenciación modular rápida, el algoritmo extendido de Euclides, generadores de números pseudoaleatorios criptográficamente seguros y pruebas probabilísticas de primalidad como Miller-Rabin y Fermat. En el terreno de los algoritmos de cifrado, cubre tanto el estándar simétrico Rijndael (AES) como el criptosistema asimétrico RSA, detallando el manejo seguro de errores y la optimización a bajo nivel.
El libro guía el desarrollo completo y modular de dos bibliotecas interconectadas: LINT (Large Integer in C) y su contraparte orientada a objetos CLINT en C++, acompañadas de suites completas de pruebas unitarias y de rendimiento. Su mayor valor reside en desmitificar los fundamentos matemáticos y convertirlos en código funcional de alto rendimiento; como contrapartida, no aborda estándares web ni protocolos contemporáneos como TLS o curvas elípticas modernas, por lo que es un texto idóneo para dominar las bases estructurales de la criptografía y el cálculo de precisión arbitraria.
- C
- C++
- Criptografía
- Aritmética de precisión múltiple
- Algoritmo RSA
- Rijndael (AES)
- Teoría de números
- Pruebas de primalidad
- Generación de números aleatorios
- Biblioteca LINT
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Biblioteca de enteros de precisión múltiple LINT / CLINT
Biblioteca desarrollada en C y C++ para el cálculo aritmético con enteros gigantes, que implementa operaciones modulares, funciones lógicas a nivel de bits y pruebas de primalidad.
Motor criptográfico RSA y cifrador Rijndael (AES)
Implementación funcional de los esquemas de generación de claves, cifrado, descifrado y firma digital de RSA junto con el cifrador simétrico por bloques AES, respaldados por una suite de pruebas de verificación.

