#Tylko deszyfrowanie ElGammal na krzywej import math import sys sys.path.append("./") import dodawnaie as dod import wielokrotnosc as wiel def dekodowanieKrzywej(punkt, u): return math.ceil(punkt[0] - 1 / u) p=731308150714321957849734816484321327119306335527666142772981103429614098294367916616192051 A=650436649561455070461892045239297273810338327060582149067290109178304889026764087827222303 B=393651706462824198277343570733362683428089922651104369418553164436556395018275495301846803 #C1=(x3,y3); #C2=(x4,y4); x3=34791770906820122752501140104306036053164090009865871144108139346780277134807427702262028 y3=21066589872392983967815591132354523605031924537129956532523648621530097883764976935325171 x4=186698539519726941523101574150863594380763252545073110418528772061794171311499124283340359 y4=139702463401317072232031962287250501182328856243084829793001376804676448040153050195056294 x=672066757942005027592684629780121319559766320138386156339177050193566909314907208798471016 #PM=(x5,y5) x5=161527769144648125516616552305430215523209938960948885119763789863298885352623739933340770 y5=535388071375765111892419320980278561695403441127487734617482964160721504503181645564425574 c1 = (x3, y3) c2 = (x4, y4) krzywa = (A, B, p) wielokrotność = wiel.wielokrotnosc(krzywa, c1, x) przeciwny = dod.przeciwny(wielokrotność, p) pm = dod.dodawanie(c2, przeciwny, krzywa) print(pm) #m = dekodowanieKrzywej(pm, )