SHARE THE PERSPECTIVE
Ένα benchmark χρειάζεται συσκευή, φόρτο εργασίας, μέθοδο και αβεβαιότητα — όχι απλώς έναν αριθμό που φαίνεται γρήγορος.

Δεν υπάρχει ένα τεκμηριωμένο ποσοστό κατανάλωσης μπαταρίας που να ισχύει καθολικά για το ML-KEM-768 στο Android. Το κόστος εξαρτάται από την υλοποίηση, το τηλέφωνο, τη δημιουργία της συνεδρίας, τη συχνότητα ανανέωσης των κλειδιών και τη συμπεριφορά του δικτύου. Ένα γρήγορο κρυπτογραφικό benchmark σε επιτραπέζιο υπολογιστή δεν τεκμηριώνει την αυτονομία μιας πλήρους εφαρμογής μηνυμάτων για κινητά.

Αυτό το άρθρο εξηγεί τι μπορεί να υπολογιστεί από το πρότυπο και τι χρειάζεται μέτρηση. Για αυτό το άρθρο δεν πραγματοποιήθηκε κανένα benchmark κατανάλωσης μπαταρίας της Livara στο Android. Η παρακάτω διαδικασία είναι ένα σχέδιο δοκιμών, όχι ένα υποτιθέμενο αποτέλεσμα.

Τι μας λέει το πρότυπο

Το ML-KEM είναι ένας μηχανισμός ενθυλάκωσης κλειδιών: βοηθά στη δημιουργία ενός κοινόχρηστου μυστικού που ένα πρωτόκολλο μπορεί να χρησιμοποιήσει για συμμετρική κρυπτογράφηση. Στο FIPS 203, το ML-KEM-768 έχει κλειδί ενθυλάκωσης 1.184 byte και κρυπτοκείμενο 1.088 byte. Αυτά τα δύο αντικείμενα έχουν συνολικό μέγεθος 2.272 byte.

Αυτό το σύνολο δεν είναι το πλήρες μέγεθος της χειραψίας μιας εφαρμογής μηνυμάτων, ούτε απαραίτητα η πρόσθετη κίνηση που προκαλεί στο δίκτυο. Τα πιστοποιητικά, οι υπογραφές, το κλασικό υλικό κλειδιών, η πλαισίωση, η κωδικοποίηση, τα αποθηκευμένα στην κρυφή μνήμη κλειδιά και οι αναμεταδόσεις μπορούν να αλλάξουν τα byte που πράγματι αποστέλλονται. Το «768» προσδιορίζει ένα σύνολο παραμέτρων, όχι ένα κοινόχρηστο μυστικό μήκους 768 bit· αυτό το σύνολο στοχεύει στην κατηγορία ασφάλειας 3 του NIST.

Μέγεθος Καθορίζεται από τον αλγόριθμο ή μετριέται;
Μήκος κλειδιού ενθυλάκωσης και κρυπτοκειμένου Ορίζεται από το επιλεγμένο σύνολο παραμέτρων του ML-KEM
Χρόνος δημιουργίας κλειδιών, ενθυλάκωσης και αποενθυλάκωσης Χρειάζεται μέτρηση στην πραγματική υλοποίηση και συσκευή
Συνολικά byte για τη δημιουργία συνεδρίας Χρειάζεται μέτρηση του πρωτοκόλλου, μαζί με την πλαισίωση και τις επαναλήψεις προσπαθειών
Καθυστέρηση αποστολής από άκρο σε άκρο Χρειάζεται μέτρηση της εφαρμογής και του δικτύου μαζί
Ενέργεια ανά φόρτο εργασίας Χρειάζεται ελεγχόμενο πείραμα σε επίπεδο συσκευής

Προκύπτει αυτό το κόστος μόνο μία φορά ανά συνεδρία;

Όχι απαραίτητα. Ένα πρωτόκολλο μπορεί να χρησιμοποιεί KEM κατά την αρχική δημιουργία της συνεδρίας και ξανά στις περιοδικές ενημερώσεις μετακβαντικών κλειδιών. Οι αλλαγές στη σύνθεση μιας ομάδας, οι νέες συσκευές, οι αποτυχημένες συνεδρίες και η ανάκτηση μπορούν να προκαλέσουν επιπλέον εργασία. Η σωστή μονάδα αναφοράς είναι το συμβάν του πρωτοκόλλου, όχι η υπόθεση ότι κάθε συνομιλία εκτελεί ακριβώς μία πράξη KEM.

Η δημοσιευμένη αρχιτεκτονική LVR1 της Livara περιγράφει περιοδικές εποχές ML-KEM παράλληλα με τα συνήθη βήματα των αλυσίδων μηνυμάτων. Επομένως, ένα χρήσιμο benchmark πρέπει να καλύπτει τόσο την ανταλλαγή μηνυμάτων σε σταθερή κατάσταση όσο και τα συμβάντα ανανέωσης κλειδιών. Δεν πρέπει να ισχυρίζεται ότι η μετακβαντική εργασία δεν επαναλαμβάνεται ποτέ.

Ο αριθμός των byte ενός αποθηκευμένου κρυπτοκειμένου λέει επίσης ελάχιστα για την ενέργεια από μόνος του. Ένα επιπλέον πακέτο μπορεί να επηρεάσει τη συμπεριφορά του ασύρματου πομποδέκτη διαφορετικά από μερικά επιπλέον byte μέσα σε μια ήδη ενεργή μεταφορά.

Ένα αναπαραγώγιμο σχέδιο μετρήσεων στο Android

1. Καταγράψτε το περιβάλλον

Σημειώστε το μοντέλο του τηλεφώνου, την έκδοση build του Android, την έκδοση της εφαρμογής, την έκδοση της κρυπτογραφικής βιβλιοθήκης, τον τρόπο μεταγλώττισης, την κατάσταση της μπαταρίας και τη θερμική κατάσταση. Καταγράψτε τον τύπο δικτύου και τις συνθήκες σήματος. Μη δημοσιεύετε ιδιωτικά δεδομένα λογαριασμών ή περιεχόμενο πακέτων σε μια αναφορά benchmark.

2. Διαχωρίστε τις δοκιμές κρυπτογραφικών πράξεων από τις δοκιμές της εφαρμογής

Μια δοκιμή βασικής κρυπτογραφικής πράξης μετρά μεμονωμένα τη δημιουργία κλειδιών, την ενθυλάκωση ή την αποενθυλάκωση. Μια δοκιμή ολόκληρης της εφαρμογής μετρά τη δημιουργία συνεδρίας, την αποστολή μηνυμάτων και την ανάκαμψη από διακοπή σύνδεσης. Αναφέρετε και τις δύο, αν είναι διαθέσιμες· μην παρουσιάζετε τη μία ως την άλλη.

Επαναλάβετε τις δοκιμές και αναφέρετε τη διασπορά, για παράδειγμα τη διάμεσο και ένα υψηλό εκατοστημόριο, αντί να επιλέγετε την ταχύτερη εκτέλεση. Η προθέρμανση, η μεταγλώττιση κατά την εκτέλεση και ο θερμικός περιορισμός της απόδοσης μπορούν να επηρεάσουν τα αποτελέσματα.

3. Ορίστε ρεαλιστικούς φόρτους εργασίας

  • Δημιουργήστε μια νέα συνεδρία άμεσων μηνυμάτων.
  • Στείλτε σταθερό αριθμό μηνυμάτων συγκεκριμένου μεγέθους σε μια ήδη δημιουργημένη συνεδρία.
  • Δοκιμάστε τη διέλευση ενός τεκμηριωμένου ορίου ανανέωσης κλειδιών.
  • Προσθέστε ή αφαιρέστε ένα μέλος σε μια δοκιμαστική ομάδα, αν υποστηρίζεται.
  • Στείλτε το ίδιο συνημμένο υπό τις ίδιες συνθήκες.
  • Αφήστε την εφαρμογή αδρανή για σταθερό χρονικό διάστημα και μετρήστε χωριστά τη συμπεριφορά στο παρασκήνιο.

Χρησιμοποιήστε συνθετικό περιεχόμενο και δοκιμαστικούς λογαριασμούς με τη συγκατάθεση των κατόχων τους. Μια δοκιμή ομάδας πρέπει να δηλώνει τον αριθμό των μελών· ένα αποτέλεσμα δύο ατόμων δεν μπορεί να γενικεύεται σιωπηρά σε μια μεγάλη ομάδα.

4. Μετρήστε την ενέργεια, όχι μόνο τον χρόνο

Το Power Profiler του Android Studio μπορεί να συσχετίζει τη δραστηριότητα με μετρήσεις στις γραμμές τροφοδοσίας, σε υποστηριζόμενο υλικό. Η Google επισημαίνει ότι πρόκειται για μετρήσεις σε επίπεδο συσκευής, επομένως η υπόλοιπη δραστηριότητα εισάγει θόρυβο. Οι υποστηριζόμενες μέθοδοι μέτρησης διαφέρουν ανά συσκευή.

Ελέγξτε τη φωτεινότητα της οθόνης, τις εργασίες παρασκηνίου, τις συνθήκες δικτύου και τη διάρκεια της δοκιμής. Επαναλάβετε τον ίδιο φόρτο εργασίας και συγκρίνετε αντίστοιχες περιπτώσεις. Αν η μέθοδός σας δεν μπορεί να απομονώσει τη συμβολή της κρυπτογραφίας, δηλώστε το αντί να αποδίδετε όλη την κατανάλωση μπαταρίας στο ML-KEM.

Τηλέφωνο δίπλα σε φορητό υπολογιστή και μικρό ρολόι, κάτω από μοβ φωτισμό.

Απεικόνιση μιας διάταξης μετρήσεων, όχι καταγεγραμμένα αποτελέσματα benchmark.

Τι θα περιείχε ένας χρήσιμος πίνακας αποτελεσμάτων;

Πεδίο αποτελέσματος Παράδειγμα πληροφοριών προς καταγραφή
Φόρτος εργασίας Νέα συνεδρία, ανταλλαγή μηνυμάτων σε υπάρχουσα συνεδρία ή ανανέωση κλειδιών
Περιβάλλον Ακριβής συσκευή, build εφαρμογής και δίκτυο
Δοκιμές Πλήθος και χειρισμός των εκτελέσεων προθέρμανσης
Χρονικές μετρήσεις Διάμεσος, μεταβλητότητα και μονάδες
Κίνηση Μετρημένα byte και συνθήκες αναμετάδοσης
Ενέργεια Μέθοδος, χρονικό διάστημα και αβεβαιότητα
Περιορισμοί Τι δεν απομόνωσε ή δεν κάλυψε η δοκιμή

Αφήστε κενά τα κελιά που δεν μετρήθηκαν ή σημειώστε «δεν μετρήθηκε». Ένα ενδεικτικό ραβδόγραμμα ενέργειας με επινοημένα σχετικά μερίδια δεν αποτελεί τεκμήριο.

Τι ισχύει για τις φωτογραφίες και τα βίντεο;

Τα μεγάλα συνημμένα χρησιμοποιούν συνήθως συμμετρική κρυπτογράφηση, όχι ML-KEM για κάθε μπλοκ περιεχομένου. Η δημιουργία του κοινού κλειδιού μπορεί και πάλι να επηρεάζει την αρχική διαδικασία, ενώ η επεξεργασία αρχείων, η αποθήκευση, η μεταφορά μέσω δικτύου και η λογική επανάληψης προσπαθειών επηρεάζουν τη συνολική λειτουργία. Η σχετική συμβολή πρέπει να μετρηθεί στον πραγματικό φόρτο εργασίας· το «δεν γίνεται ποτέ αντιληπτό» δεν είναι ένας βάσιμος καθολικός ισχυρισμός.

Συχνές ερωτήσεις

Είναι το ML-KEM-768 πάντα πιο αργό από το P-256;

Δεν υπάρχει καθολική σύγκριση που να ισχύει για όλες τις βιβλιοθήκες και το υλικό. Συγκρίνετε τις ίδιες πράξεις υπό τις ίδιες συνθήκες και στη συνέχεια μετρήστε χωριστά το πλήρες υβριδικό πρωτόκολλο.

Επικυρώνει το άθροισμα ελέγχου ενός APK τα αποτελέσματα απόδοσης;

Μπορεί να ταυτοποιήσει το ακριβές αρχείο που δοκιμάστηκε, όταν συγκρίνεται με αξιόπιστη τιμή αναφοράς. Δεν επικυρώνει τη μέθοδο δοκιμής, την ασφάλεια της υλοποίησης ή τη μέτρηση ενέργειας.

Πρέπει οι χρήστες να απενεργοποιούν την κρυπτογράφηση για εξοικονόμηση μπαταρίας;

Μην παρακάμπτετε μια απαίτηση ασφάλειας με βάση έναν ατεκμηρίωτο ισχυρισμό απόδοσης. Πρώτα εντοπίστε την πραγματική πηγή κατανάλωσης μπαταρίας και χρησιμοποιήστε υποστηριζόμενες ρυθμίσεις ή ενημερώσεις.

Πηγές

Επαληθεύστε το APK του Android στο Proof Lab
CONTINUE THE THREADPost-quantum encryption ↗Android & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗