[上課筆記] LAB實作 RSA - round 2

LAB RSA題目:

明文 M0
密key password.txt
對稱加密輸出密文C1
非對稱加密密key輸出password.rsa
非對稱簽章檔C1.sign
傳送->C1、C1.sign、password.rsa、mypub.pem
-----
對稱式解密輸出M1
非對稱式解密密key輸出password.txt
非對稱式簽署驗證輸出C2
比對C1與C2做驗證
C1=C2、則M1為真=M0
C1/=C2、則M1為假
-----------------
解題
(A)genkey.bat
  • echo 產製發送者 公/私鑰 (mykey.pem)
  • openssl genrsa -out mykey.pem -passout pass:11111111 -idea -f4 2048
  • type mykey.pem
  • pause
  • echo 取出發送者 公鑰 (mypub.pem)
  • openssl rsa -in mykey.pem -out mypub.pem -passin pass:11111111 -pubout
  • type mypub.pem
  • pause
  • echo 產製接收者 公/私鑰 (yourkey.pem)
  • openssl genrsa -out yourkey.pem -passout pass:22222222 -des -3 1024type yourkey.pem
  • pause
  • echo 取出接收者 公鑰 (yourpub.pem)
  • openssl rsa -in yourkey.pem -out yourpub.pem -passin pass:22222222 –pubout
  • type yourpub.pem
  • pause
(B)send.bat
  • echo 加密文件 M0 輸出密件 C1
  • openssl enc -des -e -in M0 -out C1 -k 12345678
  • echo 加密密鑰 password.txt 輸出密鑰密件 password.rsa
  • openssl rsautl -in password.txt -out password.rsa -inkey yourpub.pem -pubin -encrypt
  • echo 簽署密件 C1 輸出密件簽章檔 C1.sign
  • openssl rsautl -in C1 -out c1.sign -inkey mykey.pem -sign
(C)receiver.bat
  • echo 解密密鑰密件 password.rsapassword.txt 輸出密鑰文件 passwordx.txt
  • openssl rsautl -in password.rsa -out passwordx.txt -inkey yourkey.pem -decrypt
  • type passwordx.txt
  • pause
  • echo 解密文件 C1 輸出文件 M1
  • openssl enc -des -d -in C1 -out M1
  • echo 驗證簽署密件 C1.sign
  • openssl rsautl -in C1.sign -out c2 -inkey mypub.pem -pubin -verify
  • type C1
  • pause
  • type C2
  • pause

留言