DigitalSignature
DigitalSignature[assoc]
デジタル署名オブジェクトを表す.
詳細
- デジタル署名はメッセージの信頼性を検証するために使われるもので,署名するデータと秘密鍵の両方に依存する.
- デジタル署名はGenerateDigitalSignatureおよびGenerateFileSignatureで作ることができる.
- DigitalSignature[…]["prop"]はデジタル署名の特性を与える.
- 署名アルゴリズムのタイプは,署名の"Type"特性で示される.使用可能なタイプには"RSA"と"EllipticCurve"がある.
- 次は,"RSA"の追加特性である.
-
"HashingMethod" ハッシュ法 "HashName" 充填で使用されるハッシュ名 "Padding" 充填法 "Signature" デジタル署名 - 次は,"EllipticCurve"の追加特性である.
-
"CurveName" デジタル署名の計算に使われる楕円曲線 "HashingMethod" 使用するハッシュメソッド "SignatureType" デジタル署名生成のモード "R" デジタル署名ペアの最初の要素「r」 "S" デジタル署名ペアの2番目の要素「s」 - ビットコインブロックチェーンのデジタル署名には,次の追加的な特性がある.
-
"DER" DER形式のデジタル署名 - イーサリアムベースのブロックチェーンのデジタル署名には,次の追加的な特性がある.
-
"RecoveryParameter" 公開鍵の回復に使われる回復パラメータ - DigitalSignature[…]["Parameters"]は,オブジェクトに含まれる全情報を連想として与える.
- DigitalSignature[…]["Properties"]は,使用可能な特性のリストを与える.
- expr のDigitalSignatureはVerifyDigitalSignatureを使って確認することができる.
- ファイルのDigitalSignatureはVerifyFileSignatureを使って確認することができる.
例題
すべて開く すべて閉じる例 (1)
メッセージにサインすることでデジタル署名オブジェクトを得る:
keys = GenerateAsymmetricKeyPair["EllipticCurve"]message = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";sig = GenerateDigitalSignature[message, keys["PrivateKey"]]sig["R"]sig["S"]sig["Properties"]スコープ (2)
暗号通貨 (2)
ビットコインのトランザクションでよく使われる,DER符号化されたデジタル署名を得る:
keys = GenerateAsymmetricKeyPair["Bitcoin"]message = ByteArray["A4AaBgAEzCrPVgQzww83CF1KOa1UOwwACkJXIFN1cHBvcnQgOE0gCmZpc2hlciBqaW54aW4JL0JXIFBvb2wv"];signature = GenerateDigitalSignature[message, keys["PrivateKey"], Method -> <|"Type" -> "EllipticCurve", "CurveName" -> "Bitcoin"|>]signature["DER"]イーサリアムネットワークで公開鍵の回復に使われる回復パラメータを得る:
keys = GenerateAsymmetricKeyPair["Ethereum"]message = ByteArray[
"A4AaBgAEzCrPVgQzww83CF1KOa1UOwwACkJXIFN1cHBvcnQgOE0gCmZpc2hlciBqaW54aW4JL0JXIFBvb2wvChQerJZv"];signature = GenerateDigitalSignature[message, keys["PrivateKey"], Method -> <|"Type" -> "EllipticCurve", "CurveName" -> "Ethereum", "HashingMethod" -> "Keccak256"|>]signature["RecoveryParameter"]アプリケーション (2)
ビットコインネットワークの必要条件を満たすデジタル署名を生成する:
keys = GenerateAsymmetricKeyPair["Bitcoin"]message = ByteArray["A4AaBgAEzCrPVgQzww83CF1KOa1UOwwACkJXIFN1cHBvcnQgOE0gCmZpc2hlciBqaW54aW4JL0JXIFBvb2wv"];signature = GenerateDigitalSignature[message, keys["PrivateKey"], Method -> <|"Type" -> "EllipticCurve", "CurveName" -> "Bitcoin", "HashingMethod" -> "SHA256SHA256", "SignatureType" -> "Deterministic"|>]VerifyDigitalSignature[{message, signature}, keys["PublicKey"]]イーサリアムネットワークの必要条件を満たすデジタル署名を生成する:
keys = GenerateAsymmetricKeyPair["Ethereum"]message = ByteArray[
"A4AaBgAEzCrPVgQzww83CF1KOa1UOwwACkJXIFN1cHBvcnQgOE0gCmZpc2hlciBqaW54aW4JL0JXIFBvb2wvChQerJZv"];signature = GenerateDigitalSignature[message, keys["PrivateKey"], Method -> <|"Type" -> "EllipticCurve", "CurveName" -> "Ethereum", "HashingMethod" -> "Keccak256", "SignatureType" -> "Deterministic"|>]VerifyDigitalSignature[{message, signature}, keys["PublicKey"]]テキスト
Wolfram Research (2019), DigitalSignature, Wolfram言語関数, https://reference.wolfram.com/language/ref/DigitalSignature.html (2020年に更新).
CMS
Wolfram Language. 2019. "DigitalSignature." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/DigitalSignature.html.
APA
Wolfram Language. (2019). DigitalSignature. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DigitalSignature.html
BibTeX
@misc{reference.wolfram_2026_digitalsignature, author="Wolfram Research", title="{DigitalSignature}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/DigitalSignature.html}", note=[Accessed: 13-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_digitalsignature, organization={Wolfram Research}, title={DigitalSignature}, year={2020}, url={https://reference.wolfram.com/language/ref/DigitalSignature.html}, note=[Accessed: 13-September-2026]}