非対称鍵で暗号の作成と解読を行う
非対称鍵暗号化方式では,公開鍵と秘密鍵を生成しなければならない.メッセージは「公開」鍵を使って暗号化することができるが,「秘密」鍵を使わなければ解読できない.
非対称鍵のペアを生成する.
In[1]:=
![Click for copyable input](assets.ja/use-asymmetric-key-cryptography/In_29.png)
keys = GenerateAsymmetricKeyPair[]
Out[1]=
![](assets.ja/use-asymmetric-key-cryptography/O_24.png)
公開鍵を使ってメッセージを暗号化する.
In[2]:=
![Click for copyable input](assets.ja/use-asymmetric-key-cryptography/In_30.png)
encrypted =
Encrypt[keys["PublicKey"],
"The gold is located off the coast of Honduras."]
Out[2]=
![](assets.ja/use-asymmetric-key-cryptography/O_25.png)
このメッセージは,暗号化に使った公開鍵で解読することはできない.秘密鍵を使わなければならない.
In[3]:=
![Click for copyable input](assets.ja/use-asymmetric-key-cryptography/In_31.png)
Decrypt[keys["PublicKey"], encrypted]
![](assets.ja/index.ja/M_1.gif)
Out[3]=
![](assets.ja/use-asymmetric-key-cryptography/O_26.png)
In[4]:=
![Click for copyable input](assets.ja/use-asymmetric-key-cryptography/In_32.png)
Decrypt[keys["PrivateKey"], encrypted]
Out[4]=
![](assets.ja/use-asymmetric-key-cryptography/O_27.png)