iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
1
Security

資安0~100K只要30天系列 第 24

Day 24 - 現代密碼 (二)

  • 分享至 

  • xImage
  •  

這邊要注意一下
在密碼學中所說的運算通常都是 XOR
詳細的表如下

0 1
0 0 1
1 1 0

記得 bit 相同為 0, 不同為 1

對稱式加密

  • 加解密都使用同一把 Key

其中一個經典例子就是 AES
其他還有 DES, Blowfish ... 等

AES

  • 全名 : Advanced Encryption Standard
  • 又稱為 Rijndael 加密
  • 金鑰長度有 128, 192, 256 三種
  • 區塊長度 : 128 bits

AES 為一種區塊加密
意思是會將資料先切成一塊一塊大小相等的區塊再進行加密
每個矩陣為 4 X 4
完整個加密過程有四個步驟

  • AddRoundKey
    • 生成各回合所需的金鑰
  • SubBytes
    • 將矩陣進行轉換
  • ShiftRows
    • 將矩陣中的橫列進行循環移位
  • MixColumns
    • 將直行四個 Bytes 充分混和

詳細的加密過程可以看看 這個影片 會比較清楚

  • 攻擊
    常見的攻擊方式有

    • CBC : 密文填充攻擊
    • ECB : 剪貼攻擊

非對稱式加密

  • 加解密使用不同 Key
  • 分為公鑰 (public key)私鑰 (private key)

經典例子為 RSA

RSA

名字的由來是由當初開發這個演算法的三位教授姓氏所命名

  • Ron Rivest
  • Adi Shamir
  • Leonard Adleman

此演算法比較好懂 (我只會這個 QQ
主要用到質數的觀念

首先我們需要找到兩個質數 pqp != 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

密碼學 End

我的密碼學真的很爛 QQ
打到這裡我快崩潰惹
希望這粗淺的介紹大家還能接受 XD


上一篇
Day 23 - 現代密碼 (一)
下一篇
Day 25 - 逆向會被開罰單哦 (一)
系列文
資安0~100K只要30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言