今日目標(3 項)
理解對稱加密(AES)與非對稱加密(RSA)基本原理與應用場景。
練習常見雜湊函式(MD5/SHA256)與簽章/驗證流程(簡單用 OpenSSL 實作)。
用生成式 AI 幫你把概念轉成可執行命令並驗證(在本地 lab)。
當日要做的實作(步驟)
雜湊摘要:
echo -n "hello" | openssl dgst -sha256
echo -n "password123" | openssl dgst -md5
檢查不同輸入的雜湊變化(確認 avalanche effect)。
對稱加密(AES)示範:
加密:
openssl enc -aes-256-cbc -salt -in plain.txt -out cipher.bin -pass pass:MyS3cret
解密:
openssl enc -d -aes-256-cbc -in cipher.bin -out plain2.txt -pass pass:MyS3cret
非對稱(RSA)示範:
# 產生私鑰與公鑰
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -in private.pem -pubout -out public.pem
# 用公鑰加密、私鑰解密(小訊息)
echo "secret" > msg.txt
openssl rsautl -encrypt -inkey public.pem -pubin -in msg.txt -out msg.enc
openssl rsautl -decrypt -inkey private.pem -in msg.enc -out msg.dec
數位簽章(簡易流程):私鑰簽名、用公鑰驗證:
openssl dgst -sha256 -sign private.pem -out msg.sig msg.txt
openssl dgst -sha256 -verify public.pem -signature msg.sig msg.txt
觀念驗證 / 實驗:用 AI 幫你解釋每個命令的參數與安全注意事項,並讓 AI 幫你把流程寫成一段教學報告(含修復/實務建議)。
今天學習密碼學基礎:實作 SHA256/MD5 雜湊、用 OpenSSL 演示 AES 對稱加解密與 RSA 公私鑰加解密與簽章流程。透過實驗我理解了雜湊不可逆、對稱適合大量資料加密、非對稱適合金鑰交換與簽章驗證。下一步打算用 Python 將流程自動化並補充金鑰管理與實務安全建議。