資安
p is prime
延伸:
: 在 n 的數中與 n 互質 () 的數
定義: 如存在一數 a 使 ,則 n 為二次殘差 QR,否則為非二次殘差 QNR
性質:
如何判斷一數是否為 QR:
當 p 為奇數質數
尋找 a 的方式:
proof:
wikipedia: Tonelli–Shanks algorithm
當 p 為質數
一種產生偽隨機數的方法
公式:
特性: 當 時,
proof:
以下破解參考這篇文章
假設已知 、、、,不知
公式:
proof:
假設已知 、、、,不知 、
公式:
退化回上一題目
proof:
假設已知 、 … (),不知 、、
令
公式:
退化回上一題目
proof:
…
塊加密不能是線性的,否則可以利用一些公式直接破解,通常相關題目設計時會在 sbox 上搞鬼
雖然以下圖片是 DES,但 AES 也是異曲同工之妙
參考這篇文章,可知線性 AES 可被 model 成 格式,只要求出 A 和 k 的值代表即可任意加解密
即 ,
Data Encryption Standard - Wikipedia
在某些 key 的情況下,
Weak key - Wikipedia
Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher 3.4.2
即在 的情況下有前者的特性
0x0000000000000000
0x0101010101010101
0x1E1E1E1E0F0F0F0F
0x1F1F1F1F0E0E0E0E
0xE0E0E0E0F1F1F1F1
0xE1E1E1E1F0F0F0F0
0xFEFEFEFEFEFEFEFE
0xFFFFFFFFFFFFFFFF
在 的情況
0x011F011F010E010E
+ 0x1F011F010E010E01
0x01E001E001F101F1
+ 0xE001E001F101F101
0x01FE01FE01FE01FE
+ 0xFE01FE01FE01FE01
0x1FE01FE00EF10EF1
+ 0xE01FE01FF10EF10E
0x1FFE1FFE0EFE0EFE
+ 0xFE1FFE1FFE0EFE0E
0xE0FEE0FEF1FEF1FE
+ 0xFEE0FEE0FEF1FEF1
在某些 key 的情況下,切分出來的 subkey 只會產生 4 個 (而非 16 個)
以下為部分範例,詳細部分請參考Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher 3.4.2
0x01011F1F01010E0E
0x1F01FEE00E01FEF1
0x1F1F01010E0E0101
0xE0E00101F1F10101
0xE0E01F1FF1F10E0E
0xFEFEE0E0FEFEF1F1
相當於是 ,此處 為自然指數
相當於是 ,此處 為以自然指數為基底的 log
同態加密有此特性:
因此可得出
有時可搭配 RSA 的 Related Message Attack 進行破解
example: prsa