Avatar billede rasmusbg Nybegynder
27. april 2004 - 00:42 Der er 8 kommentarer og
1 løsning

Valg af heltal x, hvor x skal opfylde gcd(x,a)=1, og a er kendt

Jeg har et problem i forbindelse med en hjemme-implementation af RSA. Det er under dannelsen af den offentlige nøgle.

Jeg har ledt og ledt, uden resultat, efter en metode til at vælge et lille (maks. 5 cifre), positivt og ulige heltal x, som opfylder gcd(x,a)=1, hvor a er et stort (i størrelsesordnen 600-700 cifre), positivt og lige heltal.

Findes der en metode, som kan konstruere et sådant tal, eller er man nødt til at prøve sig frem, indtil man rammer et, der passer?

På forhånd tak :o)
Avatar billede nmh Nybegynder
27. april 2004 - 08:03 #1
Det virker som en overkommelig opgave at prøve sig frem.
Når du ikke ved andet om a, end at det er lige, så undersøg blot primtal fra en ende af.
hvis 3 ikke går op i a, er gcd(3,a)=1
hvis 5 ikke går op i a, er gcd(5,a)=1
....
Avatar billede rasmusbg Nybegynder
27. april 2004 - 12:13 #2
Det havde jeg også overvejet, men det kunne indtræffe, at man skal lede lang tid efter et x, der opfylder gcd(x,a)=1

Jeg lader spørgmålet være åbent en dags tid endnu, ifald der er nogen, der har en mere effektiv metode, ellers tilfalder pointene dig, nmh.

:o)
Avatar billede nmh Nybegynder
27. april 2004 - 12:44 #3
Lede længe:
Ja hvis dit store tal på 600 cifre f.eks. er af form 2*et primtal på 600cifre er opgaven umulig.

Og at opløse dit store tal i primfaktorer er jo en opgave, som netop tager lang tid. Det er jo derfor man kan bruge RSA-kryptering.
Avatar billede rasmusbg Nybegynder
27. april 2004 - 12:53 #4
Nej, det er ikke når det er på den form. Det er når det er på formen 2*p_1*p_2*p_3*...*p_n, hvor alle p_k er små primtal.
Avatar billede nmh Nybegynder
27. april 2004 - 13:05 #5
Ok, men så er det jo noget nemmere.
Du har altså faktisk opløst dit store tal a i primfaktorer.
Så vil ethvert primtal p forskellig fra 2 og forskellig fra dine primfaktorer have egenskaben
gcd(p,a)=1.
Du kan f.eks. vælge et primtal mindre end det mindste af dine primfaltorer.
Avatar billede rasmusbg Nybegynder
27. april 2004 - 13:08 #6
Hehe...jeg har ikke opløst a i dets faktorer ;o)
Det eneste, jeg ved om a er, at det er lige, idet a=(p-1)(q-1), hvor p og q er to primtal, og p!=q.
Avatar billede nmh Nybegynder
27. april 2004 - 13:16 #7
Ok, ja det overraskede mig også lidt at du skulle have en opløsning i primfaktorer af dit a.
Avatar billede rasmusbg Nybegynder
28. april 2004 - 12:48 #8
Jeg har valgt at bruge erathostenes si til at finde en stribe primtal og så bare prøve dem indtil, der er et, som dur - altså den løsning du kom med nmh.

Tak for hjælpen :o)
Avatar billede nmh Nybegynder
28. april 2004 - 12:51 #9
Selv tak, det var så lidt. :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester