Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 1525|Răspunde: 3

Algoritmul de criptare Curve25519

[Copiază linkul]
Postat la 2025-2-12 17:05:02 | | | |
urve25519 este cel mai înalt nivel de funcție Diffie-Hellman disponibil pentru o gamă largă de scenarii, proiectat de profesorul Daniel J. Bernstein. În criptografie, Curve25519 este o curbă eliptică care oferă securitate pe 128 de biți și este proiectată pentru utilizare cu schema de negociere a cheilor cu curbe eliptice Diffie-Hellman (ECDH). Este una dintre cele mai rapide curbe ECC și nu este acoperită de niciun brevet cunoscut.

Având o cheie de 32 de octeți a utilizatorului, curve25519 calculează cheia publică de 32 de octeți a utilizatorului. Având în vedere cheia de 32 de octeți a acelui utilizator și cheia publică de 32 de octeți a altuia, curve25519 calculează o cheie partajată de 32 de octeți pentru ca ambii utilizatori să o folosească. Acest secret poate fi apoi folosit pentru a autentifica și cripta informații pentru ambii utilizatori.

2. Descarcă și compila Curve25519

Biblioteca curve25519 calculează funcția curve25519 cu o viteză foarte mare. Biblioteca are o gamă largă de aplicații. Poți și ar trebui să o aplici în propriul tău program în loc să faci legătura către o bibliotecă partajată; Codul compilat are aproximativ 16KB, în funcție de CPU.

Descarcă și compila

Descărca

compila


3. Folosește Curve25519

Pentru orice program C care va folosi curve25519, modificați programul pentru a include curve25519.h și modificați makefile-ul pentru a lega programul de curve25519.a și a menționa că programul depinde de curve25519.a și curve25519.h.

Chei de calcul

Intern, pentru a genera o cheie curbă 25519 de 32 de octeți, generează mai întâi un secret de 32 de octeți aleatori dintr-o sursă de securitate criptografică: mysecret[0], mysecret[1], ..., mysecret[31]. Apoi faceți următoarele:
secretul meu[0] &= 248;
mysecret[31] &= 127;
mysecret[31] |= 64;
Generează o cheie Curve25519 de 32 de octeți: mysecret[0], mysecret[1], ..., mysecret[31].

În viitor, versiunea bibliotecii va suporta o funcție de compresie curve25519_ care comprimă 128 de octeți de hashing în 32 de octeți, adăugând o anumită protecție împotriva generatoarelor insuficiente de numere aleatoare; O funcție curve25519_ clamp care convertește 32 de octeți într-o cheie; și o combinație mai ușor de folosit de curve25519_ funcții de generare a cheilor, care convertesc direct 128 de octeți în chei.

Cheile publice de calcul

Pentru a genera o cheie publică de 32 de octeți care să corespundă cu cheia de 32 de octeți mypublic[0], mypublic[1], ..., mypublic[31], apelați funcția
curve25519(mypublic, mysecret,basepoint);
unde punctul de bază constant este:

const unsigned char basepoint[32] = {9};
Versiunile viitoare ale bibliotecii vor susține funcții publice curve25519_ mai concise.

Generează o cheie partajată

Având în vedere cheia publică a altui utilizator Curve25519 public hispublic[0], hispublic[1], ..., hispublic[31], apel

curve25519(împărtășit, secretul meu, publicul);
Generează chei partajate de 32 de octeți partajate[0], partajate[1], ..., partajate[31]. O altă persoană poate genera aceeași cheie comună pe baza propriei chei private, precum și a cheii tale publice.
Apoi amândoi puteți face hash la această cheie partajată și folosiți rezultatul ca cheie, de exemplu pentru Poly1305-AES.
Versiunile viitoare ale bibliotecii vor suporta o funcție de extensie curve25519_ care hashează direct o cheie de 32 de octeți pentru a genera 128 de octeți ca cheie și este cea mai ușor de folosit, o combinație curve25519_ funcție partajată.

4. Referință

[Ed25519 și Curve25519 explicate]Autentificarea cu hyperlink este vizibilă.
[Curve25519 criptare și decriptare și utilizarea semnăturilor ED25519]Autentificarea cu hyperlink este vizibilă.
[ED25519]Autentificarea cu hyperlink este vizibilă.
[Implementare ED25519 Android]Autentificarea cu hyperlink este vizibilă.
[[ED25519 Implementare C]Autentificarea cu hyperlink este vizibilă.
[ed25519 Implementare în Java]Autentificarea cu hyperlink este vizibilă.

Original:Autentificarea cu hyperlink este vizibilă.




Precedent:Seria Angular 18 (Treizeci și unu) plugin de asistență pentru dezvoltarea codului VS
Următor:Supercomputerul personal AI al Proiectului NVIDIA DIGITS
 Proprietarul| Postat la 2025-2-12 17:07:50 |
Cod de implementare .NET/C#:


Testa




Curve25519.cs (31 KB, Numărul de descărcări: 1, 售价: 10 粒MB)
Postat la 2025-2-13 16:26:18 |
Arată bine, susține-l.
Postat la 2025-2-14 09:51:22 |
Arată bine, susține-l
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com