Meget lang int i RSA kryptering

Tags:    c++

Ohøj folkens.

Jeg har et meget stort problem.. eller øhh nærmere et meget langt problem.

Jeg er ved at lave et studieretningsprojekt om RSA kryptering.

Jeg er så kommet godt igang med mit progran nu, men jeg har så det problem at jeg skal arbejde med MEGET store tal på over 18 decimaler.
Men er det muligt?
Jeg har prøvet med flere frskællige long sætninger men det lader ikke til at give mig mulighed for stører tal.

Er der nogen der ved hvordan det kan være muligt på en simpel måde?



10 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Du kunne lave et array og fylde data i hver del af det, og så hvis du skal printe det bare bruge en for-lække.. :)



da det er primtal du arbejder med så kan du lave modulo løbende, så undgår du det problem.



har du prøvet at gøre den unsigned long ?



Du kunne lave et array og fylde data i hver del af det, og så hvis du skal printe det bare bruge en for-lække.. :)


Ja det har jeg også overvejet.. Men jeg skal bruge mudulo af det. Hvordan gør jeg lige det?

Jeg har f.eks. en udregning der ser således ud:
m = c^d (mod n) => m = 489^2281 (mod 3293)

Det laver en meget extremt stor udregning hvor mit program fucker totalt op og regner forkert..



da det er primtal du arbejder med så kan du lave modulo løbende, så undgår du det problem.


Hvordan mener du? Kan du give et lille exempel?



da det er primtal du arbejder med så kan du lave modulo løbende, så undgår du det problem.


Uhhh altså sådan her?:
Hvis vi f.eks. siger 5^3 (mod 33) = 26:

5*5 mod 33 = 25
og så
25*5 mod 33 = 26

sådan du mener?



nemlig



Du kan jo 'snyde' lidt og bruge big int klasserne fra http://www.cryptopp.com/



en unsigned long udskyder blot problemet...



tak for hjælpens folkens



t