Mengapakah golang.org/x/crypto/ed25519 Mengembalikan Kunci Awam Tidak Dijangka untuk Data Ujian BitTorrent BEP-0044?

Patricia Arquette
Lepaskan: 2024-10-31 17:56:38
asal
235 orang telah melayarinya

Why Does golang.org/x/crypto/ed25519 Return Unexpected Public Keys for BitTorrent BEP-0044 Test Data?

ed25519.Percanggahan Keputusan Awam

Penerangan Masalah

Menggunakan pakej Golang golang.org/x/crypto/ed25519, percubaan untuk mendapatkan semula kunci awam yang sepadan dengan kunci persendirian yang diberikan menghasilkan hasil yang berbeza daripada yang dijangkakan. Khususnya, pustaka mengembalikan 32 bait terakhir Kunci Pengesahan Peribadi (PVK), manakala data ujian yang disediakan menunjukkan ini tidak betul.

Penjelasan

Percanggahan timbul daripada format berbeza yang digunakan untuk ed25519 kunci peribadi. Pelaksanaan Golang mengikut konvensyen RFC 8032, yang mentakrifkan kunci persendirian sebagai gabungan benih 32 bait dengan kunci awam 32 bait.

Walau bagaimanapun, kunci persendirian yang disediakan dalam ujian BitTorrent BEP-0044 data ialah hasil 64-bait cincangan SHA512 benih, dan format ini tidak boleh ditukar terus kerana sifat sehala fungsi pencincangan.

Penyelesaian

Untuk menggunakan Pustaka Golang dengan data ujian yang diberikan, versi pustaka yang diubah suai diperlukan yang membolehkan penjanaan tersuai kunci awam dan tandatangan daripada format kunci persendirian yang dicincang. Ini boleh dicapai dengan menyalin kod yang berkaitan daripada pustaka dan mengubah suai pelaksanaan untuk menampung format yang berbeza.

Kod yang diubah suai termasuk:

  • getPublicKey: Menjana kunci awam daripada cincang kunci persendirian (benih).
  • tanda: Mengira tandatangan berdasarkan kunci persendirian yang dicincang, kunci awam dan mesej.

Menggunakan fungsi yang diubah suai ini, adalah mungkin untuk mereplikasi vektor ujian dijangka, yang termasuk kunci awam dan tandatangan.

Atas ialah kandungan terperinci Mengapakah golang.org/x/crypto/ed25519 Mengembalikan Kunci Awam Tidak Dijangka untuk Data Ujian BitTorrent BEP-0044?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!