makefile은 Rinick에 의해 작성되었으며 bcc 아래 lib로 컴파일될 수 있습니다(
[email protected]).
압축 패키지 아래에는 4개의 디렉터리가 있습니다.
lib: lib 파일(및 참조용 해당 소스 파일)을 포함합니다. 사용하기 전에 goozo_crypt.obj 및 tomcrypt.lib 두 파일을 C++builder의 lib 디렉터리에 복사합니다.
include: 헤더 파일을 사용하기 전에 C++builder의 include 디렉터리에 복사합니다.
docs(tom): tom은 암호화 함수 라이브러리에 대한 pdf 설명을 제공합니다. (함수에 대해 더 알고 싶다면 헤더 파일과 소스 파일의 설명을 읽어보세요.)
Rinick의 ECC: 타원 곡선 비대칭 암호화를 위한 예제 및 키 생성기
몇 가지 기본 기능이 독립적인 기능으로 캡슐화되어 있어 사용하기가 더 쉽습니다.
#include
후에 다음 함수를 사용하여 암호화할 수 있습니다: ltc_eax_encrypt(&aes_desc, "111", "222", pchar, pcharC, 300);
pchar에는 300바이트의 콘텐츠가 있으며, 이는 암호화되어 pcharC에 저장됩니다. 사용자 비밀번호는 111(AnsiString)입니다.
222는 aes 시스템을 다른 시스템과 다르게 만드는 시스템 비밀번호(AnsiString)입니다. 이는 2계층 비밀번호로 간주될 수 있습니다.
aes_desc는 암호화 방법이며 옵션은 다음과 같습니다.
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
특별한 필요가 없으면 aes를 사용하여 암호를 해독하세요: ltc_eax_decrypt(&aes_desc, "111", "222", pcharC, pcharP, 300);
pcharC에는 300바이트의 암호화된 콘텐츠가 있습니다. 해독 후 pcharP에 저장됩니다. 나머지 매개변수는 메모리 요약과 동일합니다. 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 지침 및 소스 파일을 참조하세요.
암호화 함수 라이브러리는 매우 큰 정수 라이브러리 암호화 지원을 제공하는 다음 암호화 함수를 지원합니다.
복어
엑스티
RC5
RC6
더 안전하다+
Rijndael(일명 AES)
투피시
더 안전한 (K64, SK64, K128, SK128)
RC2
DES, 3DES
캐스트5
뇌컨
가다랑어
Anubis(개발자가 제안한 선택적 조정 포함)
카자드
Chaining Modes (이부분은 안쓰는데 어떻게 번역해야할지 모르겠네요)
모드에는 시작, 암호화/해독 및 IV 인터페이스 설정/가져오기가 포함되어 있습니다.
모드가 지원됩니다.
ECB
CBC
OFB
CFB
CTR
단방향 해시 함수가 지원하는 해시 방법입니다.
MD2
MD4
MD5(더 일반적으로 사용됨)
SHA-1
SHA-224/256/384/512 (Rinick 권장)
타이거-192
익은-MD 128/160
소용돌이
정보 인증
FIPS-198 HMAC(모든 해시 함수 지원)
CMAC라고도 함
OMAC1
(모든 암호화 기능 지원)
PMAC 인증
펠리칸 맥
정보 암호화 인증 모드
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
SEQUENCE, INTEGER, BIT STRING, OCTET STRING, OBJECT IDENTIFIER, IA5 STRING, PRINTABLE STRING, UTCTIME, CHOICE 및 NULL 유형에 대한 ASN.1 DER.