Το secp256k1 αναφέρεται στις παραμέτρους της ελλειπτικής καμπύλης που χρησιμοποιούνται στην κρυπτογραφία δημόσιου κλειδιού του Bitcoin, η οποία ορίζεται στα Πρότυπα Αποτελεσματικής Κρυπτογραφίας (SEC), με αναφορά στην Certicom Research:Η σύνδεση με υπερσύνδεσμο είναι ορατή.。 Επί του παρόντος, οι αλγόριθμοι secp256k1 και ECDSA χρησιμοποιούνται στο Bitcoin. Προερχόμενα από την εφαρμογή στο Bitcoin, τα περισσότερα έργα blockchain όπως το Ethereum χρησιμοποιούνται αργότερα.
Πριν από το Bitcoin, το secp256k1 δεν χρησιμοποιήθηκε σχεδόν ποτέ, αλλά τώρα γίνεται όλο και πιο δημοφιλές λόγω των πολλών ωραίων χαρακτηριστικών του. Οι πιο συχνά χρησιμοποιούμενες καμπύλες έχουν στοχαστική δομή, αλλά το secp256k1 κατασκευάζεται με ειδικό, μη τυχαίο τρόπο, επιτρέποντας αποτελεσματικούς υπολογισμούς. Εάν βελτιστοποιηθεί πλήρως, είναι συνήθως περισσότερο από 30% ταχύτερο από άλλες καμπύλες. Επιπλέον, σε αντίθεση με τις δημοφιλείς καμπύλες NIST, οι σταθερές του secp256k1 επιλέγονται με προβλέψιμο τρόπο, γεγονός που μειώνει σημαντικά την πιθανότητα οι δημιουργοί καμπυλών να εισάγουν οποιοδήποτε τύπο λογισμικού κερκόπορτας στην καμπύλη.
Ψηφιακές υπογραφές
Ο πυρήνας της ψηφιακής υπογραφής είναι η υπογραφή ιδιωτικού κλειδιού και η επαλήθευση δημόσιου κλειδιού. Η υπογραφή είναι η διαδικασία χρήσης του ιδιωτικού κλειδιού για την υπογραφή των δεδομένων για τη δημιουργία της τιμής υπογραφής και η επαλήθευση υπογραφής είναι η διαδικασία ανάκτησης του δημόσιου κλειδιού από την υπογραφή. Οι ψηφιακές υπογραφές έχουν τρεις χρήσεις στο Ethereum. Πρώτον, η υπογραφή αποδεικνύει ότι ο κάτοχος του ιδιωτικού κλειδιού υπονοεί ότι ο κάτοχος του λογαριασμού Ethereum έχει εξουσιοδοτήσει την πληρωμή του αιθέρα ή την εκτέλεση της σύμβασης. Δεύτερον, η απόδειξη της εξουσιοδότησης είναι _αναμφισβήτητη_ (αναμφισβήτητη). Τρίτον, η υπογραφή αποδεικνύει ότι τα δεδομένα της συναλλαγής δεν έχουν τροποποιηθεί και δεν μπορούν να τροποποιηθούν από κανέναν μετά την υπογραφή της συναλλαγής.
Η κρυπτογραφία πίσω από τα 20 κορυφαία κρυπτονομίσματα
Διεύθυνση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η C# χρησιμοποιεί το BouncyCastle.Cryptography για τη δημιουργία ελλειπτικής καμπύλης SECP256K1 ζεύγη κλειδιών
Οπως φαίνεται παρακάτω:
Ιδιωτικό κλειδί: C66C343A5CD1A1D25B24A47D71047442EFED87DE12933779B1DAD914401776B5 Δημόσιο κλειδί: 04C99FE3CDC4D0025CFA1CC0BC6401FF273ABC4C86EB912F4325D286C5162A2D21D7DF76C3E79CF4F7C2183F0E230D187B26BC8A5FCA2436EA91AC72B8EC0F4651
Ο κωδικός έχει ως εξής:
Το C# χρησιμοποιεί το Nethereum.Signer για τη δημιουργία ζευγών κλειδιών
Ο κωδικός έχει ως εξής:
Αναθεώρηση:
Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή. |