Makefile は Rinick によって作成され、bcc (
[email protected]) の下の lib にコンパイルできます。
圧縮パッケージの下には4つのディレクトリがあります
lib: lib ファイル (および参照用の対応するソース ファイル) が含まれています。使用する前に、goozo_crypt.obj と tomcrypt.lib の 2 つのファイルを C++builder の lib ディレクトリにコピーします。
include: ヘッダー ファイル。使用前に C++builder の include ディレクトリにコピーします。
docs(tom): tom は暗号化関数ライブラリの PDF 説明を提供します (関数について詳しく知りたい場合は、ヘッダー ファイルとソース ファイルのコメントを読むことができます)
Rinick の ECC: 楕円曲線非対称暗号の例と鍵生成器
いくつかの基本関数は独立した関数にカプセル化されているため、使いやすくなっています。
#include <goozo_crypt.h> の後、次の関数を使用して暗号化できます: ltc_eax_encrypt(&aes_desc, "111", "222", pchar, pcharC, 300);
pchar には 300 バイトのコンテンツがあり、暗号化されて pcharC に保存されます。ユーザー パスワードは 111 (AnsiString) です。
222 はシステム パスワード (AnsiString) であり、aes システムを他のものとは区別します。これは 2 層のパスワードとみなすことができます。
aes_desc は暗号化方式で、オプションは次のとおりです。
bullfish_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、 _desc、des_ desc、des3_desc、cast5_desc、noekeon_desc、skipjack_desc、khazad_desc、anubis_desc
特別な必要がない場合は、aes を使用して復号化します。 ltc_eax_decrypt(&aes_desc, "111", "222", pcharC, pcharP, 300);
pcharC には 300 バイトの暗号化されたコンテンツがあり、復号化後、残りのパラメータはメモリの概要と同じです: AnsiString hash=ltc_hash_mem(&md5_desc, pchar, 800);
pchar には 800 バイトのコンテンツがあり、MD5 ダイジェストはハッシュに保存されます。
md5_desc は要約モードで、オプションは次のとおりです。
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
セキュリティ要件が高い場合は、sha512 または sha384 をお勧めします。通常、md5 で十分です。 ファイルの概要: AnsiString hash=ltc_hash_file(&md5_desc, "C:\1.txt");
ファイル C:1.txt のダイジェストを計算し、ハッシュに保存します。残りのパラメーターは上記と同じです。
その他の機能については、PDF の説明書とソース ファイルをご覧ください。
暗号化関数ライブラリは、非常に大きな整数ライブラリの暗号化サポートを提供する次の暗号化関数をサポートします。
ふぐ
XTEA
RC5
RC6
より安全+
ラインダール (別名 AES)
トゥーフィッシュ
より安全 (K64、SK64、K128、SK128)
RC2
DES、3DES
キャスト5
ノエコン
カツオ
Anubis (開発者が提案したオプションの調整あり)
カザド
チェーンモード (この部分は使用しません。翻訳方法がわかりません)
モードには、開始、暗号化/復号化、IV インターフェイスの設定/取得が付属しています。
モードがサポートされています。
ECB
CBC
OFB
CFB
クリック率
一方向ハッシュ関数でサポートされるハッシュ方式。
MD2
MD4
MD5 (より一般的に使用されます)
SHA-1
SHA-224/256/384/512 (Rinick 推奨)
TIGER-192
RIPE-MD 128/160
ワールプール
情報認証
FIPS-198 HMAC (すべてのハッシュ関数をサポート)
CMAC、別名
OMAC1
(すべての暗号化機能に対応)
PMAC認証
ペリカンMAC
情報暗号化認証モード
EAXモード
OCBモード
CCM モード (NIST 仕様)
GCM モード (IEEE 仕様)
擬似乱数生成器 (他の関数で使用)
Yarrow (ベースのアルゴリズム)
RC4
/dev/random、/dev/urandom、Win32 CSP RNG をサポート
フォルトゥナ
SOBER-128
公開鍵アルゴリズム
RSA (PKCS #1 v2.1 を使用)
ECC (EC-DSA X9.62 デジタル署名規格、X9.63 EC-DH、鍵交換規格)
Rinickは、ソフトウェア登録などの機能を実装するために、ECC暗号化および復号化機能を追加しました。
DSA (ユーザーは独自のアルゴリズムを定義してデジタル署名を作成できます)
サポートされている他の標準
PKCS #1 (v2.1 パディング)
PKCS #5
シーケンス、整数、ビット文字列、オクテット文字列、オブジェクト識別子、IA5 文字列、印刷可能文字列、UTCTIME、CHOICE、および NULL 型の ASN.1 DER。