這邊要注意一下
在密碼學中所說的運算通常都是 XOR
詳細的表如下
⊕ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 0 |
記得 bit 相同為 0, 不同為 1
其中一個經典例子就是 AES
其他還有 DES, Blowfish ... 等
AES 為一種區塊加密
意思是會將資料先切成一塊一塊大小相等的區塊再進行加密
每個矩陣為 4 X 4
完整個加密過程有四個步驟
詳細的加密過程可以看看 這個影片 會比較清楚
攻擊
常見的攻擊方式有
經典例子為 RSA
名字的由來是由當初開發這個演算法的三位教授姓氏所命名
此演算法比較好懂 (我只會這個 QQ
主要用到質數的觀念
首先我們需要找到兩個質數 p
和 q
且 p != q
將 N = p * q
找到 φ = (p - 1) * (q - 1)
接著找一個 e
小於 φ
且與 φ
互質 (通常就直接給一個質數了)
這樣子一個完整的公鑰就是 (N, e)
這組數字
我們可以用這組數字來加密我們的訊息
加密公式為 c = (pt ^ e) mod N
這樣就得到密文了
那有了密文
我們該如何解密呢
利用上面求出來的 e
做模反元素(mod inverse) 找到 d
(N, d)
就是我們的私鑰
接著來看看解密公式
其實跟加密很像pt = (c ^ e) mod N
我的密碼學真的很爛 QQ
打到這裡我快崩潰惹
希望這粗淺的介紹大家還能接受 XD