เร่งความเร็วการเข้ารหัสลับด้วย Carryless Multiplication บน NVIDIA CUDA 13.3

สำหรับนักพัฒนา CUDA และผู้เชี่ยวชาญด้านความปลอดภัย การเข้ารหัสลับที่รวดเร็วและมีประสิทธิภาพเป็นสิ่งสำคัญอย่างยิ่ง โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับงานที่ซับซ้อน เช่น การเข้ารหัสแบบยืนยันตัวตน (authenticated encryption) และการพิสูจน์ความรู้แบบไม่เปิดเผยข้อมูล (zero-knowledge proofs) ที่ต้องอาศัยการคำนวณในฟิลด์เลขฐานสอง (binary extension fields) มานานหลายปี CPU ตระกูล x86 ได้มีคำสั่งพิเศษสำหรับการคูณแบบไร้การทด (carryless multiplication) ซึ่งเป็นส่วนสำคัญเบื้องหลังการทำงานเหล่านี้

แต่เดิมนั้น NVIDIA GPU ขาดการสนับสนุนฮาร์ดแวร์โดยตรงสำหรับโอเปอเรชันนี้ แต่ด้วยการเปิดตัว NVIDIA CUDA 13.3 ได้มีการเพิ่มคำสั่ง PTX ใหม่ที่ชื่อว่า clmad ซึ่งเป็นการคูณสะสมแบบไร้การทดที่เร่งความเร็วด้วยฮาร์ดแวร์ ทำให้ GPU ตระกูล NVIDIA Ampere และรุ่นที่ใหม่กว่า (SM 80+) สามารถทำงานนี้ได้อย่างมีประสิทธิภาพ นี่คือสิ่งที่คุณจะได้สัมผัสเมื่อการคูณแบบไร้การทดกลายเป็นฟีเจอร์ฮาร์ดแวร์บน GPU

clmad คืออะไร และทำไมถึงสำคัญ?

Carryless Multiplication (การคูณแบบไร้การทด) คือการดำเนินการทางคณิตศาสตร์ที่ใช้ในการคำนวณภายในฟิลด์เลขฐานสอง \(GF(2^n)\) ซึ่งแตกต่างจากการคูณเลขทั่วไปตรงที่ไม่มีการ "ทด" ไปยังหลักถัดไป การคำนวณนี้มีความสำคัญอย่างยิ่งในหลายสาขา เช่น:

  • การเข้ารหัสลับ: เป็นหัวใจหลักของ GHASH ซึ่งเป็นส่วนหนึ่งของ AES-GCM (Advanced Encryption Standard Galois/Counter Mode) ที่ใช้ในการยืนยันความถูกต้องของข้อมูลในการสื่อสารที่ปลอดภัย เช่น TLS และ VPN
  • ระบบพิสูจน์ความรู้: เป็นส่วนประกอบสำคัญในโปรโตคอล zero-knowledge proofs ที่ช่วยให้สามารถพิสูจน์ความถูกต้องของผลลัพธ์การคำนวณโดยไม่ต้องเปิดเผยข้อมูลต้นทาง
  • การแก้ไขข้อผิดพลาด: ใช้ในโค้ดแก้ไขข้อผิดพลาด เช่น Reed–Solomon codes ที่ใช้ในระบบจัดเก็บข้อมูลและโทรคมนาคม
  • การคำนวณทางวิทยาการเข้ารหัสลับและทฤษฎีโค้ด: รวมถึงการคำนวณในฟิลด์เลขฐานสองที่ซับซ้อน

ก่อนหน้านี้ การคำนวณเหล่านี้บน GPU ต้องอาศัยเทคนิคการจำลองด้วยบิต (bitsliced circuits) ซึ่งมีค่าใช้จ่ายในการประมวลผลสูง แต่ด้วย clmad ที่มีอยู่บน NVIDIA CUDA 13.3 ได้ปิดช่องว่างนี้ ทำให้การประมวลผลบน GPU มีประสิทธิภาพสูงขึ้นอย่างมาก

ประโยชน์ที่จับต้องได้: GHASH และ Sum-check Protocol

NVIDIA CUDA 13.3 ได้นำ clmad มาใช้เพื่อเร่งความเร็วการคำนวณสองประเภทที่สำคัญ คือ GHASH และ Sum-check protocol โดยเฉพาะอย่างยิ่งในการทำงานกับฟิลด์ \(GF(2^{128})\)

🚀 เร่งความเร็ว GHASH สูงสุด 18.8 เท่า

GHASH เป็นอัลกอริทึมที่ใช้ในการคำนวณค่าแฮชสำหรับการยืนยันความถูกต้องของข้อมูลใน AES-GCM การใช้ clmad ในการคำนวณ GHASH บน GPU NVIDIA B200 สามารถทำ throughput ได้สูงถึง 6.3 TB/s ซึ่งใกล้เคียงกับแบนด์วิดท์การอ่านข้อมูลของ DRAM และเร็วกว่าวิธีการแบบ bitsliced เดิมถึง 18.8 เท่า สำหรับ NVIDIA GeForce RTX 5090 ก็สามารถเห็นการปรับปรุง throughput ที่สูงขึ้นอย่างมีนัยสำคัญเช่น

ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/building-faster-cryptography-with-carryless-multiplication-in-nvidia-cuda-13-3/

เร่งความเร็วการเข้ารหัสลับด้วย Carryless Multiplication บน NVIDIA CUDA 13.3สำหรับนักพัฒนา CUDA และผู้เชี่ยวชาญด้านความปลอดภัย การเข้ารหัสลับที่รวดเร็วและมีประสิทธิภาพเป็นสิ่งสำคัญอย่างยิ่ง โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับงานที่ซับซ้อน เช่น การเข้ารหัสแบบยืนยันตัวตน (authenticated encryption) และการพิสูจน์ความรู้แบบไม่เปิดเผยข้อมูล (zero-knowledge proofs) ที่ต้องอาศัยการคำนวณในฟิลด์เลขฐานสอง (binary extension fields) มานานหลายปี CPU ตระกูล x86 ได้มีคำสั่งพิเศษสำหรับการคูณแบบไร้การทด (carryless multiplication) ซึ่งเป็นส่วนสำคัญเบื้องหลังการทำงานเหล่านี้แต่เดิมนั้น NVIDIA GPU ขาดการสนับสนุนฮาร์ดแวร์โดยตรงสำหรับโอเปอเรชันนี้ แต่ด้วยการเปิดตัว NVIDIA CUDA 13.3 ได้มีการเพิ่มคำสั่ง PTX ใหม่ที่ชื่อว่า clmad ซึ่งเป็นการคูณสะสมแบบไร้การทดที่เร่งความเร็วด้วยฮาร์ดแวร์ ทำให้ GPU ตระกูล NVIDIA Ampere และรุ่นที่ใหม่กว่า (SM 80+) สามารถทำงานนี้ได้อย่างมีประสิทธิภาพ นี่คือสิ่งที่คุณจะได้สัมผัสเมื่อการคูณแบบไร้การทดกลายเป็นฟีเจอร์ฮาร์ดแวร์บน GPUclmad คืออะไร และทำไมถึงสำคัญ?Carryless Multiplication (การคูณแบบไร้การทด) คือการดำเนินการทางคณิตศาสตร์ที่ใช้ในการคำนวณภายในฟิลด์เลขฐานสอง \(GF(2^n)\) ซึ่งแตกต่างจากการคูณเลขทั่วไปตรงที่ไม่มีการ "ทด" ไปยังหลักถัดไป การคำนวณนี้มีความสำคัญอย่างยิ่งในหลายสาขา เช่น:การเข้ารหัสลับ: เป็นหัวใจหลักของ GHASH ซึ่งเป็นส่วนหนึ่งของ AES-GCM (Advanced Encryption Standard Galois/Counter Mode) ที่ใช้ในการยืนยันความถูกต้องของข้อมูลในการสื่อสารที่ปลอดภัย เช่น TLS และ VPNระบบพิสูจน์ความรู้: เป็นส่วนประกอบสำคัญในโปรโตคอล zero-knowledge proofs ที่ช่วยให้สามารถพิสูจน์ความถูกต้องของผลลัพธ์การคำนวณโดยไม่ต้องเปิดเผยข้อมูลต้นทางการแก้ไขข้อผิดพลาด: ใช้ในโค้ดแก้ไขข้อผิดพลาด เช่น Reed–Solomon codes ที่ใช้ในระบบจัดเก็บข้อมูลและโทรคมนาคมการคำนวณทางวิทยาการเข้ารหัสลับและทฤษฎีโค้ด: รวมถึงการคำนวณในฟิลด์เลขฐานสองที่ซับซ้อนก่อนหน้านี้ การคำนวณเหล่านี้บน GPU ต้องอาศัยเทคนิคการจำลองด้วยบิต (bitsliced circuits) ซึ่งมีค่าใช้จ่ายในการประมวลผลสูง แต่ด้วย clmad ที่มีอยู่บน NVIDIA CUDA 13.3 ได้ปิดช่องว่างนี้ ทำให้การประมวลผลบน GPU มีประสิทธิภาพสูงขึ้นอย่างมากประโยชน์ที่จับต้องได้: GHASH และ Sum-check ProtocolNVIDIA CUDA 13.3 ได้นำ clmad มาใช้เพื่อเร่งความเร็วการคำนวณสองประเภทที่สำคัญ คือ GHASH และ Sum-check protocol โดยเฉพาะอย่างยิ่งในการทำงานกับฟิลด์ \(GF(2^{128})\)🚀 เร่งความเร็ว GHASH สูงสุด 18.8 เท่าGHASH เป็นอัลกอริทึมที่ใช้ในการคำนวณค่าแฮชสำหรับการยืนยันความถูกต้องของข้อมูลใน AES-GCM การใช้ clmad ในการคำนวณ GHASH บน GPU NVIDIA B200 สามารถทำ throughput ได้สูงถึง 6.3 TB/s ซึ่งใกล้เคียงกับแบนด์วิดท์การอ่านข้อมูลของ DRAM และเร็วกว่าวิธีการแบบ bitsliced เดิมถึง 18.8 เท่า สำหรับ NVIDIA GeForce RTX 5090 ก็สามารถเห็นการปรับปรุง throughput ที่สูงขึ้นอย่างมีนัยสำคัญเช่นhttps://developer.nvidia.com/blog/building-faster-cryptography-with-carryless-multiplication-in-nvidia-cuda-13-3/
Shared content
DEVELOPER.NVIDIA.COM
Building Faster Cryptography with Carryless Multiplication in NVIDIA CUDA 13.3
For over fifteen years, x86 CPUs have shipped with a dedicated hardware instruction for carryless multiplication. It’s a small but stubborn primitive that sits underneath authenticated encryption…
6 Kommentare 0 Geteilt 395 Ansichten 0 Bewertungen