Le makefile est écrit par Rinick et peut être compilé dans lib sous bcc (
[email protected])
Il y a 4 répertoires sous le package compressé
lib : contient les fichiers lib (et les fichiers sources correspondants pour référence). Copiez les deux fichiers goozo_crypt.obj et tomcrypt.lib dans le répertoire lib de C++builder avant utilisation.
include : fichier d'en-tête, copiez-le dans le répertoire include de C++builder avant utilisation
docs(tom) : tom fournit une description pdf de la bibliothèque de fonctions de chiffrement (si vous souhaitez en savoir plus sur les fonctions, vous pouvez lire les commentaires dans le fichier d'en-tête et le fichier source)
ECC de Rinick : un exemple et un générateur de clés pour la cryptographie asymétrique à courbe elliptique
Plusieurs fonctions de base sont encapsulées dans des fonctions indépendantes, ce qui les rend plus faciles à utiliser.
Après #include
, vous pouvez utiliser la fonction suivante pour chiffrer : ltc_eax_encrypt(&aes_desc, "111", "222", pchar, pcharC, 300);
Il y a 300 octets de contenu dans pchar, qui sont cryptés et enregistrés dans pcharC. Le mot de passe utilisateur est 111 (AnsiString).
222 est le mot de passe système (AnsiString), ce qui rend votre système aes différent des autres. Il peut être considéré comme un mot de passe à deux niveaux.
aes_desc est la méthode de cryptage, les options sont :
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, des_ desc, des3_desc, cast5_desc, noekeon_desc, skipjack_desc, khazad_desc, anubis_desc
S'il n'y a pas de besoin particulier, utilisez simplement aes pour décrypter : ltc_eax_decrypt(&aes_desc, "111", "222", pcharC, pcharP, 300);
Il y a 300 octets de contenu chiffré dans pcharC. Après le décryptage, il est enregistré dans pcharP. Les paramètres restants sont les mêmes que le résumé de la mémoire : AnsiString hash=ltc_hash_mem(&md5_desc, pchar, 800);
Il y a 800 octets de contenu dans pchar, et son résumé MD5 est enregistré dans le hachage
md5_desc est le mode résumé, les options sont :
chc_desc, whirlpool_desc, sha512_desc, sha384_desc, sha256_desc, sha224_desc, sha1_desc, md5_desc, md4_desc, md2_desc, tigre_desc, rmd128_desc, rmd160_desc
Si les exigences de sécurité sont élevées, sha512 ou sha384 est recommandé. Généralement, md5 suffit. Résumé du fichier : AnsiString hash=ltc_hash_file(&md5_desc, "C:\1.txt");
Calculez le résumé du fichier C:1.txt et stockez-le dans le hachage. Les paramètres restants sont les mêmes que ci-dessus.
Pour d'autres fonctions, veuillez consulter les instructions PDF et les fichiers sources
La bibliothèque de fonctions de chiffrement prend en charge les fonctions de chiffrement suivantes qui fournissent une très grande prise en charge du chiffrement de bibliothèque d'entiers
Poisson-globe
XTÉA
RC5
RC6
PLUS SÛR+
Rijndael (alias AES)
Deux poissons
PLUS SÛR (K64, SK64, K128, SK128)
RC2
DES, 3DES
CAST5
Noékéon
Listao
Anubis (avec ajustement facultatif proposé par les développeurs)
Khazad
Modes de chaînage (je n'utilise pas cette partie, je ne sais pas comment la traduire)
Les modes sont livrés avec des interfaces de démarrage, cryptage/déchiffrement et définition/obtention IV.
Mode pris en charge.
BCE
Radio-Canada
OFB
BFC
CTR
La méthode de hachage prise en charge par la fonction de hachage unidirectionnelle.
MD2
MD4
MD5 (plus couramment utilisé)
SHA-1
SHA-224/256/384/512 (recommandé par Rinick)
TIGRE-192
MÛR-MD 128/160
TOURBILLON
Authentification des informations
FIPS-198 HMAC (prend en charge toutes les fonctions de hachage)
CMAC, également connu sous le nom
OMAC1
(Prend en charge toutes les fonctions de cryptage)
Authentification PMAC
Pélican MAC
Mode d'authentification par cryptage des informations
Mode EAX
Mode OCB
Mode CCM (spécifications NIST)
Mode GCM (spécification IEEE)
Générateur de nombres pseudo-aléatoires (utilisé par certaines autres fonctions)
Yarrow (algorithme basé sur)
RC4
Prend en charge /dev/random, /dev/urandom et Win32 CSP RNG
Fortune
SOBRE-128
algorithme à clé publique
RSA (en utilisant PKCS #1 v2.1)
ECC (norme de signature numérique EC-DSA X9.62, X9.63 EC-DH, norme d'échange de clés)
Rinick a ajouté une fonction de cryptage et de décryptage ECC pour implémenter des fonctions telles que l'enregistrement de logiciels.
DSA (les utilisateurs peuvent définir leur propre algorithme pour créer des signatures numériques)
Autres normes prises en charge
PKCS #1 (remplissage v2.1)
PKCS #5
ASN.1 DER pour les types SEQUENCE, INTEGER, BIT STRING, OCTET STRING, OBJECT IDENTIFIER, IA5 STRING, PRINTABLE STRING, UTCTIME, CHOICE et NULL.