Вы находитесь на странице: 1из 1

from Crypto.util.

import long_to_bytes

c=
29179275698209433280761383944731903344935673380961694526805412598419642499230779117
61078423407321851419753921970312982355271845490228742521542301779155887396005784449
48632224163174189576649962763405486782161303347728980419050387566404125161284960152
68583780459667076520686599155727267675155482833702966261607574879703648148528835138
417383638997
n=
29501040440258836593234304722100347440107511077237667481500300009865693348988936831
73063849864868894092900414709881389081985012123666519737668637792056229455510018279
21726062475517212470556691473768737865875878108512656221770590925592568916074725887
26100670838740430620534418363054373683422793751485448171479341320233801361529664503
090450531549
e= 65537

a="29 501040 440258 836593 234304 722100 347440 107511 077237 667481 500300 009865
693348 988936 831730 638498 648688 940929 004147 098813 890819 850121 236665 197376
686377 920562 294555 100182 792172 606247 551721 247055 669147 376873 786587 587810
851265 622177 059092 559256 891607 472588 726100 670838 740430 620534 418363 054373
683422 793751 485448 171479 341320 233801 361529 664503 090450 531549 (344 digits)
= 8840 949307 x 9134 481077 x 9578 597233 x 9670 152379 x 9914 903881 x 10032
115477 x 10122 473539 x 10267 550053 x 10331 748311 x 10482 246179 x 11165 739931 x
11318 222009 x 11547 173359 x 11584 176341 x 11851 971947 x 12067 293877 x 12089
124613 x 13072 931041 x 13320 764293 x 13478 797933 x 13786 042579 x 13794 187177 x
14588 111761 x 14955 554323 x 15125 167177 x 15485 233271 x 15572 343569 x 15632
712241 x 16248 785843 x 16493 265643 x 16658 879257 x 16856 515679x16918 987453 x
17046 779473".replace(" ", "").split("x")

factors = []

for i in a:
factors.append(int(i))

phi + 1;
for i in factors:
phi *=(i-1)

d = inverse(e, phi)

print(long_to_bytes(pow(c , e, n)).decode())

Вам также может понравиться