sgcCrypto : bibliothèque de cryptographie moderne pour Delphi et C++ BuilderAller au contenu
Inclus à partir de sgcWebSockets StandardAussi vendu seul
sgcCrypto — une bibliothèque de cryptographie moderne pour Delphi et C++ Builder
43 unités Object Pascal pures, aucun composant, aucune empreinte à la conception : passe des TBytes en entrée, récupère des TBytes en sortie. AES-GCM et ChaCha20-Poly1305 pour le chiffrement, SHA-3/BLAKE2/Argon2 pour le hachage, Ed25519/X25519/RSA pour les signatures et l'échange de clés, l'analyse et la génération de certificats X.509, et le post-quantique ML-KEM, ML-DSA et SLH-DSA. Chaque primitive est implémentée directement dans l'unité que tu ajoutes à ton uses : aucune DLL externe, aucun binding OpenSSL, et la même source compile sans changement de Delphi 7 à RAD Studio 13. sgcCrypto est livré gratuitement avec sgcWebSockets Standard, Professional et Enterprise, et il est aussi vendu seul (avec le runtime sgcWebSockets Core inclus) pour les clients qui ne possèdent que Core.
3Normes FIPS post-quantiquesML-KEM (203), ML-DSA (204), SLH-DSA (205)
2Façons de l'obtenirIncluse dans une édition, ou en autonome
AVANT D'ACHETER
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.
sgcCrypto, ce sont des fonctions pures, pas des composants
Chacune des 43 unités exporte de simples fonctions et procédures. Il n'y a aucune classe Tsgc*, rien n'est enregistré via RegisterComponents, et il n'existe aucun sgcCrypto_Reg.pas. Tu appelles sgcAES_GCM_Encrypt(aKey, aIV, aPlain, aAAD, aTag) de la même façon que n'importe quelle fonction de la RTL, depuis une fiche, un service, une application console ou un thread.
Le code source complet est livré avec chaque licence, si bien que les primitives se parcourent pas à pas dans ton propre débogueur au lieu de disparaître dans un binaire ou une DLL.
Chevauchement d'édition
Tu possèdes déjà une édition sgcWebSockets ?
sgcCrypto est livré à l'intérieur de sgcWebSockets Standard, Professional et Enterprise, ainsi que dans All-Access, sans coût supplémentaire. Si tu possèdes déjà une licence pour une édition à partir de Standard, tu as déjà les 43 unités, rien de plus à acheter.
sgcCrypto existe en autonome pour le cas inverse : tu ne possèdes que sgcWebSockets Core, ou aucune licence sgcWebSockets du tout, et tu veux les unités de cryptographie sans licencier une édition complète.
Portée des plateformes
sgcCrypto ne porte aucune restriction de plateforme
Contrairement aux packages IA ou voix, rien dans sgcVer.inc ne restreint sgcCrypto à Windows. Les unités ne sont que de l'arithmétique Object Pascal ordinaire, elles se compilent donc pour Win32, Win64, Linux64, macOS, iOS et Android à partir de la même source.
La seule unité sensible à la plateforme, sgcCrypto_Random, sélectionne un moteur CSPRNG selon la cible (Windows CryptoAPI, ou /dev/urandom ailleurs) derrière le même appel sgcRandomBytes, ton code ne teste donc jamais la plateforme.
CE QUE TU REÇOIS
43 unités, six familles de fonctionnalités
Chaque unité est de l'Object Pascal compilé, appelable depuis n'importe quel projet Delphi 7 à 13 ou C++ Builder. Il n'y a aucune DLL externe, aucun binding OpenSSL et aucun générateur de code : les primitives sont implémentées directement dans l'unité que tu ajoutes à ton uses.
Symétrique5 unités
AES, ChaCha20 et les constructions AEAD au-dessus
sgcCrypto_AES couvre CBC, GCM et CTR ; sgcCrypto_Modes ajoute ECB, OFB, CFB, le ciphertext stealing CTS, et l'AES Key Wrap / Key Wrap with Padding (RFC 3394 / 5649). sgcCrypto_CMAC est l'AES-CMAC. sgcCrypto_ChaCha implémente ChaCha20, XChaCha20, Salsa20 et XSalsa20, et sgcCrypto_Poly1305 associe Poly1305 avec eux pour former les chiffrements AEAD ChaCha20-Poly1305 et XChaCha20-Poly1305 de la RFC 8439. sgcAES_GCM_Decrypt et les vérificateurs Poly1305 comparent le tag d'authentification en temps constant et refusent de renvoyer le texte clair quand la vérification échoue.
sgcCrypto_SHA2 et sgcCrypto_Keccak couvrent SHA-1/2, SHA-3, SHAKE, cSHAKE et KMAC ; sgcCrypto_Blake2b et sgcCrypto_Blake2s ajoutent BLAKE2. sgcCrypto_HMAC gère l'authentification par hachage à clé. Pour transformer un mot de passe en clé : sgcCrypto_KDF (PBKDF2), sgcCrypto_HKDF, sgcCrypto_Scrypt et sgcCrypto_Argon2, qui implémente les trois variantes d'Argon2, d, i et id, la gagnante de la Password Hashing Competition. sgcCrypto_SipHash te donne un hachage à clé rapide pour les clés de table de hachage, et sgcCrypto_TLSH est un hachage flou avec une fonction de distance de similarité, pas un condensé cryptographique, utile pour la détection de quasi-doublons.
Ed25519/Ed448, X25519/X448, secp256k1, Brainpool et RSA
sgcCrypto_Ed25519/Ed448 signent et vérifient ; sgcCrypto_X25519/X448 font le Diffie-Hellman correspondant. sgcCrypto_ECCurves ajoute ECDSA et ECDH sur secp256k1 et les trois courbes Brainpool avec des nonces déterministes RFC 6979, et sgcCrypto_EC est la variante orientée JOSE : signe et vérifie un JWS directement, ES256/384/512. sgcCrypto_RSA vérifie des signatures PKCS#1 v1.5 et PSS directement depuis une clé PEM, et sgcCrypto_RSA_Keys va plus loin avec la génération de clés à n'importe quelle longueur, le chiffrement OAEP et l'export DER/PEM. sgcCrypto_ECIES complète le tout avec le chiffrement hybride seal/open vers une clé publique X25519.
sgcCrypto_ASN1 lit le DER et le PEM et analyse les clés PKCS#1/SEC 1 ; sgcCrypto_DER écrit chaque tag dont un certificat ou une CSR a besoin. sgcCrypto_X509 analyse un certificat, vérifie qu'il a été signé par un émetteur donné, parcourt et vérifie une chaîne, et analyse une CRL pour vérifier la révocation. sgcCrypto_X509_Gen génère un certificat autosigné ou une CSR PKCS#10 depuis zéro : nom distinctif complet du sujet et de l'émetteur, fenêtre de validité, indicateur d'AC avec contrainte de longueur de chemin, indicateurs d'usage de clé, OID d'usage étendu de clé et noms alternatifs du sujet, y compris les SAN d'adresse IP.
ML-KEM, ML-DSA et SLH-DSA, plus un combinateur hybride
sgcCrypto_MLKEM est l'encapsulation de clé FIPS 203, trois jeux de paramètres (ML-KEM-512/768/1024), avec rejet implicite sur un texte chiffré malformé. sgcCrypto_MLDSA est la signature FIPS 204, ML-DSA-44/65/87. sgcCrypto_SLHDSA est FIPS 205, les six jeux de paramètres SHAKE : 128s, 128f, 192s, 192f, 256s, 256f. Comme ML-KEM à lui seul mise tout sur une hypothèse de réseau euclidien plus jeune que les courbes elliptiques, sgcCrypto_MLKEM_Hybrid combine un secret X25519 et un secret ML-KEM en une seule clé partagée, si bien que le résultat n'est jamais plus faible que la moitié classique, le schéma de migration vers lequel converge l'industrie.
Mots de passe à usage unique, encodage, et ZIP chiffré
sgcCrypto_OTP génère et vérifie les codes HOTP et TOTP, les mêmes codes à six chiffres qu'affiche une application d'authentification, avec une fenêtre de vérification en temps constant qui absorbe le décalage d'horloge. sgcCrypto_Encoding regroupe les fonctions utilitaires que partage le reste de la bibliothèque : comparaison en temps constant, effacement sécurisé de buffer, hex, Base64url et Base32. sgcCrypto_Zip_AE2 implémente le chiffrement WinZip AES, AE-1 et AE-2, pour chiffrer des entrées ZIP individuelles. sgcCrypto_Random est le CSPRNG multiplateforme derrière chaque clé et nonce générés ailleurs dans la bibliothèque, et sgcCrypto_Legacy garde MD4/MD5/HMAC-MD5/DES-ECB disponibles pour l'interopérabilité avec des formats plus anciens, pas pour de nouvelles conceptions.
Ajoute une unité à uses et appelle une fonction. Chaque appel ci-dessous provient d'une unité différente parmi les 43, couvrant le symétrique, le hachage, les signatures et le post-quantique.
Les vérifications de tag GCM et Poly1305, la vérification HOTP/TOTP et sgcConstantTimeEquals comparent tous en temps constant, si bien qu'une vérification échouée ne divulgue aucune information de timing sur la proximité de la tentative.
La décapsulation n'échoue jamais
Un texte chiffré ML-KEM malformé produit un secret pseudo-aléatoire au lieu d'une erreur, le rejet implicite prescrit par FIPS 203, si bien qu'un attaquant n'apprend rien du fait qu'un texte chiffré était bien formé.
Delphi 7 à 13, sans changement
Aucun type entier 64 bits natif n'est supposé. sgcCrypto_Int64 et TsgcBigInt émulent l'arithmétique dont ont besoin les hachages, les courbes et les unités post-quantiques, si bien que la même source compile sur chaque version prise en charge.
Rien ne sort de ton processus
Chaque fonction s'exécute in-process sur les données que tu lui passes. Il n'y a aucun appel réseau, aucune télémétrie et aucun relais eSeGeCe nulle part dans la bibliothèque.
TARIFS
Inclus, ou en pack autonome
sgcCrypto est livré gratuitement avec sgcWebSockets Standard, Professional et Enterprise. Si tu ne possèdes que sgcWebSockets Core, il est aussi vendu comme pack à part, à partir de €149 pour un développeur. Toutes les licences incluent le code source complet, 1 an de mises à jour et une réduction de 50 % à 70 % sur le renouvellement : 50 % si tu renouvelles un pack, 60 % pour deux, 70 % pour trois ou plus.
sgcCrypto
€149
Pack autonome. Licences Single, Team et Site disponibles. Gratuit si tu possèdes déjà sgcWebSockets Standard, Professional ou Enterprise.
Les 43 unités sgcCrypto_*.pas
Runtime sgcWebSockets Core inclus
Delphi et C++ Builder, les six plateformes
Code source complet
1 an de mises à jour
Déjà sur sgcWebSockets Standard, Professional ou Enterprise ? sgcCrypto est déjà dans ton installateur, aucune commande nécessaire.
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
La cryptographie sans le poids des composants
43 fonctions pures couvrant le chiffrement, le hachage, les signatures, la PKI et l'échange de clés post-quantique, prêtes partout où ton code Delphi ou C++ Builder tourne déjà. Code source complet, aucun relais, aucune DLL.