P盒的作用是擴散(Diffusion),目的是讓明文和密鑰的影響迅速擴散到整個密文中。即1位的明文或密鑰的改變會影響到密文的多個比特。
基本介紹
- 中文名:P盒
- 外文名:Permutation-box
- 分類:密碼學
- 別名:排列盒
簡介,原理,舉例,
簡介
原理
- 32位作為輸入
- 該置換把輸入的每位映射到輸出位,任何一位不能被映射兩次,也不能被略去,映射規則如下表:
16 | 7 | 20 | 21 | 29 | 12 | 28 | 17 |
1 | 15 | 23 | 26 | 5 | 18 | 31 | 10 |
2 | 8 | 24 | 14 | 32 | 27 | 3 | 9 |
19 | 13 | 30 | 6 | 22 | 11 | 4 | 25 |
表中的數字代表原數據中此位置的數據在新數據中的位置,即原數據塊的第16位放到新數據的第1位,第7位放到第2位,……依此類推,第25位放到第32位。
舉例
例如十六進制10A1 0001進行P盒置換後變為8000 0886(十六進制)。
10A1 0001(十六進制)轉換為32位二進制為0001 0000 1010 0001 0000 0000 0000 0001,填入表中(如下)。
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
經P盒變換後為(原來的第16位放到輸出的第1位....)
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
經P盒變換後二進制為1000 0000 0000 0000 0000 1000 1000 0110,轉換為十六進制為8000 0886。