EN VEDETTE · sgcCrypto

La cryptographie moderne pour Delphi, en Object Pascal pur

43 unités, aucun composant, aucune empreinte à la conception : tu passes des TBytes, tu récupères des TBytes. AES-GCM et ChaCha20-Poly1305 pour le chiffrement, SHA-3, BLAKE2 et Argon2 pour le hachage et la dérivation de clés, Ed25519, X25519 et RSA pour les signatures et l'échange de clés, l'analyse et la génération X.509, et le post-quantique ML-KEM, ML-DSA et SLH-DSA. Aucune DLL externe, aucune liaison OpenSSL, et le même code source compile sans modification de Delphi 7 à RAD Studio 13.

  • 43 unités, 6 familles de fonctionnalités
  • AEAD · Hachage · Signatures · PKI · Post-quantique
  • Zéro dépendance externe
  • Delphi 7 à 13 · C++ Builder

Quarante-trois unités, six familles de fonctionnalités

sgcCrypto est inclus gratuitement dans sgcWebSockets Standard, Professional et Enterprise. Il est aussi vendu séparément, avec le runtime sgcWebSockets Core inclus, pour les développeurs qui ne possèdent que Core ou qui n'ont aucune licence sgcWebSockets. Chaque licence porte le code source complet.

43 Unités Object Pascal Chacune exporte des fonctions simples. Il n'y a aucune classe Tsgc* et aucun sgcCrypto_Reg.pas.
6 Familles de fonctionnalités Symétrique, hachage et KDF, signatures et échange de clés, PKI, post-quantique, OTP et utilitaires.
0 Dépendances externes Aucune DLL à livrer et aucune liaison OpenSSL dont il faut faire correspondre la version. Les primitives vivent dans l'unité que tu ajoutes à ta clause uses.
6 Plateformes cibles Win32, Win64, Linux64, macOS, iOS et Android depuis le même code source, sans aucune restriction de plateforme dans sgcVer.inc.
100% Code source inclus Chaque primitive se trace dans ton propre débogueur au lieu de disparaître dans un binaire.
sgcCrypto

Une bibliothèque de cryptographie généraliste pour Delphi et C++ Builder. Incluse gratuitement à partir de sgcWebSockets Standard, ou vendue séparément avec le runtime sgcWebSockets Core inclus, avec le code source complet et un déploiement sans royalties.

Chiffre, hache, signe, certifie, et survis à la question quantique

Les familles se répartissent selon le travail que tu fais plutôt que selon les mathématiques qui le sous-tendent, si bien que l'unité que tu ouvres est celle qui porte le nom de ce que tu cherches à construire.

Symétrique · 5 unités

AES, ChaCha20 et les constructions AEAD par-dessus

sgcCrypto_AES couvre CBC, GCM et CTR. sgcCrypto_Modes ajoute ECB, OFB, CFB, le vol de texte chiffré, AES-CCM et AES Key Wrap. sgcCrypto_ChaCha implémente ChaCha20, XChaCha20, Salsa20 et XSalsa20, et sgcCrypto_Poly1305 leur associe Poly1305 pour former les chiffrements AEAD de la RFC 8439. Le déchiffrement compare le tag d'authentification en temps constant et refuse de renvoyer le texte clair lorsqu'il échoue.

Voir les unités symétriques →
Hachage & KDF · 11 unités

SHA-2, SHA-3, BLAKE2 et toutes les KDF courantes

sgcCrypto_SHA2 et sgcCrypto_Keccak couvrent SHA-1, SHA-2, SHA-3, SHAKE, cSHAKE et KMAC, avec BLAKE2b et BLAKE2s à leurs côtés. Pour transformer un mot de passe en clé, il y a PBKDF2, HKDF, scrypt et sgcCrypto_Argon2, qui implémente les trois variantes d'Argon2, d, i et id. sgcCrypto_SipHash est le hachage à clé rapide pour les clés de table de hachage, et sgcCrypto_HMAC assure l'authentification de message à clé sur n'importe lequel des condensés.

Voir les unités de hachage →
Signatures & échange de clés · 10 unités

Ed25519, X25519, secp256k1, Brainpool et RSA

Ed25519 et Ed448 signent, X25519 et X448 font le Diffie-Hellman correspondant, et sgcCrypto_ECCurves ajoute ECDSA et ECDH sur sept courbes, avec les nonces déterministes de la RFC 6979 et la signature Schnorr BIP-340. sgcCrypto_RSA_Keys génère des clés de n'importe quelle longueur en bits et exporte du DER ou du PEM, aussi bien sous la forme PKCS#1 que sous la forme PKCS#8.

Voir ce qu'il peut faire →
PKI · 5 unités

Lis, vérifie et génère des certificats X.509

sgcCrypto_X509 analyse un certificat, vérifie son émetteur, parcourt une chaîne et lit une CRL. sgcCrypto_X509_Gen génère de zéro un certificat auto-signé ou une CSR PKCS#10, avec le nom distinctif complet, la fenêtre de validité, l'indicateur CA, l'usage de clé, l'usage étendu de clé et les autres noms du sujet, signés par une clé RSA ou EC.

La surface des certificats →
Post-quantique · 6 unités

ML-KEM, ML-DSA, SLH-DSA et un combineur hybride

L'encapsulation de clé FIPS 203 dans les trois jeux de paramètres, la signature FIPS 204 en ML-DSA-44, 65 et 87, et FIPS 205 dans les six jeux de paramètres SHAKE. sgcCrypto_MLKEM_Hybrid combine un secret X25519 avec un secret ML-KEM, si bien que la clé partagée n'est jamais plus faible que sa moitié classique.

Les unités post-quantiques →

Les pages de référence de chaque famille :

Appelle une fonction, récupère des octets

Aucun objet à construire, aucun contexte à libérer, aucun handle à garder ouvert. Les deux extraits compilent de la même façon de Delphi 7 à 13 et sur C++ Builder, sur toutes les plateformes cibles.

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak;
var
  vKey, vIV, vPlain, vAAD, vTag, vCipher, vDigest: TBytes;
begin
  // AES-256-GCM : chiffrement authentifié en un seul appel
  vKey    := sgcRandomBytes(32);
  vIV     := sgcRandomBytes(12);
  vPlain  := TEncoding.UTF8.GetBytes('confidential payload');
  vCipher := sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

  // SHA-3-256, un seul appel, aucun objet de contexte à gérer
  vDigest := sgcSHA3_256(vPlain);

  // Le déchiffrement vérifie le tag en temps constant et échoue en sécurité
  vPlain  := sgcAES_GCM_Decrypt(vKey, vIV, vCipher, vAAD, vTag);
end;
uses
  sgcCrypto_Random, sgcCrypto_Ed25519, sgcCrypto_MLKEM;
var
  vSeed, vMessage, vSignature: TBytes;
  vPublicKey, vPrivateKey, vCiphertext, vSharedSecret: TBytes;
begin
  // Signature Ed25519 à partir d'une graine de 32 octets
  vSeed      := sgcRandomBytes(32);
  vMessage   := TEncoding.UTF8.GetBytes('sign me');
  vSignature := sgcEd25519_Sign(vSeed, vMessage);

  // ML-KEM-768 : encapsulation de clé post-quantique (FIPS 203)
  sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
  sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);

  // Le pair retrouve le même secret depuis le texte chiffré
  sgcMLKEM_Decapsulate(mlkem768, vPrivateKey, vCiphertext, vSharedSecret);
end;

La même forme en Object Pascal et en C++ Builder. La matrice complète des fonctionnalités →

Trois choses à savoir d'abord

Ce qu'est sgcCrypto, si tu le possèdes déjà, et où il tourne. Les trois réponses sont courtes, et toutes les trois sont sur cette page plutôt qu'en petits caractères.

Six familles, quarante-trois unités
famille                unités  ce que ça t'apporte
Symétrique                  5  AES-GCM, AES-CCM, ChaCha20-Poly1305
Hachage & KDF              11  SHA-2, SHA-3, BLAKE2, Argon2, HKDF
Signatures & échange       10  Ed25519, X25519, ECDSA, RSA-PSS
PKI                         5  X.509 parse, verify, generate, CSR
Post-quantique              6  ML-KEM, ML-DSA, SLH-DSA, hybrid
OTP & divers                6  HOTP/TOTP, Base32/64url, AE-2 ZIP

Aucune unité n'enregistre de composant, donc rien
  n'apparaît sur la palette et rien n'est déposé sur
  une fiche. Tu ajoutes l'unité à ta clause uses et
  tu appelles la fonction.

Tu possèdes peut-être déjà sgcCrypto

Les 43 unités sont livrées dans sgcWebSockets Standard, Professional et Enterprise, ainsi que dans All-Access, sans coût supplémentaire. Si tu détiens une licence d'édition à partir de Standard, il n'y a rien de plus à acheter.

La version autonome est pour le cas inverse

Tu ne possèdes que sgcWebSockets Core, ou aucune licence sgcWebSockets ? Le package autonome réunit le runtime Core et les unités de cryptographie, tu obtiens donc la bibliothèque sans acheter une édition complète.

Aucune restriction de plateforme

Rien dans sgcVer.inc ne limite sgcCrypto à Windows. Les unités ne sont que de l'arithmétique Object Pascal ordinaire, elles compilent donc pour Win32, Win64, Linux64, macOS, iOS et Android depuis une seule source. sgcCrypto_Random est la seule unité qui connaît la plateforme, elle choisit un backend CSPRNG par cible derrière le même appel sgcRandomBytes.

Delphi et C++ Builder

sgcCrypto cible Delphi 7 à RAD Studio 13 et C++ Builder. L'installateur d'essai gratuit est l'essai sgcWebSockets All-Access, les 43 unités peuvent donc être évaluées dès aujourd'hui.

FIPS 197 & 202 RFC 8439 RFC 5280 FIPS 203/204/205 Code source complet

Chaque unité et fonction →

sgcCrypto implémente les primitives directement plutôt que de se lier à une bibliothèque qu'il faut aussi livrer et dont il faut faire correspondre la version, si bien qu'une clé, un condensé ou une signature tient en un seul appel de fonction, et le code source complet garantit que rien entre les deux n'est une boîte noire.

Quatorze bibliothèques, une seule boîte à outils

sgcCrypto est l'une des quatorze bibliothèques de composants eSeGeCe pour Delphi, C++ Builder et .NET. Elles partagent les mêmes conventions, elles sont livrées avec le code source complet et se déploient sans royalties.

sgcCrypto

Chiffrement AEAD, hachage et KDF, signatures, X.509 et cryptographie post-quantique dans 43 unités Object Pascal pures. Inclus à partir de sgcWebSockets Standard, ou en autonome.

En savoir plus →

sgcREST

Composants serveur REST, serveur OpenAPI et client OpenAPI pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcHTTP

Client HTTP/2, client gRPC et clients Google Cloud Pub/Sub, Calendar et FCM pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcAuth

Client OAuth2, client JWT et prise en charge de WebAuthn pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA et plus de 30 intégrations d'APIs pour Delphi, C++ Builder, Lazarus et .NET. Son édition Enterprise inclut aussi gRPC.

En savoir plus →

sgcMQ

Composants clients MQTT, AMQP 0.9.1 et 1.0, Apache Kafka et STOMP pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcSocial

Composants clients Telegram et WhatsApp Business pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcHTML

Composants HTML et d'interface côté serveur sur Bootstrap 5 et htmx pour Delphi, C++ Builder et .NET.

En savoir plus →

sgcQUIC

Transport QUIC pur et un client/serveur HTTP/3, avec WebTransport. Un complément à sgcWebSockets Enterprise.

En savoir plus →

sgcAI

Composants IA, LLM et MCP pour Delphi et C++ Builder. Sept fournisseurs de LLM derrière un seul composant, plus MCP, embeddings et voix. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcOpenAPI

Parser OpenAPI 3.x, générateur natif de SDK Pascal, composant serveur OpenAPI, et plus de 1 195 SDK cloud préconçus.

En savoir plus →

sgcSign

XAdES, PAdES, CAdES et ASiC pour les documents, Authenticode, ClickOnce, NuGet et VSIX pour le code.

En savoir plus →

sgcBiometrics

Windows Hello, capteurs d'empreintes digitales et Windows Biometric Framework pour Delphi et C++ Builder.

En savoir plus →

sgcIndy

Composants Indy TCP/IP mis à jour avec TLS moderne, IPv6 et HTTP/2, de Delphi 7 à 13.

En savoir plus →

Voir les tarifs et les licences Télécharger l'essai gratuit

Ce que disent les développeurs

Plébiscité par des développeurs Delphi, C++ Builder, Lazarus et .NET dans le monde entier.

Votre bibliothèque sgcWebSockets est très utile et facile à configurer. Continuez votre excellent travail !

Simone Moretti Développeur Delphi

sgcWebSockets est incroyable et votre support est le meilleur !

Christian Meyer Fondateur & CTO

Merci beaucoup pour votre aide et votre support, j'adore vos composants.

Mark Steinfeld CTO

Les derniers articles du blog

Voir tous les articles →

Tu vois la vue Cryptographie d'eSeGeCe.

Montre-moi un autre angle →
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement

Des octets en entrée, des octets en sortie, du code natif

Chiffrement AEAD, hachage, signatures, X.509 et cryptographie post-quantique dans 43 unités, avec le code source complet dans la boîte.