Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

S-Box Substitution คืออะไร?

S-Box Substitution ใน DES

ขั้นตอนสำคัญที่สุดของฟังก์ชันรอบ DES ให้ Non-linearity (Confusion) เพียงอย่างเดียวในอัลกอริทึม

กระบวนการ

  1. รับ Input 48 บิต (จาก XOR ระหว่าง Expanded RPT 48 บิต กับ Subkey 48 บิต)
  2. แบ่งเป็น 8 ส่วน ส่วนละ 6 บิต
  3. แต่ละ 6 บิต → เข้าสู่ S-box 1 ถึง 8
  4. แต่ละ S-box: 6 บิตเข้า → 4 บิตออก (Lookup Table 4×16)
  5. รวม 8 × 4 บิต = 32 บิต Output

การทำงานภายใน S-box

  • บิตที่ 1 และ 6 (Outer Bits) → Row (0-3)
  • บิตที่ 2-5 (Inner Bits) → Column (0-15)
  • ค่าที่ Row, Column = Output (0-15) → แปลงเป็น 4 บิต

ตาราง S-box ทั้ง 8 ตัว (ค่าทศนิยม)

S-Box 1

1441312151183106125907
0157414213110612119538
4114813621115129731050
1512824917511314100613

S-Box 2

1518146113497213120510
3134715281412011069115
0147111041315812693215
1381013154211671205149

S-Box 3

1009146315511312711428
1370934610285141211151
1364981530111212510147
1101306987415143115212

S-Box 4

7131430691012851112415
1381156150347212110149
1069012117131513145284
3150610113894511127214

S-Box 5

2124171011685315130149
1411212471315015103986
4211110137815912563014
1181271142136150910453

S-Box 6

1211015926801334147511
1015427129561131401138
9141552812370410113116
4321295151011141760813

S-Box 7

4112141508133129751061
1301174911014351221586
14111312371410156801092
6111381410795015140312

S-Box 8

1328461511110931450127
1151381037412561101492
7114191214206101315358
2114741081315129035611

คุณสมบัติการออกแบบ

  • Non-linear: ไม่ใช่ Linear Function
  • Differential Uniformity: max P(ΔX→ΔY) = 1/4 (ทน Differential Cryptanalysis)
  • Linear Approximation: Bias ต่ำ (ทน Linear Cryptanalysis)
  • No Fixed Points: S(x) ≠ x สำหรับทุก x (ส่วนใหญ่)
  • Each Row is Permutation of 0-15

สรุป

S-boxes เป็นหัวใจของความปลอดภัย DES ให้ Confusion ผ่าน Non-linear Substitution ทั้ง 8 ตัว ตารางคงที่ มาตรฐาน FIPS 46-3