Golang Example AES-CBC

Witxyz
Apr 29, 2021

--

CBC mode เป็น mode ชนิดหนึ่งของ AES โดยแต่ละ block จะทำการ Exclusive or ก่อนที่จะทำการเข้ารหัส

  • ควรมีขนาดบล็อก AES หลายขนาด
  • IV ควรเท่ากับขนาดบล็อก AES

โดยมีพารามิตเตอร์หลักๆที่สนใจดังนี้

  • key คือ คีย์ที่เราจะเอาไว้ encrypt โดยมีความยาวตั้งแต่ 16 ,24 และ 32 ตัว
  • plain textคือ สิ่งที่เราต้องการเก็บเป็นความลับ ซึ่งจะต้อง mod กับ key แล้วเท่ากับ 0
  • iv คือ initial vector มันก็เหมือนกับ key แบบหนึ่งที่ใช่ให้มีความปลอดภัยมากขึ้น

ผลลัพธ์

Original Text: Test encrypt CBC 32 bit 12345678
CBC 32 bit Encrypted Text: 00000000000000000000000000000000109547e7a874754e0dbadeff3ac6a483f05767ae6f2b22d555f0de3150e3609b
CBC 32 bit Decrypyed Text: Test encrypt AES 32 bit 12345678

--

--