Matriz de Recursos do sgcCrypto — AES, SHA-3, Ed25519, X.509, ML-KEM | eSeGeCe

sgcCrypto Matriz de Recursos

Tudo o que o sgcCrypto faz, mapeado nas 43 unidades em disco. Não há componentes nem propriedades de design-time aqui: cada linha abaixo é uma função ou um procedimento que você chama diretamente. O código-fonte completo acompanha toda licença. As âncoras abaixo levam às seis famílias de capacidades em que as unidades se dividem.

O sgcCrypto não tem componentes. As 43 unidades abaixo exportam funções comuns, não há classe Tsgc* e não existe um sgcCrypto_Reg.pas. Adicione uma unidade à sua cláusula uses e chame a função.

Já incluído. O sgcCrypto vem gratuito dentro do sgcWebSockets Standard, Professional e Enterprise, e também no All-Access. Também é vendido separadamente (com o runtime sgcWebSockets Core embutido) para clientes que possuem apenas o Core. Veja Preços.

Simétrica

AES, ChaCha20, Poly1305, 5 unidades

Hash & KDF

SHA-2/3, BLAKE2, Argon2, 11 unidades

Assinaturas & troca de chaves

Ed25519, X25519, RSA, 10 unidades

PKI

X.509, ASN.1, CSR, 5 unidades

Pós-quântica

ML-KEM, ML-DSA, SLH-DSA, 6 unidades

OTP & diversos

HOTP/TOTP, codificação, ZIP AES, 6 unidades

43 Unidades de Código-Fonte

Cada unidade sgcCrypto_*.pas em sgcWebSockets/delphi/Source/, agrupada por família.

UnidadeFamíliaO que faz
sgcCrypto_AESSimétricaAES-CBC, AES-GCM (AEAD), AES-CTR.
sgcCrypto_ModesSimétricaAES-ECB, OFB, CFB, CTS, e Key Wrap / Key Wrap with Padding.
sgcCrypto_CMACSimétricaAutenticação de mensagem AES-CMAC.
sgcCrypto_ChaChaSimétricaChaCha20, XChaCha20, Salsa20, XSalsa20.
sgcCrypto_Poly1305SimétricaMAC Poly1305, AEAD ChaCha20-Poly1305 e XChaCha20-Poly1305.
sgcCrypto_SHA2Hash & KDFSHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
sgcCrypto_KeccakHash & KDFSHA-3, SHAKE128/256, cSHAKE, KMAC.
sgcCrypto_Blake2bHash & KDFBLAKE2b, com ou sem chave.
sgcCrypto_Blake2sHash & KDFBLAKE2s, com ou sem chave.
sgcCrypto_HMACHash & KDFHMAC-SHA1/256/384/512.
sgcCrypto_KDFHash & KDFPBKDF2, hash selecionável.
sgcCrypto_HKDFHash & KDFHKDF extract-and-expand.
sgcCrypto_ScryptHash & KDFKDF memory-hard scrypt.
sgcCrypto_Argon2Hash & KDFArgon2d, Argon2i, Argon2id.
sgcCrypto_SipHashHash & KDFHash com chave SipHash-2-4.
sgcCrypto_TLSHHash & KDFHash difuso TLSH e diff de similaridade.
sgcCrypto_Ed25519Assinaturas & troca de chavesAssinatura / verificação Ed25519.
sgcCrypto_X25519Assinaturas & troca de chavesDiffie-Hellman X25519.
sgcCrypto_Ed448Assinaturas & troca de chavesAssinatura / verificação Ed448.
sgcCrypto_X448Assinaturas & troca de chavesDiffie-Hellman X448.
sgcCrypto_GF448Assinaturas & troca de chavesAritmética de corpo interna GF(2^448-2^224-1) para Ed448/X448.
sgcCrypto_ECCurvesAssinaturas & troca de chavesECDSA / ECDH sobre secp256k1 e Brainpool P256r1/P384r1/P512r1.
sgcCrypto_ECAssinaturas & troca de chavesAssinatura/verificação EC geral como JWS (ES256/384/512), ECDH.
sgcCrypto_RSAAssinaturas & troca de chavesAssinatura RSA PKCS#1 v1.5, verificação PKCS#1 v1.5 / PSS, a partir de PEM ou dados brutos.
sgcCrypto_RSA_KeysAssinaturas & troca de chavesGeração de chaves RSA, OAEP, PSS, assinatura/verificação PKCS#1, exportação DER/PEM.
sgcCrypto_ECIESAssinaturas & troca de chavesCriptografia híbrida seal / open ECIES sobre X25519.
sgcCrypto_ASN1PKILeitor DER, codec PEM, análise de chaves PKCS#1/SEC 1.
sgcCrypto_DERPKIPrimitivas de escrita DER.
sgcCrypto_BigIntegerPKIAritmética interna de inteiros de precisão arbitrária.
sgcCrypto_X509PKIAnálise, verificação, cadeia e CRL/revogação de X.509.
sgcCrypto_X509_GenPKIGeração de certificado autoassinado e de CSR PKCS#10.
sgcCrypto_MLKEMPós-quânticaEncapsulamento de chave ML-KEM (FIPS 203), 3 conjuntos de parâmetros.
sgcCrypto_MLKEM_PolyPós-quânticaAritmética interna de anel polinomial por trás do ML-KEM.
sgcCrypto_MLKEM_HybridPós-quânticaEncapsulamento de chave híbrido X25519 + ML-KEM.
sgcCrypto_MLDSAPós-quânticaAssinaturas digitais ML-DSA (FIPS 204), 3 conjuntos de parâmetros.
sgcCrypto_MLDSA_PolyPós-quânticaAritmética interna de anel polinomial por trás do ML-DSA.
sgcCrypto_SLHDSAPós-quânticaAssinaturas SLH-DSA (FIPS 205), 6 conjuntos de parâmetros SHAKE.
sgcCrypto_OTPOTP & diversosHOTP, TOTP, janela de verificação em tempo constante.
sgcCrypto_EncodingOTP & diversosComparação em tempo constante, zeragem segura, hex/Base64url/Base32.
sgcCrypto_Zip_AE2OTP & diversosCriptografia WinZip AES para entradas ZIP, AE-1 / AE-2.
sgcCrypto_LegacyOTP & diversosMD4, MD5, HMAC-MD5, DES-ECB, apenas para interoperabilidade.
sgcCrypto_RandomOTP & diversosCSPRNG multiplataforma.
sgcCrypto_Int64OTP & diversosEmulação interna de inteiro de 64 bits para o Delphi 7.

Criptografia & MACs

AES nos modos que o código de produção realmente usa, mais a família AEAD ChaCha20/Poly1305.

CapacidadeFunçãoNotas
AES-CBCsgcAES_CBC_Encrypt / sgcAES_CBC_DecryptPadding PKCS#7, IV de 16 bytes. O comprimento da chave seleciona a cifra: 16/24/32 bytes = AES-128/192/256.
AES-GCM (AEAD)sgcAES_GCM_Encrypt / sgcAES_GCM_DecryptIV de 12 bytes recomendado. Tag de 16 bytes, comparada em tempo constante; a descriptografia retorna False e texto plano vazio quando a tag falha.
AES-CTRsgcAES_CTRAES-CM ao estilo SRTP (RFC 3711). Chamada simétrica, sem padding, contador big-endian de 128 bits.
AES-ECBsgcAES_ECB_Encrypt / sgcAES_ECB_DecryptSem IV, sem encadeamento. Incluído para interoperabilidade com formatos que o exigem.
AES-OFB / AES-CFBsgcAES_OFB, sgcAES_CFB_Encrypt / sgcAES_CFB_DecryptModos de feedback ao estilo cifra de fluxo.
AES-CTSsgcAES_CTS_Encrypt / sgcAES_CTS_DecryptCiphertext stealing: criptografa dados que não são múltiplos do tamanho do bloco sem overhead de padding.
AES Key WrapsgcAES_KeyWrap / sgcAES_KeyUnwrapRFC 3394, para envolver uma chave sob outra.
AES Key Wrap with PaddingsgcAES_KeyWrapPad / sgcAES_KeyUnwrapPadRFC 5649, para material de chave que não é múltiplo de 8 bytes.
AES-CMACsgcAES_CMAC / sgcAES_CMAC_VerifyCódigo de autenticação de mensagem RFC 4493.
Primitivas de bloco de baixo nívelsgcAES_ExpandKey, sgcAES_EncryptBlock, sgcAES_DecryptBlockExpostas para as unidades de modo e MAC acima; chame-as diretamente apenas para construir um modo ainda não fornecido.
ChaCha20sgcChaCha20RFC 8439, nonce de 96 bits, contador de 32 bits.
XChaCha20sgcXChaCha20Nonce estendido de 192 bits, seguro para geração de nonce aleatório em escala.
Salsa20 / XSalsa20sgcSalsa20 / sgcXSalsa20A família de cifra de fluxo predecessora, nos dois tamanhos de nonce.
Derivação de subchavesgcHChaCha20 / sgcHSalsa20O que as variantes X usam internamente para derivar uma subchave a partir dos primeiros 16 bytes do nonce.
MAC Poly1305sgcPoly1305 / sgcPoly1305_VerifyAutenticador de uso único, RFC 8439. Nunca reutilize uma chave Poly1305.
AEAD ChaCha20-Poly1305sgcChaCha20Poly1305_Encrypt / _DecryptA cifra AEAD por trás da segunda suíte de cifras do TLS 1.3 e do SSH.
AEAD XChaCha20-Poly1305sgcXChaCha20Poly1305_Encrypt / _DecryptO mesmo AEAD, nonce de 192 bits, a construção que a libsodium chama de crypto_aead_xchacha20poly1305_ietf.

Digests, MACs & Hash de Senhas

Toda família de hash convencional, mais PBKDF2, HKDF, scrypt e as três variantes do Argon2.

CapacidadeFunçãoNotas
SHA-1 / SHA-2sgcSHA1, sgcSHA224, sgcSHA256, sgcSHA384, sgcSHA512FIPS 180-4. SHA-1 é mantido para interoperabilidade, não recomendado para novas assinaturas.
SHA-3sgcSHA3_224 / _256 / _384 / _512FIPS 202, a esponja Keccak, estruturalmente independente do SHA-2.
SHAKE128 / SHAKE256sgcSHAKE128 / sgcSHAKE256Funções de saída extensível: peça qualquer comprimento de digest.
cSHAKE128 / cSHAKE256sgcCSHAKE128 / sgcCSHAKE256SHAKE com separação de domínio, NIST SP 800-185, a base do KMAC.
KMAC128 / KMAC256sgcKMAC128 / sgcKMAC256MAC baseado em Keccak com comprimento de saída variável.
BLAKE2bsgcBlake2b / sgcBlake2b_KeyedRFC 7693, digests de até 64 bytes, chaveamento embutido (sem necessidade de HMAC separado).
BLAKE2ssgcBlake2s / sgcBlake2s_KeyedRFC 7693, digests de até 32 bytes, otimizado para plataformas de 32 bits.
Digests em streamingsgcBlake2b_Init/_Update/_Final, chamadas equivalentes em Keccak/Blake2sPara fazer hash de dados grandes demais para caber na memória de uma vez.
HMACsgcHMAC_SHA1 / _SHA256 / _SHA384 / _SHA512Hash com chave RFC 2104 sobre a família SHA-1/2.
PBKDF2sgcPBKDF2, sgcPBKDF2_SHA1 / _SHA256 / _SHA512RFC 8018. Apenas moderadamente memory-hard; prefira Argon2id ou scrypt quando puder escolher.
HKDFsgcHKDF_Extract_SHA256 / _SHA384, sgcHKDF_Expand_SHA256 / _SHA384, sgcHKDF_SHA256 / _SHA384RFC 5869, derivação de chave extract-then-expand, a forma padrão de transformar um segredo compartilhado em várias chaves.
scryptsgcScryptRFC 7914, memory-hard, resiste muito melhor a ataques de GPU/ASIC do que o PBKDF2.
Argon2sgcArgon2 (d / i / id), wrapper de conveniência sgcArgon2idRFC 9106, a vencedora da Password Hashing Competition. Interface completa com secret (pepper) opcional e dados associados.
SipHash-2-4sgcSipHash24 / sgcSipHash24_ValuePRF rápida com chave para chaves de tabela hash, resiste a negação de serviço por hash-flooding.
Hash difuso TLSHsgcTLSH, sgcTLSH_Init/_Update/_FinalHash sensível à localidade para detecção de quase-duplicatas, não um digest criptográfico.
Score de similaridade TLSHsgcTLSH_DiffDistância entre dois digests TLSH; quanto menor, mais similares.

Ed25519/Ed448, X25519/X448, secp256k1, Brainpool & RSA

Assine, verifique e derive segredos compartilhados em cinco famílias de curvas distintas, mais RSA.

CapacidadeFunçãoNotas
Assinatura / verificação Ed25519sgcEd25519_Sign / sgcEd25519_VerifyRFC 8032. Chave pública de 32 bytes, assinatura de 64 bytes. A verificação rejeita pontos não canônicos e S >= L conforme a seção 5.1.7.
Troca de chaves X25519sgcX25519, sgcX25519_PublicKey, sgcX25519_SharedSecretDiffie-Hellman RFC 7748 sobre a Curve25519.
Assinatura / verificação Ed448sgcEd448_GenerateKeyPair, sgcEd448_Sign, sgcEd448_VerifyRFC 8032, a curva EdDSA de 448 bits (Goldilocks).
Troca de chaves X448sgcX448, sgcX448_PublicKey, sgcX448_SharedSecretDiffie-Hellman RFC 7748 sobre a Curve448.
secp256k1sgcECDSA_SignHash / VerifyHash com eccSecp256k1A curva do Bitcoin/Ethereum, SEC 2, em sgcCrypto_ECCurves.
Brainpool P256r1 / P384r1 / P512r1mesmas funções com eccBrainpoolP256r1 / P384r1 / P512r1RFC 5639, comum em perfis eIDAS e governamentais da UE.
Nonce ECDSA determinísticoembutido em sgcECDSA_SignHashRFC 6979: o nonce é derivado da chave privada e da mensagem, sem modo de falha por RNG.
ECDH (secp256k1 / Brainpool)sgcECDH_SharedSecretSegredo compartilhado sobre as mesmas quatro curvas.
Compressão de pontosgcEC_Compress / sgcEC_DecompressArmazene ou transmita a forma comprimida mais curta da chave pública.
EC como JWS (ES256/384/512)sgcECDSA_SignJWS / sgcECDSA_VerifyJWSCurva selecionada automaticamente pelo comprimento de bits solicitado, assina/verifica diretamente a partir de uma chave PEM, irmã voltada para JOSE do ECCurves.
ECDH genéricosgcECDHSegredo compartilhado a partir de uma chave privada bruta e o ponto público do par.
Verificação ECDSA bruta / DERsgcECDSA_VerifyRaw / sgcECDSA_VerifyDERVerifica contra uma tupla bruta (Qx, Qy, r, s) ou uma assinatura codificada em DER.
Assinatura RSA (PKCS#1 v1.5)sgcRSA_SignPKCS1A partir de uma chave privada PEM, digest SHA-1/256/384/512.
Verificação RSA (PKCS#1 v1.5 / PSS)sgcRSA_VerifyPKCS1, sgcRSA_VerifyPSS, e variantes _Raw sobre um módulo/expoenteRFC 8017. A verificação funciona a partir de uma chave PEM ou de módulo e expoente brutos, sem necessidade de construir um objeto de chave.
Geração de chave RSAsgcRSA_GenerateKeyQualquer comprimento de bits solicitado, teste de primalidade de Miller-Rabin.
Criptografia RSA-OAEPsgcRSA_OAEP_Encrypt / sgcRSA_OAEP_DecryptPadding de criptografia assimétrica ótima RFC 8017.
Assinatura RSA-PSS / PKCS#1sgcRSA_PSS_Sign / Verify, sgcRSA_PKCS1_Sign / VerifyAssina diretamente a partir de um TsgcRSAPrivateKey gerado.
Exportação de chave RSAsgcRSA_ExportPrivateKeyPEM, sgcRSA_ExportPublicKeyPEM, chamadas DER equivalentesCodificações PKCS#1 e SubjectPublicKeyInfo.
ECIES seal / opensgcECIES_GenerateKeyPair, sgcECIES_Seal, sgcECIES_OpenCriptografia híbrida para uma chave pública X25519: ECDH efêmero mais um AEAD, uma chamada em cada sentido.

Certificados X.509 & ASN.1

Leia um certificado que outra pessoa emitiu, ou gere um você mesmo, com um codificador e decodificador DER embaixo dos dois.

CapacidadeFunçãoNotas
Leitor DERsgcASN1_Read, sgcASN1_Next, sgcASN1_ContentPercorre uma estrutura DER nó por nó.
Codec PEMsgcPEM_Decode / sgcPEM_EncodeRFC 7468, o invólucro -----BEGIN ... -----END em torno do DER.
Análise de chave RSAsgcASN1_ParseRSAPrivateKey / PublicKeyEstruturas de chave PKCS#1 (RFC 8017).
Análise de chave ECsgcASN1_ParseECPrivateKey / PublicKeyEstruturas de chave SEC 1.
Escritor DER, estruturalsgcDER_Sequence, sgcDER_Set, sgcDER_Tagged, sgcDER_ContextExplicit / ImplicitOs blocos de construção a partir dos quais todo campo de certificado é montado.
Escritor DER, valoressgcDER_Integer, sgcDER_OctetString, sgcDER_BitString, sgcDER_Boolean, sgcDER_NullCodificadores de valores primitivos.
Escritor DER, strings & identificadoressgcDER_OID, sgcDER_UTF8String, sgcDER_PrintableString, sgcDER_IA5String, sgcDER_TimeIdentificadores de objeto, os três tipos de string que o X.509 usa, e UTCTime/GeneralizedTime.
Análise de certificadosgcX509_ParseEstrutura completa do certificado: subject, issuer, validade, chave pública, extensões.
Verificação de assinatura / cadeiasgcX509_VerifySignedBy, sgcX509_VerifyChainVerifica um certificado contra um emissor, ou percorre e verifica um array de certificados DER.
Análise de CRL & revogaçãosgcX509_CRL_Parse, sgcX509_IsRevoked, sgcX509_CRL_VerifySignedByAnalisa uma Certificate Revocation List e verifica um número de série nela.
Formatação de nomesgcX509_SubjectRFC2253, sgcX509_IssuerRFC2253, sgcX509_SubjectOneLineStrings de nome distinto RFC 2253, para registro e exibição.
Extensões & SANssgcX509_GetExtension, sgcX509_GetCRLDistributionURIsLê OIDs de extensão arbitrários e URIs de ponto de distribuição de CRL.
Geração de certificado autoassinadosgcX509_CreateSelfSignedTsgcX509Options completo: DN de subject, janela de validade, número de série, flag de CA com restrição de comprimento de caminho, uso de chave, uso estendido de chave, nomes alternativos do subject (incluindo SANs IPv4).
Geração de CSR PKCS#10sgcX509_CreateCSRRequisição de assinatura de certificado RFC 2986 a partir do mesmo registro de opções.
Saída PEMsgcX509_ToPEMEnvolve o DER gerado como um arquivo PEM pronto para salvar.

ML-KEM, ML-DSA & SLH-DSA

Os três algoritmos que o NIST finalizou em agosto de 2024 como FIPS 203, 204 e 205, mais um combinador híbrido para o período de migração.

CapacidadeFunçãoNotas
Geração de chave ML-KEMsgcMLKEM_GenerateKeyPair, sgcMLKEM_GenerateKeyPairFromSeedFIPS 203, antigo Kyber. Três conjuntos de parâmetros: mlkem512, mlkem768, mlkem1024.
Encapsulamento ML-KEMsgcMLKEM_Encapsulate, sgcMLKEM_EncapsulateWithSeedProduz um segredo compartilhado novo de 32 bytes e o ciphertext que o transporta.
Decapsulamento ML-KEMsgcMLKEM_DecapsulateNunca falha: um ciphertext malformado produz um segredo pseudoaleatório (rejeição implícita) em vez de um erro, então nem o tempo nem o comportamento de erro revelam nada.
Tamanhos ML-KEMsgcMLKEM_PublicKeySize, PrivateKeySize, CiphertextSize, SharedSecretSizeComprimentos em bytes por conjunto de parâmetros, para dimensionar buffers.
Híbrido X25519 + ML-KEMsgcHybrid_GenerateKeyPair, sgcHybrid_Encapsulate, sgcHybrid_DecapsulateCombina um segredo compartilhado clássico e um pós-quântico através de uma KDF, de modo que o resultado nunca é mais fraco que o X25519 sozinho. A forma recomendada de usar o ML-KEM hoje.
Geração de chave ML-DSAsgcMLDSA_GenerateKeyPair, sgcMLDSA_GenerateKeyPairFromSeedFIPS 204, antigo Dilithium. Três conjuntos de parâmetros: mldsa44, mldsa65, mldsa87.
Assinatura / verificação ML-DSAsgcMLDSA_Sign / sgcMLDSA_VerifyAssinatura determinística ou aleatorizada conforme a interface da FIPS 204, mais uma string de contexto.
Tamanhos ML-DSAsgcMLDSA_PublicKeySize, PrivateKeySize, SignatureSizeComprimentos em bytes por conjunto de parâmetros.
Geração de chave SLH-DSAsgcSLHDSA_GenerateKeyPair, sgcSLHDSA_GenerateKeyPairFromSeedFIPS 205, antigo SPHINCS+. Assinaturas stateless baseadas em hash: a segurança repousa apenas na função de hash, não em uma suposição de reticulado ou curva.
Assinatura / verificação SLH-DSAsgcSLHDSA_Sign / sgcSLHDSA_VerifySeis conjuntos de parâmetros SHAKE: slhShake128s, slhShake128f, slhShake192s, slhShake192f, slhShake256s, slhShake256f. Os conjuntos s favorecem assinaturas pequenas, os conjuntos f favorecem assinatura rápida.
Tamanhos & nomenclatura SLH-DSAsgcSLHDSA_PublicKeySize, PrivateKeySize, SignatureSize, sgcSLHDSA_ParamsNameAs assinaturas SLH-DSA são grandes (7,8 KB a 49 KB dependendo do conjunto); dimensione o buffer antes de assinar.

O sgcCrypto não afirma suportar ed25519187 ou SPECK. O ed25519187 não tem especificação publicada, e o SPECK foi retirado da padronização ISO em 2018; nenhum dos dois está implementado aqui.

Senhas de Uso Único, Codecs & ZIP Criptografado

A camada utilitária: códigos de uso único, as codificações que as demais famílias usam, e a criptografia WinZip AES.

CapacidadeFunçãoNotas
HOTPsgcHOTPRFC 4226, senha de uso único baseada em contador.
TOTPsgcTOTP, sgcTOTP_FromBase32RFC 6238, senha de uso único baseada em tempo; a variante Base32 aceita o segredo exatamente como um aplicativo autenticador o exibe.
Verificação TOTPsgcTOTP_VerifyVerifica um código submetido em uma janela de passos em tempo constante, então nem o resultado nem a posição vazam por tempo. Não impede replay por si só; o chamador rastreia os códigos já usados.
Comparação em tempo constantesgcConstantTimeEqualsUsada em toda a biblioteca para comparações de tag e MAC.
Zeragem segurasgcSecureZeroSobrescreve um buffer de bytes para que material de chave não permaneça na memória.
HexsgcHexEncode / sgcHexDecodeHex em minúsculas, decodificação sem diferenciar maiúsculas/minúsculas.
Base64urlsgcBase64UrlEncode / sgcBase64UrlDecodeRFC 4648 seção 5, sem padding, a codificação que JWT e JOSE usam.
Base32sgcBase32Encode / sgcBase32DecodeRFC 4648 seção 6, a codificação que segredos TOTP e aplicativos autenticadores usam.
Derivação de chave WinZip AESsgcZipAE2_DeriveKeysChave baseada em PBKDF2, chave de autenticação e verificador de senha a partir de uma senha e um salt.
Criptografia / descriptografia WinZip AESsgcZipAE2_Encrypt / sgcZipAE2_DecryptAE-1 e AE-2, AES-128/192/256, dimensionamento de salt por entrada via TsgcZipAESStrength.
Empacotamento de entrada WinZipsgcZipAE2_PackEntry / sgcZipAE2_UnpackEntryCombina salt, verificador, ciphertext e código de autenticação no layout em disco.
Campo extra WinZipsgcZipAE2_BuildExtraField / sgcZipAE2_ParseExtraFieldO campo extra 0x9901 que marca uma entrada ZIP como criptografada com AES.
Hashes legados (apenas interop)sgcMD4, sgcMD5, sgcHMAC_MD5Mantidos para ler formatos e protocolos mais antigos; não use em um novo projeto.
Cifra legada (apenas interop)sgcDES_EncryptECB / sgcDES_DecryptECB, sgcDES_NTLM7to8DES-ECB e a etapa de expansão de chave DES do NTLM, ambos retirados (FIPS 46-3), mantidos para interoperabilidade legada.
Bytes aleatórios segurossgcRandomBytes / sgcRandomFillWindows CryptoAPI sob MSWINDOWS, /dev/urandom nos demais, uma chamada em qualquer caso.

Onde o sgcCrypto Roda

O que é suportado, dito com precisão.

ÁreaDetalhe
Sistema operacionalNenhuma guarda MSWINDOWS, ou qualquer outra guarda de plataforma, envolve SGC_CRYPTO em sgcVer.inc. Todas as 43 unidades compilam para Win32, Win64, Linux64, macOS, iOS e Android.
Fonte de números aleatóriosA única unidade sensível à plataforma, sgcCrypto_Random, seleciona um CSPRNG por alvo: a Windows CryptoAPI sob MSWINDOWS, /dev/urandom em alvos POSIX, por trás da mesma chamada sgcRandomBytes.
DelphiDelphi 7 até o RAD Studio 13 Florence. Nenhum tipo inteiro nativo de 64 bits é assumido em lugar algum: sgcCrypto_Int64 e o tipo TsgcBigInt em sgcCrypto_BigInteger emulam a aritmética de que os hashes, as curvas e as unidades pós-quânticas precisam.
C++ BuilderC++ Builder através dos headers gerados, a partir da mesma árvore de código-fonte.
Pegada em design-timeNenhuma. Não existe um sgcCrypto_Reg.pas, nada é registrado com RegisterComponents, e nenhuma unidade aparece em uma página da paleta de componentes.
DependênciasSem vinculação com OpenSSL, sem DLL externa. Cada primitiva é implementada diretamente em Object Pascal dentro da unidade que você referencia.
Código-fonteCódigo Object Pascal completo em todo tier pago, e nos pacotes de edição que já incluem o sgcCrypto.
RedistribuiçãoBinários que você compila são livres de royalties, sem taxa de runtime por posto ou por servidor.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Construa com o sgcCrypto

Baixe a versão de avaliação gratuita e chame uma função, sem necessidade de componente.