Block Cipher
>> Block Cipher คืออะไร
คือ การเข้ารหัสแบบ Symmetric - Key Cryptography ที่มีรูปแบบการเข้ารหัสเป็นบล็อก (Block)
ขนาดบล็อกที่ใช้งานจะมีหลายขนาด เช่น 64 ,128 หรือ 256 บิต เป็นต้น และขนาดของบล็อกที่ทำการเข้ารหัสแล้วจะมีขนาดคงที่
>> กระบวนการทำงานของ Block Cipher
การเข้ารหัสแบบ Block Cipher จะมีการประมวลผลเป็นบล็อก โดยต้องมีการแบ่งข้อความออกเป็นกลุ่ม ๆ ให้พอดีกับขนาดของบล็อกที่ใช้เข้ารหัส
โดยปกติแล้วข้อความที่นำมาเข้ากระบวนการ Block Cipher จะมีขนาดความยาวไม่พอดีกับขนาดความยาวของบล็อก ดังนั้นในกรณีนี้จึงมีกระบวนการที่เรียกว่า Padding ซึ่งเป็นการเพิ่มขนาดความยาวของข้อความให้พอดีกับขนาดของบล็อก โดยการเพิ่มค่าเริ่มต้น (Default Value) เช่น 0 เป็นต้น
>> ตัวอย่างการเข้ารหัสแบบ Block Cipher
ข้อความขนาดความยาว 150 บิต
ใช้บล็อกที่มีขนาด 64 บิต จำนวน 2 บล็อก จะได้ 128 บิตแต่จะ เหลืออีก 22 บิต ที่ยังไม่มีบล็อก
Plaintext
150 bit
Plaintext
64 bit
64 bit
22 bit
128 bit
ดังนั้น จะต้องทำการเพิ่มบล็อกขนาด 64 บิต เข้าไปอีก 1 บล็อก รวมเป็น 3 บล็อก ทำให้ขนาดของบล็อกใหญ่กว่าขนาดของข้อความ
Plaintext
64 bit
64 bit
192 bit
64 bit
>> ตัวอย่างการเข้ารหัสแบบ Block Cipher
เมื่อนำขนาดบล็อกสุดท้ายลบกับขนาดข้อความที่เกินมาจะได้ 64-22 = 42 บิต
ซึ่ง 42 บิต ที่เหลือของบล็อกเราจะต้องทำการ Padding เพื่อให้ขนาดของข้อความเท่ากับขนาดของบล็อก
Plaintext
64 bit
64 bit
64 bit
Padding
Plaintext
64 bit
64 bit
64 bit
42 bit
Plaintext
42 bit
เมื่อขนาดข้อความเท่ากับขนาดของบล็อกก็จะสามารถทำการเข้ารหัสได้
Block Cipher
Encryption
Key
Ciphertext