DES (07) - Sbox အစားသြင္းတြက္ခ်က္ပံု

Exclusive OR ၿပဳလုပ္ၿပီး ရလာတဲ့ 48 bits ကိုေတာ့ block ၈ ခုစီခြဲၿပီး input ကို S-box မွာ အစားသြင္း တြက္ခ်က္ရမွာ ၿဖစ္ပါတယ္ ။ Block ၁ ခုစီမွာ 6 bits ရွိပါတယ္ ။ ပထမ block (B1) ဟာ ပထမဆံုး 1-6 bits ၿဖစ္ပါတယ္ ။ေနာက္ဆံုး Block (B8) ကေတာ့ 42-48 bits ၿဖစ္ပါတယ္ ။ Block ၈ ခု အတြက္ S-box ကလဲ ၈ခု ရွိပါတယ္ ။S1 ကေန S8 ပါ ။ S-box ၁ခုအတြက္ Input bit က 6 bits ၿဖစ္ၿပီး output က 4 bits ၿဖစ္ပါတယ္ ။ S-box ၈ ခုရဲ႕ table ကို ပံု(၇) မွာ ၾကည့္ပါ ။

ပံု(၇)


အခု S1 အတြက္ input 6 bits ဟာ B1 က 6 bits ၿဖစ္ပါတယ္ ။ ဥပမာ အေနနဲ႔ B1 ရဲ႕ 1-6 bits ဟာ 011011 ဆိုပါစို႔ ။ အဲဒီ 6 bits မွာ ပထမဆံုး နဲ႔ ေနာက္ဆံုး bit ေတြဟာ binary code ကို အေၿခခံထားတဲ့ Row no 0 မွ 3 ထိ ၿဖစ္ပါတယ္ ။ 00 ဟာ Row no 0, 01 ဟာ Row no 1, 10 ဟာ Row no 2 နဲ႔ 11 ဟာ Row no 3 ၿဖစ္ပါတယ္ ။ အလယ္ 4 bits ကေတာ့ Column no အတြက္ ၿဖစ္ပါတယ္ ။ Column no အတြက္ကေတာ့ ေအာက္ပါအတိုင္း ၿဖစ္ပါတယ္။

0000 - Column no 0

0001 - Column no 1

0010 - Column no 2

0011 - Column no 3

0100 - Column no 4

0101 - Column no 5

0110 - Column no 6

0111 - Column no 7

1000 - Column no 8

1001 - Column no 9

1010 - Column no 10

1011 - Column no 11

1100 - Column no 12

1101 - Column no 13

1110 - Column no 14

1111 - Column no 15

အဲဒီေတာ့ 011011 ကို S1 မွာ အစားထိုးေတာ့ row က 01 နဲ႔ column က 1101 ၿဖစ္ပါတယ္ ။ S1 က row 1 နဲ႔ column 13 ဆံုတဲ့ေနရာက 5 ဆိုေတာ့ S1 ရဲ႕ output (4 bits) ဟာ 0101 ၿဖစ္ပါတယ္ ။ က်န္တဲ့ S2 – S8 ကို အဲလို ဆက္တြက္သြားရင္ output အတြက္ 48 bits ရမွာပါ ။



Please Share This Post

Share on Facebook Plus on Google+