SHARE THE PERSPECTIVE
เบนช์มาร์กต้องมีอุปกรณ์ ภาระงาน วิธีการ และความไม่แน่นอน ไม่ใช่เพียงตัวเลขที่ดูเร็ว

ไม่มีตัวเลขเปอร์เซ็นต์การใช้แบตเตอรี่ของ ML-KEM-768 บน Android ที่ใช้อ้างอิงได้กับทุกกรณี ต้นทุนขึ้นอยู่กับการนำไปใช้ โทรศัพท์ การเริ่มต้นเซสชัน ความถี่ในการรีเฟรชคีย์ และพฤติกรรมของเครือข่าย ผลเบนช์มาร์กการเข้ารหัสที่รวดเร็วบนคอมพิวเตอร์ตั้งโต๊ะไม่ได้พิสูจน์ระยะเวลาการใช้แบตเตอรี่ของแอปส่งข้อความบนมือถือทั้งแอป

บทความนี้อธิบายว่าสิ่งใดคำนวณได้จากมาตรฐาน และสิ่งใดต้องวัด ไม่ได้มีการทดสอบเบนช์มาร์กแบตเตอรี่ของ Livara บน Android สำหรับบทความนี้ ขั้นตอนด้านล่างเป็นแผนการทดสอบ ไม่ใช่การกล่าวอ้างผลที่วัดได้

มาตรฐานบอกอะไรเราได้บ้าง

ML-KEM เป็นกลไกการห่อหุ้มคีย์ โดยช่วยสร้างค่าลับร่วมกันที่โพรโทคอลสามารถนำไปใช้ในการเข้ารหัสแบบสมมาตร ตาม FIPS 203 ML-KEM-768 มีคีย์สำหรับการห่อหุ้มขนาด 1,184 ไบต์ และข้อความเข้ารหัสขนาด 1,088 ไบต์ วัตถุทั้งสองนี้รวมกันมีขนาด 2,272 ไบต์

ขนาดรวมนี้ไม่ใช่ขนาดทั้งหมดของการแฮนด์เชกในระบบส่งข้อความ และไม่จำเป็นต้องเท่ากับปริมาณข้อมูลเครือข่ายที่เพิ่มขึ้นด้วย ใบรับรอง ลายเซ็น ข้อมูลคีย์ของการเข้ารหัสแบบดั้งเดิม การจัดเฟรม การเข้ารหัสรูปแบบข้อมูล คีย์ที่แคชไว้ และการส่งซ้ำ ล้วนเปลี่ยนจำนวนไบต์ที่ส่งจริงได้ “768” เป็นตัวระบุชุดพารามิเตอร์ ไม่ใช่ความยาว 768 บิตของค่าลับร่วมกัน ชุดนี้มีเป้าหมายที่ระดับความปลอดภัย NIST หมวด 3

ปริมาณ อัลกอริทึมกำหนดไว้หรือต้องวัด?
ความยาวของคีย์สำหรับการห่อหุ้มและข้อความเข้ารหัส กำหนดโดยชุดพารามิเตอร์ ML-KEM ที่เลือก
เวลาสร้างคีย์ ห่อหุ้มคีย์ และแกะห่อหุ้มคีย์ วัดจากการนำไปใช้และอุปกรณ์จริง
จำนวนไบต์ทั้งหมดในการเริ่มต้นเซสชัน วัดโพรโทคอล รวมการจัดเฟรมและการลองใหม่
ความหน่วงในการส่งตั้งแต่ต้นทางถึงปลายทาง วัดแอปและเครือข่ายร่วมกัน
พลังงานต่อภาระงาน วัดด้วยการทดลองระดับอุปกรณ์ที่ควบคุมเงื่อนไข

ต้นทุนเกิดขึ้นเพียงครั้งเดียวต่อเซสชันหรือไม่?

ไม่จำเป็น โพรโทคอลอาจใช้ KEM ตอนเริ่มต้น และใช้อีกครั้งเมื่ออัปเดตคีย์หลังควอนตัมเป็นระยะ การเปลี่ยนสมาชิกกลุ่ม อุปกรณ์ใหม่ เซสชันที่ล้มเหลว และการกู้คืน อาจทำให้ต้องทำงานเพิ่ม หน่วยที่ถูกต้องคือเหตุการณ์ในโพรโทคอล ไม่ใช่การสมมติว่าทุกการสนทนาเรียกใช้ KEM เพียงหนึ่งครั้งเสมอ

สถาปัตยกรรม LVR1 ที่ Livara เผยแพร่ อธิบายถึงรอบ ML-KEM เป็นระยะควบคู่กับขั้นตอนตามปกติของสายโซ่ข้อความ ดังนั้น เบนช์มาร์กที่มีประโยชน์ต้องครอบคลุมทั้งการส่งข้อความในสภาวะคงตัวและเหตุการณ์รีเฟรชคีย์ ไม่ควรกล่าวอ้างว่างานหลังควอนตัมไม่เกิดซ้ำอีกเลย

จำนวนไบต์ของข้อความเข้ารหัสที่จัดเก็บไว้เพียงอย่างเดียวก็บอกเรื่องพลังงานได้น้อย แพ็กเก็ตที่เพิ่มมาอีกหนึ่งแพ็กเก็ตอาจส่งผลต่อพฤติกรรมของวิทยุสื่อสารต่างจากการเพิ่มอีกไม่กี่ไบต์ในการรับส่งที่กำลังทำงานอยู่แล้ว

แผนการวัดบน Android ที่ทำซ้ำได้

1. บันทึกสภาพแวดล้อม

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

2. แยกการทดสอบองค์ประกอบพื้นฐานออกจากการทดสอบแอป

การทดสอบองค์ประกอบพื้นฐานวัดการสร้างคีย์ การห่อหุ้ม หรือการแกะห่อหุ้มแยกกัน ส่วนการทดสอบทั้งแอปวัดการสร้างเซสชัน การส่งข้อความ และการฟื้นตัวหลังการเชื่อมต่อขาดหาย หากมีผลทั้งสองแบบให้รายงานทั้งคู่ อย่าเรียกผลแบบหนึ่งว่าเป็นอีกแบบหนึ่ง

ทดสอบซ้ำหลายรอบและรายงานการกระจาย เช่น ค่ามัธยฐานและค่าเปอร์เซ็นไทล์สูง แทนการเลือกเฉพาะรอบที่เร็วที่สุด การอุ่นเครื่อง การคอมไพล์ระหว่างรัน และการลดประสิทธิภาพเมื่อเครื่องร้อนอาจส่งผลต่อผลลัพธ์

3. กำหนดภาระงานที่สมจริง

  • เริ่มต้นเซสชันข้อความส่วนตัวใหม่
  • ส่งข้อความจำนวนและขนาดคงที่ในเซสชันที่เริ่มต้นไว้แล้ว
  • ทดสอบการข้ามจุดรีเฟรชคีย์ที่ระบุไว้ในเอกสาร
  • เพิ่มหรือลบสมาชิกในกลุ่มทดสอบ หากรองรับ
  • ส่งไฟล์แนบเดียวกันภายใต้เงื่อนไขเดียวกัน
  • ปล่อยแอปไว้นิ่งเป็นช่วงเวลาที่กำหนด แล้ววัดพฤติกรรมเบื้องหลังแยกต่างหาก

ใช้เนื้อหาสังเคราะห์และบัญชีทดสอบที่เจ้าของยินยอม การทดสอบกลุ่มควรระบุจำนวนสมาชิก ไม่สามารถนำผลของกลุ่มสองคนไปสรุปใช้กับกลุ่มใหญ่โดยไม่ชี้แจง

4. วัดพลังงานควบคู่กับเวลา

Power Profiler ของ Android Studio สามารถแสดงความสัมพันธ์ระหว่างกิจกรรมกับการวัดรางจ่ายไฟบนฮาร์ดแวร์ที่รองรับ Google เตือนว่านี่เป็นการวัดระดับอุปกรณ์ กิจกรรมอื่นจึงทำให้เกิดสัญญาณรบกวน วิธีการวัดที่รองรับแตกต่างกันตามอุปกรณ์

ควบคุมความสว่างหน้าจอ งานเบื้องหลัง สภาพเครือข่าย และระยะเวลาทดสอบ ทำภาระงานเดิมซ้ำและเปรียบเทียบสิ่งที่มีเงื่อนไขเหมือนกัน หากวิธีที่ใช้ไม่สามารถแยกส่วนที่เกิดจากการเข้ารหัสได้ ให้ระบุข้อจำกัดนี้แทนการโยนการใช้แบตเตอรี่ทั้งหมดให้เป็นผลจาก ML-KEM

โทรศัพท์วางข้างแล็ปท็อปและนาฬิกาขนาดเล็กภายใต้แสงสีม่วง

ภาพประกอบการจัดชุดวัด ไม่ใช่ผลเบนช์มาร์กที่บันทึกไว้

ตารางผลลัพธ์ที่มีประโยชน์ควรมีอะไรบ้าง?

ช่องผลลัพธ์ ตัวอย่างข้อมูลที่ควรบันทึก
ภาระงาน เซสชันใหม่ การส่งข้อความในเซสชันเดิม หรือการรีเฟรชคีย์
สภาพแวดล้อม อุปกรณ์ บิลด์แอป และเครือข่ายที่ใช้อย่างเจาะจง
รอบทดสอบ จำนวนรอบและวิธีจัดการรอบอุ่นเครื่อง
เวลา ค่ามัธยฐาน ความแปรผัน และหน่วย
ปริมาณข้อมูล จำนวนไบต์ที่วัดได้และเงื่อนไขการส่งซ้ำ
พลังงาน วิธีการ ช่วงเวลา และความไม่แน่นอน
ข้อจำกัด สิ่งที่การทดสอบไม่ได้แยกวัดหรือไม่ครอบคลุม

เว้นช่องที่ยังไม่ได้วัดให้ว่าง หรือระบุว่า “ไม่ได้วัด” แผนภูมิแท่งพลังงานเพื่อประกอบคำอธิบายที่แต่งสัดส่วนขึ้นมาไม่ใช่หลักฐาน

แล้วภาพถ่ายและวิดีโอล่ะ?

ไฟล์แนบขนาดใหญ่มักใช้การเข้ารหัสแบบสมมาตร แทนการใช้ ML-KEM กับเนื้อหาทุกบล็อก การสร้างคีย์ยังอาจส่งผลต่อการเริ่มต้น ขณะที่การประมวลผลไฟล์ การจัดเก็บ การส่งผ่านเครือข่าย และตรรกะการลองใหม่ส่งผลต่อการทำงานโดยรวม ต้องวัดสัดส่วนผลกระทบจากภาระงานจริง การกล่าวว่า “ไม่มีทางสังเกตเห็นได้เลย” ไม่ใช่ข้ออ้างสากลที่มีเหตุผลรองรับ

คำถามที่พบบ่อย

ML-KEM-768 ช้ากว่า P-256 เสมอหรือไม่?

ไม่มีผลเปรียบเทียบเดียวที่ใช้ได้กับทุกไลบรารีและฮาร์ดแวร์ เปรียบเทียบการทำงานแบบเดียวกันภายใต้เงื่อนไขเดียวกัน แล้ววัดโพรโทคอลไฮบริดแบบครบถ้วนแยกต่างหาก

เช็กซัม APK รับรองผลการวัดประสิทธิภาพหรือไม่?

เมื่อเทียบกับค่าอ้างอิงที่เชื่อถือได้ เช็กซัมสามารถระบุไฟล์ที่ใช้ทดสอบอย่างเจาะจงได้ แต่ไม่ได้รับรองวิธีทดสอบ ความปลอดภัยของการนำไปใช้ หรือการวัดพลังงาน

ผู้ใช้ควรปิดการเข้ารหัสเพื่อประหยัดแบตเตอรี่หรือไม่?

อย่าแลกข้อกำหนดด้านความปลอดภัยกับข้ออ้างด้านประสิทธิภาพที่ไม่มีหลักฐานรองรับ ให้ระบุสาเหตุที่แท้จริงของการใช้แบตเตอรี่ก่อน แล้วใช้การตั้งค่าหรืออัปเดตที่รองรับ

แหล่งข้อมูล

ตรวจสอบ Android APK ใน Proof Lab
CONTINUE THE THREADPost-quantum encryption ↗Android & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗