Score:1

GHASH เร็วแค่ไหนและทำอะไรได้บ้าง?

ธง tf
Tom

ฉันอ่านที่นี่:

https://www.researchgate.net/publication/220335697_GCM_GHASH_and_Weak_Keys

GHASH ทำงานอย่างไร ดังนั้นเราจึงมี $m$ บล็อก 128 บิต $X_{i}$ และเราคำนวณใน $GF(2^{128})$:

$Y_{m} = \sum_{i=1}^{m} X_{i} \times H^{m-i+1}$

$H$ เป็นกุญแจสำคัญ ฉันเห็นตรงนั้นไหม $H$ ถูกยกขึ้นสู่อำนาจ? มีวิธีทำเร็วไหมค่ะ $GF(2^{128})$ หรือเป็นเพียงโมดูโลการยกกำลังมาตรฐานที่มีการยกกำลังอย่างรวดเร็ว ฉันคิดว่ามีหนึ่งคูณใน $GF(2^{128})$ บนหนึ่งบล็อก 128 บิต แต่ถ้า $H$ ถูกยกขึ้นสู่อำนาจยังมีอีกมาก

GHASH นั้นเร็วแค่ไหนเมื่อเทียบกับ AES ฉันหมายความว่าหาก AES สามารถบรรลุได้ $n$ รอบต่อไบต์ GHASH เพียงอย่างเดียวเร็วแค่ไหน? ประสิทธิภาพการทำงานของ GHASH เทียบได้กับการคูณหนึ่งเข้าไปหรือไม่ $GF(2^{128})$ ในข้อความธรรมดาทุก ๆ 128 บิตหรือซับซ้อนมากไหม

forest avatar
vn flag
ความเร็วจะขึ้นอยู่กับคุณสมบัติของฮาร์ดแวร์ อาจเร็วมากหาก CPU มี [`pclmulqdq`](https://www.felixcloutier.com/x86/pclmulqdq)
Tom avatar
tf flag
Tom
@forest คำถามของฉันเกี่ยวกับ GHASH กับ pclmulqdq เพราะวันนี้ดูเหมือนว่าจะเป็นการใช้งานมาตรฐานของ GCM ฉันรู้ว่ามันเร็วได้ แต่สมมติว่า AES สามารถ achevie ได้ 1 รอบต่อไบต์ GHASH ใช้ใน 1 รอบต่อไบต์นี้อย่างไร
forest avatar
vn flag
https://crypto.stackexchange.com/a/60109/54184 แสดงเกณฑ์มาตรฐานที่มีและไม่มีคุณลักษณะการเร่งฮาร์ดแวร์ต่างๆ สำหรับทั้ง GHASH และ AES ในโหมด CTR AES พร้อมการเร่งฮาร์ดแวร์เต็มรูปแบบบรรลุ 5307.37 MB/s GHASH พร้อมการเร่งด้วยฮาร์ดแวร์เต็มรูปแบบบรรลุ 4795.76 MB/s
us flag
คุณประเมินพหุนามโดยใช้ [วิธีของ Horner](https://en.wikipedia.org/wiki/Horner%27s_method) -- การคูณและการบวก 1 ครั้งสำหรับแต่ละค่าสัมประสิทธิ์ของพหุนาม
Tom avatar
tf flag
Tom
@forest ขอบคุณ มีการเปรียบเทียบที่น่าสนใจ
Tom avatar
tf flag
Tom
ฉันคิดถูกไหมที่หาก AES และ GHASH เปรียบเทียบกันในด้านประสิทธิภาพ หากเรารวมเข้าด้วยกันในโหมด GCM ระบบทั้งหมด (AES-GCM) จะทำงานด้วยความเร็วครึ่งหนึ่งที่ sigle ของพวกเขาสามารถทำได้
kelalaka avatar
in flag
โปรดทราบว่าคำสั่ง CPU สมัยใหม่สำหรับ GHASH ก็เช่นกัน
Maarten Bodewes avatar
in flag
@Tom ไม่จำเป็นหรือเป็นไปได้ นี่อาจบ่งชี้ว่าจำนวนรอบของ CPU นั้นเทียบเคียงได้ แต่สำหรับ CPU สมัยใหม่จะใช้เวลาส่วนใหญ่ระหว่าง I/O - การโหลดข้อมูลในระดับต่างๆ ของแคชและการลงทะเบียน CPU
forest avatar
vn flag
@Tom Modern CPUs มีไปป์ไลน์ที่ลึกมากและสามารถดำเนินการหลายคำสั่งพร้อมกันได้อย่างมีประสิทธิภาพ ตราบใดที่ทั้งคู่ไม่ต้องการใช้หน่วยดำเนินการเดียวกัน (เช่น ไม่ทำให้เกิดความขัดแย้งของพอร์ต) และตราบใดที่ไม่มีคำสั่งใดขึ้นอยู่กับอีกคำสั่งหนึ่ง เสร็จก่อน. ทั้ง AES-NI และ CLMUL ทำงานบนหน่วยดำเนินการที่แตกต่างกัน (พอร์ต 0 กับพอร์ต 5 ตามลำดับบน Skylake ดูตารางที่ 11.1 ใน [เอกสารการเพิ่มประสิทธิภาพ CPU microarchitecture ของ Agner Fog](https://www.agner.org/optimize/microarchitecture.pdf) ) ดังนั้นพวกเขาจะถูกดำเนินการพร้อมกัน
forest avatar
vn flag
สำหรับการอ้างอิง บน CPU ของเซิร์ฟเวอร์ Ivy Bridge รุ่นเก่าที่รองรับทั้ง AES-NI และ CLMUL, AES 128 บิตในโหมด CTR คือ 3205 MB/s, โหมด GCM คือ 935.8 MB/s และ GHASH แบบดิบคือ 1328 MB/s ( ทั้งหมดบนบล็อก 16 KiB ทดสอบด้วย OpenSSL 1.1.1n) จะเห็นว่าต้องดำเนินการพร้อมกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา