工具
- RsaCtfTool
- 3summer/CTF-RSA-tool
- gmpy2
- PyCrypto
習題區
RSA
- 公鑰:
e
,N
- 私鑰:
d
,N
公私鑰皆可加密,並且使用相對的密鑰解密。
安全議題
質因數工具
pip install factordb-pycli
from factordb.factordb import FactorDB
f = FactorDB(16)
f.connect()
f.get_factor_list()
f.is_prime()
Block Cipher
Feistel Cipher 範例
參見
數位簽署
- 透過發行者的私鑰對資料雜湊值加密產生簽章。
- 使用者向發行者索取公鑰,並且對簽章進行解密, 並且比對其hash值是否與資料相同。
發行者:
file -> encrypt(hash(file), private_key) -> 發行
使用者:
released_file -> decrypt(released_file, public_key) -> 檢查hash值
參見
古典密碼
- 凱薩密碼
- 摩斯密碼
參見
CTF Information Security Cryptography