Κρυπτογραφικός αλγόριθμος κατακερματισμού SM3[url=]edit[/url]
χρήσηΟ εμπορικός αλγόριθμος που καταρτίζεται από την Εθνική Υπηρεσία Κρυπτογραφίας χρησιμοποιείται για ψηφιακή υπογραφή και επαλήθευση σε κρυπτογραφικές εφαρμογές, τη δημιουργία και επαλήθευση κωδικών ελέγχου ταυτότητας μηνυμάτων και τη δημιουργία τυχαίων αριθμών, οι οποίοι μπορούν να ικανοποιήσουν τις απαιτήσεις ασφαλείας μιας ποικιλίας κρυπτογραφικών εφαρμογών.
Περιγραφή αλγορίθμουΓια το μήνυμα m με μήκος l(l< 2^64) bit, ο αλγόριθμος κατακερματισμού SM3 συμπληρώνεται και συμπιέζεται επαναληπτικά για να δημιουργήσει μια τιμή κατακερματισμού με μήκος 256 bit. Ας υποθέσουμε ότι το μήκος του μηνύματος m είναι l bit. Ξεκινήστε προσθέτοντας το bit "1" στο τέλος του μηνύματος, ακολουθούμενο από k "0s", όπου k είναι ο μικρότερος μη αρνητικός ακέραιος αριθμός που ικανοποιεί l + 1 + k 448mod512. Στη συνέχεια, προσθέστε μια συμβολοσειρά 64-bit bit, η οποία είναι μια δυαδική αναπαράσταση του μήκους l. Το μήκος bit του παραγεμισμένου μηνύματος m′ είναι πολλαπλάσιο του 512. Για παράδειγμα, για ένα μήνυμα 01100001 01100010 01100011, το μήκος του l=24, συμπληρώνεται η συμβολοσειρά bit: 01100001 01100010 01100011 1 00...00 (423 bit) 00...011000 (δυαδική αναπαράσταση 64 bit l) Αντιγράψτε το για να το δουν όλοι. Περιστασιακές αναρτήσεις, ο καθένας είναι ελεύθερος να ρίξει μια ματιά. Εξάλλου, αυτός ο αλγόριθμος δεν είναι κάτι που μπορεί να γίνει σε μια ή δύο μέρες, ας συνεργαστούμε.
|