推奨は Ed25519 - モダンで高速・コンパクト。ECDSA P-256 は古いブラウザでも動作します。
100% クライアント側で動作 - 鍵、メッセージ、署名がブラウザの外に出ることはありません。
機能の説明
デジタル署名ツールは、秘密を一切明かさずにメッセージの書き手が誰かを証明します。ブラウザー内で本物の非対称鍵ペア - Ed25519 または ECDSA P-256 - を生成し、任意のテキストに秘密鍵で署名し、対応する公開鍵で署名を検証します。有効な署名は「秘密鍵の保持者が、まさにこのメッセージに署名した」ことの数学的証明です: メッセージの 1 文字を変えるか、別の鍵で検証すれば、チェックは失敗します。この性質は**否認防止(non-repudiation)**と呼ばれます - 共有パスワードと違い、署名者は後から署名したことを否定できません。その署名を作れるのは本人の秘密鍵だけだからです。
すべてはブラウザーの Web Crypto API 経由で動きます。鍵はローカルで生成され、標準の hex エンコード DER(公開鍵は SPKI / 秘密鍵は PKCS8)としてエクスポートされ、サーバーには一切触れません。どちらのアルゴリズムも、SHA-256 ダイジェット(ECDSA)または生メッセージ(Ed25519)に対してコンパクトな 64 バイトの署名を生成します。
使い方
- アルゴリズムを選びます - Ed25519(推奨: モダンで高速、決定論的な署名)または ECDSA P-256(古いブラウザーへの対応に最良)。
- Generate タブで Generate key pair を押します。公開鍵(自由に共有可)と秘密鍵(厳重に保管)をコピーします。
- Sign タブで秘密鍵を貼り付け、メッセージを入力し、Sign message を押します。hex 署名をコピーします。
- Verify タブで公開鍵・メッセージ・署名を貼り付け、Verify signature を押します。緑のバッジは署名が本物であること、赤のバッジはメッセージ・署名・鍵のいずれかが一致していないことを示します。
例
署名と検証の往復(Ed25519):
message: "Invoice #42, total $1,200 - GΛB"
signature: 9a3f…(128 hex chars = 64 bytes)
verify with the signer's public key → ✅ Valid signature
改ざんされたメッセージ:
message: "Invoice #42, total $9,200 - GΛB" ← one digit changed
same signature + same public key → ❌ Invalid signature
間違った鍵:
verify the original signature with ANY other public key → ❌ Invalid signature
補足事項
- サーバーとの接触ゼロ: 鍵・メッセージ・署名はブラウザータブの中にしか存在しません。アップロードもロギングも保存もされません。オフラインで署名できます。
- Ed25519 と ECDSA P-256: Ed25519 はモダンなデフォルトです - 高速な検証、決定論的な署名(同じメッセージと鍵からは常に同じバイト列が得られる)、64 バイトの署名、サイドチャネルの落とし穴への耐性。ECDSA P-256(SHA-256 使用)は、古いブラウザーやスマートカードで最も広くサポートされる NIST 曲線です。どちらも安全と考えられていますが、使える環境なら Ed25519 の方が扱いやすい選択です。
- 秘密鍵こそがアイデンティティです。 失効も復元もありません: 秘密鍵を手にした人は誰でも、あなたとして署名できます。実利用の鍵は信頼できる環境で生成し、暗号化して保管してください。
- 相互運用の注意: ここでの ECDSA 署名は、Web Crypto が使う生の IEEE P1363
r||sレイアウトです -ASNASNA number identifying one routing domain on the internet (one AS = one network under a single policy), used by BGP to exchange routes.Learn more
.1 DER ではありません。OpenSSL ユーザーは、DER 署名と比較するためにopenssl pkeyutl -rawin/ 変換が必要です。Ed25519 署名はどこでも標準の RFC 8032 の 64 バイト形式です。 - 署名は作者であることの証明であり、機密性ではありません。 メッセージは平文のままです - 内容を隠すには File Encryptor と組み合わせてください。公開鍵による証明ではなく共有秘密(対称鍵)によるメッセージ認証については、
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator を参照してください。 - 関連ツール:
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
Generator、File Encryptor、HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Generator。