注目 · sgcCrypto

Delphi のためのモダンな暗号技術を、純粋な Object Pascal で

43 個のユニット、コンポーネントなし、デザイン時のフットプリントもゼロ。TBytes を渡すと、TBytes が戻ってきます。暗号化には AES-GCM と ChaCha20-Poly1305、ハッシュと鍵導出には SHA-3、BLAKE2、Argon2、署名と鍵交換には Ed25519、X25519、RSA、さらに X.509 の解析と生成、そしてポスト量子の ML-KEM、ML-DSA、SLH-DSA。外部 DLL も OpenSSL バインディングも不要で、同じソースが Delphi 7 から RAD Studio 13 まで変更なしにコンパイルできます。

  • 43 個のユニット、6 つの機能ファミリー
  • AEAD · ハッシュ · 署名 · PKI · ポスト量子
  • 外部依存はゼロ
  • Delphi 7 から 13 · C++ Builder

43 個のユニット、6 つの機能ファミリー

sgcCrypto は sgcWebSockets の Standard、Professional、Enterprise に無償で含まれています。また、Core だけをお持ちの方や sgcWebSockets のライセンスをお持ちでない方のために、sgcWebSockets Core ランタイムを同梱した単体製品としても販売しています。すべてのライセンスに完全なソースコードが付属します。

43 Object Pascal ユニット どのユニットもプレーンな関数を公開します。Tsgc* クラスも sgcCrypto_Reg.pas も存在しません。
6 機能ファミリー 共通鍵暗号、ハッシュと KDF、署名と鍵交換、PKI、ポスト量子、OTP とユーティリティです。
0 外部依存 配布する DLL も、バージョンを合わせる OpenSSL バインディングもありません。プリミティブは、uses 句に追加したユニットの中にあります。
6 対象プラットフォーム Win32、Win64、Linux64、macOS、iOS、Android を同じソースから。sgcVer.inc にプラットフォームのガードはありません。
100% ソースコード同梱 すべてのプリミティブは、バイナリの中に消えることなく、ご自身のデバッガーでステップ実行できます。
sgcCrypto

Delphi と C++ Builder 向けの汎用暗号ライブラリです。sgcWebSockets Standard 以上には無償で含まれ、単体製品としては sgcWebSockets Core ランタイムを同梱して販売しています。完全なソースコードが付属し、ロイヤリティフリーで配布できます。

暗号化、ハッシュ、署名、証明書、そして量子の問いを越えて

ファミリーは、背後の数学ではなく、いま行おうとしている作業によって分かれています。そのため、手を伸ばすユニットは、作ろうとしているものの名前がついたユニットになります。

共通鍵暗号 · 5 ユニット

AES、ChaCha20、そしてその上に載る AEAD 構成

sgcCrypto_AES は CBC、GCM、CTR をカバーします。sgcCrypto_Modes が ECB、OFB、CFB、暗号文スティーリング、AES-CCM、AES Key Wrap を追加します。sgcCrypto_ChaCha は ChaCha20、XChaCha20、Salsa20、XSalsa20 を実装し、sgcCrypto_Poly1305 がそれらと Poly1305 を組み合わせて RFC 8439 の AEAD 暗号にします。復号は認証タグを一定時間で比較し、検証に失敗した場合は平文を返しません。

共通鍵暗号のユニットを見る →
ハッシュと KDF · 11 ユニット

SHA-2、SHA-3、BLAKE2、そして主要な KDF のすべて

sgcCrypto_SHA2sgcCrypto_Keccak が SHA-1、SHA-2、SHA-3、SHAKE、cSHAKE、KMAC をカバーし、その隣に BLAKE2b と BLAKE2s が並びます。パスワードを鍵に変えるには PBKDF2、HKDF、scrypt、そして sgcCrypto_Argon2 があり、Argon2 の 3 つのバリアント d、i、id をすべて実装しています。sgcCrypto_SipHash はハッシュテーブルのキー向けの高速な鍵付きハッシュで、sgcCrypto_HMAC はどのダイジェストでも使える鍵付きメッセージ認証です。

ハッシュのユニットを見る →
署名と鍵交換 · 10 ユニット

Ed25519、X25519、secp256k1、Brainpool、RSA

Ed25519 と Ed448 が署名を行い、X25519 と X448 が対応する Diffie-Hellman を担当します。sgcCrypto_ECCurves は 7 種類の曲線上の ECDSA と ECDH に加え、RFC 6979 の決定的ナンスと BIP-340 の Schnorr 署名を追加します。sgcCrypto_RSA_Keys は任意のビット長で鍵を生成し、PKCS#1 と PKCS#8 の両方の形式で DER または PEM としてエクスポートできます。

できることを見る →
PKI · 5 ユニット

X.509 証明書の読み取り、検証、生成

sgcCrypto_X509 は証明書を解析し、発行者を検証し、チェーンをたどり、CRL を読み取ります。sgcCrypto_X509_Gen は、自己署名証明書や PKCS#10 の CSR をゼロから生成します。識別名一式、有効期間、CA フラグ、鍵用途、拡張鍵用途、サブジェクト代替名を指定でき、RSA 鍵または EC 鍵で署名します。

証明書まわりの機能を見る →
ポスト量子 · 6 ユニット

ML-KEM、ML-DSA、SLH-DSA、そしてハイブリッドコンバイナ

FIPS 203 の鍵カプセル化を 3 つのパラメーターセットすべてで、FIPS 204 の署名を ML-DSA-44、65、87 で、FIPS 205 を 6 つの SHAKE パラメーターセットすべてで提供します。sgcCrypto_MLKEM_Hybrid は X25519 の秘密と ML-KEM の秘密を結合するため、共有鍵が従来方式の側より弱くなることはありません。

ポスト量子のユニットを見る →

各ファミリーのリファレンスページ:

関数を呼べば、バイトが返ってくる

構築するオブジェクトも、解放するコンテキストも、開いたままにしておくハンドルもありません。どちらのスニペットも、Delphi 7 から 13、そして C++ Builder で、すべての対象プラットフォームで同じようにコンパイルできます。

uses
  sgcCrypto_Random, sgcCrypto_AES, sgcCrypto_Keccak;
var
  vKey, vIV, vPlain, vAAD, vTag, vCipher, vDigest: TBytes;
begin
  // AES-256-GCM: 認証付き暗号化を 1 回の呼び出しで
  vKey    := sgcRandomBytes(32);
  vIV     := sgcRandomBytes(12);
  vPlain  := TEncoding.UTF8.GetBytes('confidential payload');
  vCipher := sgcAES_GCM_Encrypt(vKey, vIV, vPlain, vAAD, vTag);

  // SHA-3-256、1 回の呼び出し、管理するコンテキストオブジェクトは不要
  vDigest := sgcSHA3_256(vPlain);

  // 復号はタグを一定時間で検証し、失敗時は何も返さない
  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
  // 32 バイトのシードから Ed25519 署名を作成
  vSeed      := sgcRandomBytes(32);
  vMessage   := TEncoding.UTF8.GetBytes('sign me');
  vSignature := sgcEd25519_Sign(vSeed, vMessage);

  // ML-KEM-768: ポスト量子の鍵カプセル化 (FIPS 203)
  sgcMLKEM_GenerateKeyPair(mlkem768, vPublicKey, vPrivateKey);
  sgcMLKEM_Encapsulate(mlkem768, vPublicKey, vCiphertext, vSharedSecret);

  // 相手側は暗号文から同じ秘密を復元する
  sgcMLKEM_Decapsulate(mlkem768, vPrivateKey, vCiphertext, vSharedSecret);
end;

Object Pascal でも C++ Builder でも同じ形です。完全な機能マトリックス →

最初に知っておきたい 3 つのこと

sgcCrypto が何なのか、すでにお持ちかどうか、そしてどこで動くのか。3 つの答えはどれも短く、細かい注記の中ではなく、このページに書いてあります。

6 つのファミリー、43 個のユニット
ファミリー         ユニット数  提供内容
共通鍵暗号                  5  AES-GCM, AES-CCM, ChaCha20-Poly1305
ハッシュと KDF             11  SHA-2, SHA-3, BLAKE2, Argon2, HKDF
署名と鍵交換               10  Ed25519, X25519, ECDSA, RSA-PSS
PKI                         5  X.509 parse, verify, generate, CSR
ポスト量子                  6  ML-KEM, ML-DSA, SLH-DSA, hybrid
OTP とその他                6  HOTP/TOTP, Base32/64url, AE-2 ZIP

どのユニットもコンポーネントを登録しないため、
  パレットには何も現れず、フォームに何も
  配置されません。uses 句にユニットを追加して、
  関数を呼び出すだけです。

すでに sgcCrypto をお持ちかもしれません

43 個のユニットはすべて、sgcWebSockets の Standard、Professional、Enterprise、そして All-Access に追加費用なしで含まれています。Standard 以上のエディションライセンスをお持ちであれば、追加で購入していただくものはありません。

単体製品は、その逆の場合のためのものです

sgcWebSockets Core だけをお持ちの方や、sgcWebSockets のライセンスをまったくお持ちでない方はいかがでしょうか。単体パッケージは Core ランタイムと暗号ユニットを同梱しているため、フルエディションのライセンスなしでライブラリを利用できます。

プラットフォームのガードはありません

sgcVer.inc の中に、sgcCrypto を Windows に限定するものは何もありません。ユニットはごく普通の Object Pascal の算術演算なので、1 つのソースから Win32、Win64、Linux64、macOS、iOS、Android 向けにコンパイルできます。sgcCrypto_Random だけがプラットフォームを意識するユニットで、同じ sgcRandomBytes の呼び出しの背後で、ターゲットごとに CSPRNG のバックエンドを選択します。

Delphi と C++ Builder

sgcCrypto は、Delphi 7 から RAD Studio 13 まで、そして C++ Builder をターゲットにしています。無料体験版インストーラーは sgcWebSockets All-Access の体験版なので、43 個のユニットすべてを今日にも評価できます。

FIPS 197 & 202 RFC 8439 RFC 5280 FIPS 203/204/205 完全なソース

すべてのユニットと関数 →

sgcCrypto は、配布とバージョン合わせが必要なライブラリにバインドするのではなく、プリミティブを直接実装しています。そのため、鍵もダイジェストも署名も 1 回の関数呼び出しで済み、完全なソースコードにより、その間に何もブラックボックスは存在しません。

14 個のライブラリ、1 つのツールボックス

sgcCrypto は、Delphi、C++ Builder、.NET 向けの eSeGeCe コンポーネントライブラリ 14 製品のひとつです。共通の設計思想を持ち、完全なソースが付属し、ロイヤリティフリーで配布できます。

sgcCrypto

AEAD 暗号化、ハッシュと KDF、署名、X.509、そしてポスト量子暗号を、43 個の純粋な Object Pascal ユニットで提供します。sgcWebSockets Standard 以上に含まれるほか、単体製品としても入手できます。

詳しく見る →

sgcREST

Delphi と C++ Builder 向けの REST サーバー、OpenAPI サーバー、OpenAPI クライアントコンポーネントです。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcHTTP

Delphi と C++ Builder 向けの HTTP/2 クライアント、gRPC クライアント、そして Google Cloud の Pub/Sub、Calendar、FCM クライアントです。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcAuth

Delphi と C++ Builder 向けの OAuth2 クライアント、JWT クライアント、WebAuthn 対応。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcWebSockets

Delphi、C++ Builder、Lazarus、.NET 向けの WebSocket、HTTP/2、MQTT、AMQP、WebRTC、AI、そして 30 を超える API 統合。Enterprise エディションには gRPC も含まれています。

詳しく見る →

sgcMQ

Delphi と C++ Builder 向けの MQTT、AMQP 0.9.1 および 1.0、Apache Kafka、STOMP のクライアントコンポーネント。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcSocial

Delphi と C++ Builder 向けの Telegram および WhatsApp Business のクライアントコンポーネント。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcHTML

Delphi、C++ Builder、.NET 向けの、Bootstrap 5 と htmx を基盤とするサーバーサイド HTML / UI コンポーネントです。

詳しく見る →

sgcQUIC

生の QUIC トランスポートと HTTP/3 のクライアントおよびサーバー、WebTransport 対応。sgcWebSockets Enterprise のアドオンです。

詳しく見る →

sgcAI

Delphi と C++ Builder 向けの AI、LLM、MCP コンポーネント。1 つのコンポーネントで 7 社の LLM プロバイダーに対応し、MCP、埋め込み、音声も利用できます。単体製品で、sgcWebSockets Core ランタイムを同梱しています。

詳しく見る →

sgcOpenAPI

OpenAPI 3.x パーサー、ネイティブ Pascal SDK ジェネレーター、OpenAPI サーバーコンポーネント、そして 1,195 以上のビルド済みクラウド SDK。

詳しく見る →

sgcSign

ドキュメントには XAdES、PAdES、CAdES、ASiC、コードには Authenticode、ClickOnce、NuGet、VSIX。

詳しく見る →

sgcBiometrics

Delphi と C++ Builder 向けの Windows Hello、指紋センサー、Windows Biometric Framework。

詳しく見る →

sgcIndy

モダンな TLS、IPv6、HTTP/2 に対応した更新版 Indy TCP/IP コンポーネント。Delphi 7 から 13 まで対応します。

詳しく見る →

価格とライセンスを見る 体験版をダウンロード

開発者の声

世界中の Delphi、C++ Builder、Lazarus、.NET 開発者から信頼されています。

Your sgcWebSockets library is very useful and easy to setup. Keep up the good work!

Simone Moretti Delphi Developer

sgcWebSockets is amazing and your support is the best!

Christian Meyer Founder & CTO

Thanks so much for your help and support, I love your components.

Mark Steinfeld CTO

ブログの最新記事

すべての記事を見る →

現在は eSeGeCe の 暗号技術 ビューを表示しています。

別の切り口を見る →
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

バイトを入れて、バイトを受け取る、ネイティブコード

AEAD 暗号化、ハッシュ、署名、X.509、そしてポスト量子暗号を 43 個のユニットで。完全なソースコードも箱の中に入っています。