El archivo MAKE está escrito por Rinick y se puede compilar en lib en bcc (
[email protected])
Hay 4 directorios bajo el paquete comprimido.
lib: contiene archivos lib (y los archivos fuente correspondientes como referencia). Copie los dos archivos goozo_crypt.obj y tomcrypt.lib al directorio lib de C++builder antes de usarlos.
incluir: archivo de encabezado, cópielo en el directorio de inclusión de C++builder antes de usarlo
docs(tom): tom proporciona una descripción en formato PDF de la biblioteca de funciones de cifrado (si desea obtener más información sobre las funciones, puede leer los comentarios en el archivo de encabezado y en el archivo fuente)
ECC de Rinick: un ejemplo y un generador de claves para la criptografía asimétrica de curva elíptica
Varias funciones básicas están encapsuladas en funciones independientes, lo que las hace más fáciles de usar.
Después de #include
, puede utilizar la siguiente función para cifrar: ltc_eax_encrypt(&aes_desc, "111", "222", pchar, pcharC, 300);
Hay 300 bytes de contenido en pchar, que está cifrado y guardado en pcharC. La contraseña de usuario es 111 (AnsiString).
222 es la contraseña del sistema (AnsiString), lo que hace que su sistema aes sea diferente de los demás. Puede considerarse como una contraseña de dos capas.
aes_desc es el método de cifrado, las opciones son:
Blowfish_desc, rc5_desc, rc6_desc, rc2_desc,saferp_desc,safer_k64_desc,safer_k128_desc,safer_sk64_desc,safer_sk128_desc,rijndael_desc,aes_desc,rijndael_enc_desc,aes_enc_desc,xtea_desc,twofish_desc, des_desc, des3_desc, cast5_desc, noekeon_desc, skipjack_desc, khazad_desc, anubis_desc
Si no hay una necesidad especial, simplemente use aes para descifrar: ltc_eax_decrypt(&aes_desc, "111", "222", pcharC, pcharP, 300);
Hay 300 bytes de contenido cifrado en pcharC. Después del descifrado, se guarda en pcharP. Los parámetros restantes son los mismos que el resumen de la memoria: AnsiString hash=ltc_hash_mem(&md5_desc, pchar, 800);
Hay 800 bytes de contenido en pchar y su resumen MD5 se guarda en el hash.
md5_desc es el modo resumen, las opciones son:
chc_desc, whirlpool_desc, sha512_desc, sha384_desc, sha256_desc, sha224_desc, sha1_desc, md5_desc, md4_desc, md2_desc, Tiger_desc, rmd128_desc, rmd160_desc
Si los requisitos de seguridad son altos, se recomienda sha512 o sha384. Generalmente, md5 es suficiente. Resumen del archivo: AnsiString hash=ltc_hash_file(&md5_desc, "C:\1.txt");
Calcule el resumen del archivo C:1.txt y guárdelo en el hash. Los parámetros restantes son los mismos que los anteriores.
Para otras funciones, consulte las instrucciones en formato PDF y los archivos fuente.
La biblioteca de funciones de cifrado admite las siguientes funciones de cifrado que proporcionan soporte de cifrado de biblioteca de números enteros muy grande
pez globo
XTEA
RC5
RC6
MÁS SEGURO+
Rijndael (también conocido como AES)
dos peces
MÁS SEGURO (K64, SK64, K128, SK128)
RC2
DES, 3DES
CAST5
noekeon
barrilete
Anubis (con ajustes opcionales propuestos por los desarrolladores)
Khazad
Modos de encadenamiento (no uso esta parte, no sé cómo traducirla)
Los modos vienen con interfaces de inicio, cifrado/descifrado y configuración/obtención de IV.
Modo compatible.
BCE
CBC
OFB
CFB
CTR
El método hash admitido por la función Hash unidireccional.
MD2
MD4
MD5 (más comúnmente utilizado)
SHA-1
SHA-224/256/384/512 (Recomendado por Rinick)
TIGRE-192
MADURO-MD 128/160
TORBELLINO
Autenticación de información
FIPS-198 HMAC (admite todas las funciones hash)
CMAC, también conocida como
OMAC1
(Admite todas las funciones de cifrado)
Autenticación PMAC
Pelícano MAC
Modo de autenticación de cifrado de información
Modo EAX
Modo OCB
Modo CCM (especificación NIST)
Modo GCM (especificación IEEE)
Generador de números pseudoaleatorios (utilizado por algunas otras funciones)
Milenrama (algoritmo basado)
RC4
Soporta /dev/random, /dev/urandom y Win32 CSP RNG
fortuna
SOBRIO-128
algoritmo de clave pública
RSA (usando PKCS #1 v2.1)
ECC (estándar de firma digital EC-DSA X9.62, X9.63 EC-DH, estándar de intercambio de claves)
Rinick agregó una función de cifrado y descifrado ECC para implementar funciones como el registro de software.
DSA (los usuarios pueden definir su propio algoritmo para crear firmas digitales)
Otros estándares soportados
PKCS #1 (relleno v2.1)
PKCS#5
ASN.1 DER para los tipos SECUENCIA, INTEGER, BIT STRING, OCTET STRING, OBJECT IDENTIFIER, IA5 STRING, PRINTABLE STRING, UTCTIME, CHOICE y NULL.