sgcCrypto: Biblioteca de Criptografia Moderna para Delphi & C++ Builder
Incluído a partir do sgcWebSockets Standard Também vendido separadamente

sgcCrypto — uma Biblioteca de Criptografia Moderna para Delphi & C++ Builder

43 unidades Object Pascal puras, sem componentes, sem pegada em tempo de design: passe TBytes, receba TBytes de volta. AES-GCM e ChaCha20-Poly1305 para criptografia, SHA-3/BLAKE2/Argon2 para hash, Ed25519/X25519/RSA para assinaturas e troca de chaves, análise e geração de certificados X.509, e os padrões pós-quânticos ML-KEM, ML-DSA e SLH-DSA. Cada primitiva é implementada diretamente na unidade que você adiciona à sua cláusula uses: sem DLL externa, sem vinculação com OpenSSL, e o mesmo código-fonte compila sem alterações do Delphi 7 até o RAD Studio 13. O sgcCrypto vem gratuito com o sgcWebSockets Standard, Professional e Enterprise, e também é vendido separadamente (com o runtime sgcWebSockets Core embutido) para clientes que possuem apenas o Core.

Código-fonte completo
Win32, Win64, Linux64, macOS, iOS & Android
Delphi 7 → 13, Sem Alterações
Zero Dependências Externas
43 funções puras sgcCrypto_*.pas Sem componentes. Chame uma função, receba bytes de volta.
AES-GCM sgcAES_GCM_Encrypt
ChaCha20-Poly1305 sgcChaCha20Poly1305_Encrypt
SHA-3 / SHAKE sgcSHA3_256
Ed25519 / X25519 sgcEd25519_Sign
RSA-PSS sgcRSA_PSS_Sign
ML-KEM / ML-DSA sgcMLKEM_Encapsulate
X.509 / CSR sgcX509_CreateSelfSigned
43 Unidades de funções puras sgcCrypto_*.pas, zero componentes
6 Famílias de capacidades Simétrica, hash, assinaturas, PKI, PQC, OTP
6 Plataformas de destino Win32, Win64, Linux64, macOS, iOS, Android
3 Padrões FIPS pós-quânticos ML-KEM (203), ML-DSA (204), SLH-DSA (205)
2 Formas de obtê-lo Incluído em uma edição, ou separado

Três Coisas Que Vale a Pena Saber Antes

O que é o sgcCrypto, se você já o possui, e onde ele roda. As três respostas são curtas.

O sgcCrypto é funções puras, não componentes

Cada uma das 43 unidades exporta funções e procedimentos comuns. Não há classe Tsgc*, nada é registrado com RegisterComponents, e não existe um sgcCrypto_Reg.pas. Você chama sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag) da mesma forma que chamaria qualquer função da RTL, a partir de um formulário, um serviço, uma aplicação console ou uma thread.

O código-fonte completo acompanha toda licença, então as primitivas são depuradas passo a passo no seu próprio debugger, em vez de desaparecer dentro de um binário ou de uma DLL.

Sobreposição de edição

Já possui uma edição do sgcWebSockets?

O sgcCrypto vem incluído no sgcWebSockets Standard, Professional e Enterprise, e também no All-Access, sem custo adicional. Se você já possui uma licença de qualquer edição a partir da Standard, já tem as 43 unidades, nada mais para comprar.

O sgcCrypto existe separadamente para o caso oposto: você possui apenas o sgcWebSockets Core, ou nenhuma licença do sgcWebSockets, e quer as unidades de criptografia sem licenciar uma edição completa.

Abrangência de plataforma

O sgcCrypto não tem nenhuma restrição de plataforma

Diferente dos pacotes de IA ou de voz, nada no sgcVer.inc restringe o sgcCrypto ao Windows. As unidades são aritmética Object Pascal comum, portanto compilam para Win32, Win64, Linux64, macOS, iOS e Android a partir do mesmo código-fonte.

A única unidade sensível à plataforma, sgcCrypto_Random, seleciona um backend CSPRNG conforme o alvo (Windows CryptoAPI, ou /dev/urandom nos demais) por trás da mesma chamada sgcRandomBytes, então o seu código nunca precisa ramificar por plataforma.

43 Unidades, Seis Famílias de Capacidades

Cada unidade é Object Pascal compilado, chamável a partir de qualquer projeto Delphi 7 a 13 ou C++ Builder. Não há DLL externa, nenhuma vinculação com OpenSSL e nenhum gerador de código: as primitivas são implementadas diretamente na unidade que você adiciona à sua cláusula uses.

Simétrica5 unidades

AES, ChaCha20 e as construções AEAD sobre eles

sgcCrypto_AES cobre CBC, GCM e CTR; sgcCrypto_Modes acrescenta ECB, OFB, CFB, ciphertext-stealing CTS, e AES Key Wrap / Key Wrap with Padding (RFC 3394 / 5649); sgcCrypto_CMAC é AES-CMAC. sgcCrypto_ChaCha implementa ChaCha20, XChaCha20, Salsa20 e XSalsa20, e sgcCrypto_Poly1305 combina Poly1305 com eles nas cifras AEAD ChaCha20-Poly1305 e XChaCha20-Poly1305 da RFC 8439. sgcAES_GCM_Decrypt e os verificadores de Poly1305 comparam a tag de autenticação em tempo constante e se recusam a devolver o texto plano quando a verificação falha.

Hash & KDF11 unidades

SHA-2, SHA-3, BLAKE2 e todas as principais KDFs

sgcCrypto_SHA2 e sgcCrypto_Keccak cobrem SHA-1/2, SHA-3, SHAKE, cSHAKE e KMAC; sgcCrypto_Blake2b e sgcCrypto_Blake2s acrescentam BLAKE2. sgcCrypto_HMAC é autenticação de mensagem com chave. Para transformar uma senha em uma chave: sgcCrypto_KDF (PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt e sgcCrypto_Argon2, que implementa as três variantes do Argon2, d, i e id, a vencedora da Password Hashing Competition. sgcCrypto_SipHash oferece um hash rápido com chave para chaves de tabela hash, e sgcCrypto_TLSH é um hash difuso com uma função de distância de similaridade, não um digest criptográfico, útil para detecção de quase-duplicatas.

Assinaturas & troca de chaves10 unidades

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

sgcCrypto_Ed25519/Ed448 assinam e verificam; sgcCrypto_X25519/X448 fazem o Diffie-Hellman correspondente. sgcCrypto_ECCurves acrescenta ECDSA e ECDH sobre secp256k1 e as três curvas Brainpool com nonces determinísticos RFC 6979, e sgcCrypto_EC é a irmã voltada para JOSE: assina e verifica um JWS diretamente, ES256/384/512. sgcCrypto_RSA verifica assinaturas PKCS#1 v1.5 e PSS diretamente a partir de uma chave PEM, e sgcCrypto_RSA_Keys vai além, com geração de chaves em qualquer comprimento de bits, criptografia OAEP e exportação DER/PEM. sgcCrypto_ECIES completa o conjunto com criptografia híbrida seal/open para uma chave pública X25519.

sgcCrypto_Ed25519 sgcCrypto_ECCurves sgcCrypto_RSA_Keys RFC 8032 · RFC 7748 · RFC 8017
PKI5 unidades

Leia, verifique e gere certificados X.509

sgcCrypto_ASN1 lê DER e PEM e analisa chaves PKCS#1/SEC 1; sgcCrypto_DER escreve toda tag que um certificado ou CSR precisa. sgcCrypto_X509 analisa um certificado, verifica se foi assinado por um emissor determinado, percorre e verifica uma cadeia, e analisa uma CRL para checar revogação. sgcCrypto_X509_Gen gera um certificado autoassinado ou um CSR PKCS#10 do zero: nome distinto completo de subject e issuer, janela de validade, flag de CA com restrição de comprimento de caminho, flags de uso de chave, OIDs de uso estendido de chave e nomes alternativos do subject, incluindo SANs de endereço IP.

Pós-quântica6 unidades

ML-KEM, ML-DSA e SLH-DSA, mais um combinador híbrido

sgcCrypto_MLKEM é encapsulamento de chave FIPS 203, três conjuntos de parâmetros (ML-KEM-512/768/1024), com rejeição implícita em caso de ciphertext malformado. sgcCrypto_MLDSA é assinatura FIPS 204, ML-DSA-44/65/87. sgcCrypto_SLHDSA é FIPS 205, todos os seis conjuntos de parâmetros SHAKE: 128s, 128f, 192s, 192f, 256s, 256f. Como o ML-KEM sozinho aposta tudo em uma suposição de reticulado mais jovem que as curvas elípticas, sgcCrypto_MLKEM_Hybrid combina um segredo X25519 e um segredo ML-KEM em uma única chave compartilhada, de modo que o resultado nunca é mais fraco que a metade clássica, o padrão de migração para o qual o setor está convergindo.

sgcCrypto_MLKEM sgcCrypto_MLDSA sgcCrypto_SLHDSA FIPS 203 · FIPS 204 · FIPS 205
OTP & diversos6 unidades

Senhas de uso único, codificação e entradas ZIP criptografadas

sgcCrypto_OTP gera e verifica códigos HOTP e TOTP, os mesmos códigos de seis dígitos que um aplicativo autenticador exibe, com uma janela de verificação em tempo constante que absorve desvios de relógio. sgcCrypto_Encoding reúne as funções utilitárias que o restante da biblioteca compartilha: comparação em tempo constante, zeragem segura de buffer, hex, Base64url e Base32. sgcCrypto_Zip_AE2 implementa a criptografia WinZip AES, AE-1 e AE-2, para criptografar entradas individuais de um ZIP. sgcCrypto_Random é o CSPRNG multiplataforma por trás de toda chave e nonce gerados no restante da biblioteca, e sgcCrypto_Legacy mantém MD4/MD5/HMAC-MD5/DES-ECB disponíveis para interoperabilidade com formatos mais antigos, não para novos projetos.

Sem Componente, Sem Object Inspector

Adicione uma unidade ao uses e chame uma função. Cada chamada abaixo vem de uma unidade diferente das 43, abrangendo simétrica, hash, assinaturas e pós-quântica.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak, sgcCrypto_Ed25519,
  sgcCrypto_MLKEM;

var
  vKey, vIV, vPlain, vAAD, vTag, vCipher: TBytes;
  vDigest, vSeed, vSignature, vMessage: TBytes;
  vPublicKey, vPrivateKey, vSharedSecret, vCiphertext: TBytes;
begin
  // AES-256-GCM: authenticated encryption in one call
  vKey    := sgcRandomBytes(32);
  vIV     := sgcRandomBytes(12);
  vPlain  := TEncoding.UTF8.GetBytes('confidential payload');
  vCipher := sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

  // SHA-3-256, one call, no context object to manage
  vDigest := sgcSHA3_256(vPlain);

  // Ed25519: sign, then verify
  vSeed      := sgcRandomBytes(32);
  vMessage   := TEncoding.UTF8.GetBytes('sign me');
  vSignature := sgcEd25519_Sign(vSeed, vMessage);

  // ML-KEM-768: post-quantum key encapsulation (FIPS 203)
  sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
  sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);
end;
// includes: sgcCrypto_Random.hpp, sgcCrypto_AES.hpp, sgcCrypto_Keccak.hpp,
// sgcCrypto_Ed25519.hpp, sgcCrypto_MLKEM.hpp

// AES-256-GCM: authenticated encryption in one call
TBytes vKey    = sgcRandomBytes(32);
TBytes vIV     = sgcRandomBytes(12);
TBytes vAAD, vTag;
TBytes vPlain  = TEncoding::UTF8->GetBytes("confidential payload");
TBytes vCipher = sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

// SHA-3-256, one call, no context object to manage
TBytes vDigest = sgcSHA3_256(vPlain);

// Ed25519: sign, then verify
TBytes vSeed      = sgcRandomBytes(32);
TBytes vMessage   = TEncoding::UTF8->GetBytes("sign me");
TBytes vSignature = sgcEd25519_Sign(vSeed, vMessage);

// ML-KEM-768: post-quantum key encapsulation (FIPS 203)
TBytes vPublicKey, vPrivateKey, vSharedSecret, vCiphertext;
sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);
Tempo constante onde importa

As verificações de tag do GCM e do Poly1305, a verificação de HOTP/TOTP e sgcConstantTimeEquals comparam tudo em tempo constante, então uma verificação com falha não vaza informação de tempo sobre o quão perto a tentativa estava.

A decapsulação nunca falha

Um ciphertext ML-KEM malformado produz um segredo pseudoaleatório em vez de um erro, rejeição implícita conforme a FIPS 203, então um atacante não aprende nada sobre se um ciphertext estava bem formado.

Delphi 7 a 13, sem alterações

Nenhum tipo inteiro nativo de 64 bits é assumido. sgcCrypto_Int64 e TsgcBigInt emulam a aritmética de que os hashes, as curvas e as unidades pós-quânticas precisam, então o mesmo código-fonte compila em toda versão suportada.

Nada sai do seu processo

Cada função roda no próprio processo, sobre os dados que você passa. Não há chamada de rede, nenhuma telemetria e nenhum relé da eSeGeCe em nenhum lugar da biblioteca.

Incluído, ou um Pacote Separado

O sgcCrypto vem gratuito com o sgcWebSockets Standard, Professional e Enterprise. Se você possui apenas o sgcWebSockets Core, ele também é vendido como pacote próprio, a partir de €149 para um único desenvolvedor. Todas as licenças incluem código-fonte completo, 1 ano de atualizações e um desconto de renovação de 50% a 70%: 50% ao renovar um pacote, 60% para dois, 70% para três ou mais.

sgcCrypto

€149

Pacote separado. Licenças Single, Team e Site disponíveis. Gratuito se você já possui o sgcWebSockets Standard, Professional ou Enterprise.

  • Todas as 43 unidades sgcCrypto_*.pas
  • Runtime sgcWebSockets Core incluído
  • Delphi & C++ Builder, nas seis plataformas
  • Código-fonte completo
  • 1 ano de atualizações

Já está no sgcWebSockets Standard, Professional ou Enterprise? O sgcCrypto já está no seu instalador, nenhum pedido necessário.

Ver Preços e Comprar
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garantia de reembolso de 30 diasNão ficou satisfeito? Solicite o reembolso total em até 30 dias após a compra. Ver política de reembolso

Criptografia Sem a Sobrecarga de Componentes

43 funções puras cobrindo criptografia, hash, assinaturas, PKI e troca de chaves pós-quântica, prontas onde quer que o seu código Delphi ou C++ Builder já rode. Código-fonte completo, sem intermediário, sem DLL.

Outros Produtos da eSeGeCe

Combine o sgcCrypto com nossas outras bibliotecas de componentes para Delphi e C++ Builder.

sgcWebSockets

Componentes empresariais de WebSocket, HTTP/2, MQTT, AMQP e WebRTC. Standard, Professional e Enterprise incluem o sgcCrypto.

Saiba mais →

sgcSign

Assinaturas digitais empresariais. XAdES, PAdES, CAdES e ASiC com 10 provedores de chaves e 21 perfis de países da UE.

Saiba mais →

sgcAuth

Componentes cliente OAuth2 e cliente JWT, além de login por passkey com WebAuthn. Separado, o runtime sgcWebSockets Core está incluído.

Saiba mais →

sgcQUIC

Componentes cliente e servidor QUIC (RFC 9000) e HTTP/3 (RFC 9114) construídos sobre o mecanismo QUIC nativo do OpenSSL 3.5.

Saiba mais →

sgcAI

Componentes de IA, LLM e MCP. Um único componente de chat alcança OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral.

Saiba mais →

sgcMQ

Componentes cliente nativos de MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka e STOMP, com o runtime Core embutido.

Saiba mais →

sgcOpenAPI

Parser de OpenAPI 3.0 e gerador de SDK. Transforme qualquer especificação OpenAPI em um cliente Delphi fortemente tipado em segundos.

Saiba mais →