Stap 10: De ECDSA-ALGORITME algoritme
Nu dat we de "basis" heb behandeld, laten we praten over de werkelijke handtekeningalgoritme ECDSA-ALGORITME.
Voor de ECDSA-ALGORITME, moet u eerst weten uw parameters van de curve, dat zijn a, b, p, N en G. U weet al dat 'een' en 'b' de parameters van de curve-functie zijn (y ^ 2 = x ^ 3 + ax + b), die 'p' is de eerste modulus, dat 'N' is het aantal punten van de curve, maar er is ook een 'G' die nodig is voor de ECDSA-ALGORITME en het vertegenwoordigt een "referentiepunt" of een punt van herkomst indien gewenst. Het referentiepunt zou elk punt op de curve.
Deze curve parameters zijn belangrijk, en zonder hen, u uiteraard niet kan ondertekenen of wilt verifiëren een handtekening. Ja, verifiëren van een handtekening is niet alleen om te weten de openbare sleutel, moet u ook de parameters van de curve waarvoor deze openbare sleutel is afgeleid van weten. Het NIST (National Institute of Standards and Technology) en SECG (normen voor efficiënte cryptografie groep) bieden pre-en-klare en gestandaardiseerde kromme parameters waarvan bekend is dat het veilig en efficiënt.
Dus eerst en vooral, hebt u een persoonlijke en een openbare sleutel... de persoonlijke sleutel is een willekeurig getal (160 bits ook) die wordt gegenereerd en de openbare sleutel is een punt op de curve gegenereerd op basis van de vermenigvuldiging van de punt van G met de persoonlijke sleutel. We 'dA' instellen als de persoonlijke sleutel (willekeurig getal) en 'Qa' als de openbare sleutel (een punt), dus we hebben: Qa = dA * G (waar G is het referentiepunt in de parameters van de curve).