Ich versuche, ein einfaches Verschlüsselungsprogramm für elliptische Kurven zu implementieren, erhalte jedoch nicht die erwartete Ausgabe der Verdoppelung und Hinzufügung eines Punktes P bis 12P. Die Kurvengleichung lautet
Ich versuche, ein einfaches Verschlüsselungsprogramm für elliptische Kurven zu implementieren, erhalte jedoch nicht die erwartete Ausgabe der Verdoppelung und Hinzufügung eines Punktes P bis 12P. Die Kurvengleichung lautet[code]y^2 = x^3 +ax + b mod p[/code]. Laut dieser Seite ist 3P = [10, 6], wenn P = [5, 1], während ich 3p = [10, 5] bekomme. Die von mir verwendeten Gleichungen finden Sie auf Wikipedia. [code]P = [5, 1] prime = 17 a = 2 b = 2
def gcdExtended(a, b): if a == 0: return b, 0, 1 gcd, x1, y1 = gcdExtended(b % a, a) x = y1 - (b // a) * x1 y = x1 return gcd, x, y
def double_point(point: list): x = point[0] y = point[1]
s = ((3*(x**2)+a) * (gcdExtended(2*y, prime)[1])) % prime
newx = (s**2 - x - x) % prime newy = (s * (x - newx) - y) % prime
Ich versuche, den „Double and Add“-Algorithmus zu implementieren, um Punkte auf einer elliptischen Kurve schnell in Python zu multiplizieren (3, bitte).
Ich suche nach einer Möglichkeit, Schlüssel für asymmetrische Kryptografie über elliptische Kurven in Python zu generieren, aber alle Pakete, die ich finden konnte, unterstützen nur UNIX-Systeme....
Ich habe einen LazyFrame in Python und möchte IT -Spalten von einem anderen LazyFrame hinzufügen. Die beiden LazyFrames haben die gleiche Anzahl von Zeilen und verschiedenen Spalten. > def...
Ich habe die folgende Ast-Grep -Regel, um einige HTTP-Status-Ganzzahl-Literale in meinem Code durch Konstanten
zu ersetzen id: replace_http_status_with_constants
language: python
rule:
all:
- regex:...