PublicKey[assoc]
公開鍵暗号化システムのうち,鍵のペアの公開部分を表す.
PublicKey[PrivateKey[…]]
与えられた秘密鍵に適合する公開鍵を作成する.
PublicKey
PublicKey[assoc]
公開鍵暗号化システムのうち,鍵のペアの公開部分を表す.
PublicKey[PrivateKey[…]]
与えられた秘密鍵に適合する公開鍵を作成する.
詳細
- PublicKeyオブジェクトは,Encrypt,Decrypt,VerifyDigitalSignature等の関数とともに使うことができる.
- 特定のPublicKeyオブジェクトで暗号化されたデータは,対応するPrivateKeyオブジェクトで復号化されなければならない.
- PrivateKeyオブジェクトとPublicKeyオブジェクトの対応するペアは,GenerateAsymmetricKeyPairで生成することができる.
- PublicKey[…]["prop"]を使って公開鍵の特性が抽出できる.
- 次は,PublicKeyの基本特性である.
-
"Type" 暗号タイプ "PublicByteArray" バイト配列としての公開鍵 "PublicHexString" 16進数列としての公開鍵 "PublicKeySize" 公開鍵のサイズ(単位:ビット) - 使用可能な暗号タイプは"RSA"と"EllipticCurve"である.
- 次は,"RSA"の追加特性である.
-
"PublicExponent" 公開指数 "PublicModulus" 公開係数 "Padding" 埋込みモード - 次は,"EllipticCurve" の追加特性である.
-
"CurveName" 楕円曲線名(例:"sec256k1") "PublicCurvePoint" 公開曲線点 "Compressed" 公開鍵が圧縮形式かどうか - "CurveName"の使用可能な設定は$CryptographicEllipticCurveNamesにリストされている.
- PublicKey[…]["Parameters"]は,オブジェクトに含まれる全情報を連想として与える.
- PublicKey[…]["Properties"]は,使用可能な特性のリストを与える.
例題
すべて開く すべて閉じる例 (2)
keys = GenerateAsymmetricKeyPair[]Encrypt[keys["PublicKey"], "Now is the time..."]Decrypt[keys["PrivateKey"], %]keys = GenerateAsymmetricKeyPair["EllipticCurve"]keys["PublicKey"]["CurveName"]keys["PublicKey"]["Compressed"]keys["PublicKey"]["Properties"]スコープ (2)
有効な公開鍵オブジェクトのコンストラクタとしてPublicKeyを使うことができる.
keys = GenerateAsymmetricKeyPair[]public = keys["PublicKey"];PublicKey[<|"Type" -> "RSA", "PublicExponent" -> public["PublicExponent"], "PublicModulus" -> public["PublicModulus"]|>]SameQ[%, public]private = GenerateAsymmetricKeyPair[]["PrivateKey"]PublicKeyを使って対応する公開鍵オブジェクトを作成する:
PublicKey[private]特性と関係 (2)
GenerateAsymmetricKeyPairによって作成されたPublicKeyオブジェクトはその鍵の特性の完全な集合を含んでいる:
ec1 = GenerateAsymmetricKeyPair["EllipticCurve"]["PublicKey"]ec1["Properties"]有効な公開鍵オブジェクトを再構築するためにすべての特性を与える必要はない.楕円曲線については,公開曲線の点を指定するだけでよい:
ec2 = PublicKey[<|"Type" -> "EllipticCurve", "PublicCurvePoint" -> ec1["PublicCurvePoint"]|>]SameQ[ec1, ec2]ec3 = PublicKey[<|"Type" -> "EllipticCurve", "PublicHexString" -> ec1["PublicHexString"]|>]SameQ[ec1, ec2, ec3]ByteArray表現を使う:
ec4 = PublicKey[<|"Type" -> "EllipticCurve", "PublicByteArray" -> ec1["PublicByteArray"]|>]SameQ[ec1, ec2, ec3, ec4]RSA用のPublicKeyオブジェクトを再構築するために,整数,16真数,あるいはByteArray表現で公開係数を提供する:
rsa1 = GenerateAsymmetricKeyPair["RSA"]["PublicKey"];GenerateAsymmetricKeyPairから最初に得たオブジェクトと同じオブジェクトを再構築する:
rsa2 = PublicKey[<|"Type" -> "RSA", "PublicModulus" -> rsa1["PublicModulus"]|>]SameQ[rsa1, rsa2]関連するガイド
テキスト
Wolfram Research (2015), PublicKey, Wolfram言語関数, https://reference.wolfram.com/language/ref/PublicKey.html (2020年に更新).
CMS
Wolfram Language. 2015. "PublicKey." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/PublicKey.html.
APA
Wolfram Language. (2015). PublicKey. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PublicKey.html
BibTeX
@misc{reference.wolfram_2026_publickey, author="Wolfram Research", title="{PublicKey}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/PublicKey.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_publickey, organization={Wolfram Research}, title={PublicKey}, year={2020}, url={https://reference.wolfram.com/language/ref/PublicKey.html}, note=[Accessed: 03-November-2026]}