Informationsteori. Hvorledes man bryder en RSA-kode

Størrelse: px
Starte visningen fra side:

Download "Informationsteori. Hvorledes man bryder en RSA-kode"

Transkript

1 HEb Informationsteori Hvorledes man bryder en RSA-kode Vi kender den offentlige nøgle (e n) og vil nu finde den private nøgle (d n), hvorved koden er brudt. Først gættes primfaktoriseringen af n: n = p q (1.1) Det er heri hemmeligheden ligger, man kan nemlig ikke regne dette ud. Metoden, der skal anvendes, er at prøve tallene fra p n til 1. Derefter beregnes tallet z: z =(p ; 1) (q ; 1) (1.2) Ifølge RSA-algoritmen har vi nu følgende ligning: ed 1 (mod z) (1.3) Vi kender e og z og skal bestemme d, som er den private nøgle. Til dette kan en variant af Euklids algoritme anvendes. Ligning (1.3) betyder: z j (ed ; 1) (1.4) Dette kan omskrives til: ed ; 1 = N z ed ; 1=z N (1.5) 1=ed ; z N I dette udtryk er N et til lejligheden passende heltal. Vi vil nu finde tallene d og N (N skal ikke bruges til noget). Euklids algoritme kan give os svaret på A og B i udtrykket (se programmet side 4): 1=z A ; e B (1.6)

2 2 Dette kan omskrives til: 1=z A + e (z ; B) ; e z = e (z ; B) ; (e ; A) z (1.7) hvor: d =(z ; B) N =(e ; A) = e d ; z N Vi har nu den private nøgle (d n), og vi vil nu være i stand til at dechiffere meddelelser, der er indkodet med den offentlige nøgle. Et eksempel Vi får den offentlige nøgle (e n) = ( ). Vi starter med at gætte fra p = og finder snart: n = p q = (1.8) Derved får vi for z: z =(p ; 1) (q ; 1) = = (1.9) Vi har nu ligningen: ed 1 (mod z) 31d 1 (mod 10600) (1.10) Euklids algoritme giver: : 31 = 341 R =29 31 : 29 = 1 R =2 29:2=14 R =1 Deraf fås ud fra divisionsresterne: 1=29; =31; = ; (1.11)

3 3 Videre fås: 1=29; 14 2 =29; 14 (31 ; 29) =29; 14 (31 ; (10600 ; )) = ; ; 14 (31 ; (10600 ; )) = ; 31 ( ) (1.12) Dernæst fås: = ; = A z ; e B d =(z ; B) =10600; 5129 = 5471 N =(e ; A) =31; 15 = 16 (1.13) Ligningen hedder nu: 1=ed ; zn = ; (1.14) Det ses, at den passer, da: = = (1.15) Vi har nu fundet den private nøgle: (d n) = ( ) (1.16)

4 4 Et program Programmet, der vises her, udfører Den udvidede Euklids algoritme, som jf. ligning (1.6) for tallene a og b beregner størrelserne A og B i udtrykket: SFD(a b) =A a + B b (1.17) Hvis vi fx. indtaster a = og b =31, fås A =15og B = ;5129, hvilket svarer til næstnederste linie i ligning (1.12). Se side 11, hvor Euklids algoritme er omtalt. /* EUKLEX.C Ver. 0.2 (970505) Udvidet Euklids algoritme Finder for to tal a og b strste flles divisor, SFD(a,b) samt tallene A og B i udtrykket: SFD(a,b) = Aa + Bb (A eller B kan vre negativ eller 0) Se Bruce Schneier p. 202 Rettet: EUKLIDEX.C bytes EUKLIDEX.EXE bytes */ #include <conio.h> #include <stdio.h> #include <dos.h> #define Starttekst "Udvidet Euklids algoritme v \n" long int a,b,*sfd, *A, *B, SFDlager, Alager, Blager /* UdvEuklid(a,b,A,B) returnerer SFD(a,b) samt uddata A og B, som opfylder: SFD(a,b)= Aa + Bb */ void UdvEuklid(long int a, long int b, long int *A, long int *B, long int *S- FD) long int a1, a2, b1, b2, Temp a1=1 a2=a b1=0 b2=b while (b2>0) Temp= a1-b1*(a2/b2) a1=b1 b1=temp Temp= a2-b2*(a2/b2) a2=b2 b2=temp } *A= a1 *B= (a2-a1*a)/b

5 5 *SFD= a2 } void main(void) printf(starttekst) printf("finder strste flles divisor, SFD(a,b) printf("strrelserne A og B, som opfylder:\n") printf(" SFD(a,b)= Aa+Bb\n") printf("a=0 standser programmet\n") A= &Alager B=&Blager SFD= &SFDlager for ( ) printf("a= ") scanf("%ld",&a) if (a==0)printf("afsluttet\n") exit(0) } printf("b= ",b) scanf("%ld",&b) UdvEuklid(a,b,A,B,SFD) printf("sfd(%ld,%ld)= %ld\n", a,b, *SFD) printf("a=%ld B=%ld \n", *A, *B) }} /* SLUT PA EUKLEX.C */ samt\n") En anden metode Man kan også anvende Eulers totientfunktion, når man vil finde den private nøgle d (se side 14). Hvis SFD(a b) =1, gælder der: a '(b) mod b =1 (1.18) Dette kaldes Fermats lille sætning. Vi kan nu skrive a ;1 mod b som: a ;1 mod b = a ;1 1modb = a ;1 a '(b) mod b = a '(b);1 mod b (1.19) Når vi skal bryde en RSA-kode, ønsker vi at finde d i udtrykket: eller: ed 1 (mod z) (1.20) d = e ;1 mod z (1.21) Vha. Fermats lille sætning fås nu svaret: d = e ;1 mod z = e '(z);1 mod z (1.22)

6 6 Eksempel Vi har p =101, q =107, og dermed n =10807og z = Se eksemplet side 2. For e =31kan vi nu let beregne d: ed 1 (mod z) d = e ;1 mod z d = ;1 mod (1.23) d = mod d =5471 Idet '(10600) = 4160, hvilket fx. kan beregnes med programmet på side 16.

7 7 RSA-programmer Herunder er vist et par C-programmer. Det ene program kan anvendes til beregning af kodeord og dekodning af samme. Det andet program kan kontrollere om givne parametre er lovlige RSA-parametre. /* RSA.C Ver. 0.1 (970507) RSA-indkodning og -dekodning Rettet: RSA.C bytes RSA.EXE bytes */ #include <conio.h> #include <stdio.h> #include <dos.h> #define Starttekst "RSA-indkodning og dekodning v \n" long int n,e,m,c /* Modexp(a,x,n) beregner a i x'te modulus n */ long int Modexp(long int a, long int x, long int n) long int r r=1 while (x>0) if (x % 2 == 1) r= (r*a) % n /* Hvis x er ulige */ a= (a*a) % n x /= 2 } return r } void main(void) printf(starttekst) printf("beregner M^e mod n\n") printf("(eller C^d mod n)\n") printf("m (eller C) skal vre mindre end n\n") printf("m=-1 standser programmet\n") printf("n= ") scanf("%ld",&n) printf("e= ") scanf("%ld",&e) for ( ) printf("m= ") scanf("%ld",&m) if (M==-1)printf("Afsluttet\n") exit(0) } if (M>=n) printf("fejl: M er strre end eller lig n\n") exit(0) } C=Modexp(M,e,n)

8 8 printf("c= %ld\n", C) }} /* SLUT PA RSA.C */ /* RSATEST.C Ver. 0.2 (970511) Tester om RSA-parametre er lovlige Rettet: RSATEST.C bytes RSATEST.EXE bytes */ #include <conio.h> #include <stdio.h> #include <dos.h> #include <math.h> /* Pga. kvadratrod (sqrt) i Totient */ #define Starttekst "RSA-test v \n" long int p,q,e,d,n,z,fejl long int Totient(long int n) long int phi,i,j,k phi=n if (n%2==0) phi /=2 for ( n%2==0 n /=2) } if (n%3==0) phi=(phi*2)/3 for ( n%3==0 n /=3) } i=5 for ( n>=5 ) j=1 for (++j,k=i%j (k!=0)&(j!=(long int)sqrt(i)) ) j++ k= i%j } if ((k!=0)&(n%i==0)) phi= phi - phi/i for ( n%i==0 n/=i) } i +=2 } return phi } /* Primtest(x) returner 0, hvis x er et primtal */ int Primtest(long int x) if (Totient(x)==(x-1)) return 0 else return 1 } long int SFD(long int a, long int b) long int r,c,d

9 9 r=a%b c=a d=b for ( r>0 )c=d d=r r=c%d } return d } void main(void) printf(starttekst) printf("tester om RSA-parametre er lovlige\n") printf("p= ") scanf("%ld",&p) printf("q= ") scanf("%ld",&q) printf("e= ") scanf("%ld",&e) printf("d= ") scanf("%ld",&d) n=p*q z=(p-1)*(q-1) Fejl=0 printf("n= pq = %ld\n",n) printf("z=(p-1)(q-1)= %ld\n", z) if (Primtest(p)) printf("fejl: p er ikke et primtal\n") Fejl=1 } if (Primtest(q)) printf("fejl: q er ikke et primtal\n") Fejl=1 } if (SFD(z,e)!=1) printf("fejl: z og e er ikke primiske\n") Fejl=1 } if (SFD(z,d)!=1) printf("fejl: z og d er ikke primiske\n") Fejl=1 } if (((e*d)%z)!=1) printf("fejl: e og d er ikke hinandens inverse mod z\n") Fejl=1 } if (e >= z) printf("fejl: e er strre end z\n") Fejl=1 } if (d >= z) printf("fejl: d er strre end z\n") Fejl=1 } if (Fejl==0) printf("parametrene er OK!\n") } /* SLUT PA RSATEST.C */

10 10 Lidt matematik Kongruens modulo et heltal To heltal x og y er kongruente modulo d hvis og kun hvis x og y tilhører samme restklasse modulo d, hvor d er et heltal. Dette noteres: x y (mod d) (1.24) Denne relation er en ækvivalensrelation. I Pascal ville man udtrykke det: x = y mod d (1.25) I sproget C ville vi skrive: x = y % d (1.26) To heltal x og y er kongruente modulo d, hvis og kun hvis d kan dividere (x ; y) uden rest: x y (mod d) ) d j (x ; y) (1.27) Symbolet j læses går op i. Alternativt kan (1.27) også udtrykkes: d j (x ; y) x ; y = N d Nd+ y = x (1.28) hvor N er kvotienten. Største fælles divisor Det største heltal, der går op i en mængde af tal, kaldes mængdens største fælles divisor eller største fællesnævner, SFD (På engelsk Greatest Common Divisor, GCD). I værste tilfælde er SFD lig med 1, og i bedste tilfælde er SFD mængdens mindste tal.

11 11 Eksempler: SFD(3 4) = 1 SFD(10 20) = 10 [0] Man kan finde SFD(a, b) vha. Euklids algoritme. To tal a og b, hvor der gælder SFD(a,b)=1, kaldes indbyrdes primiske, man siger også, at a og b er relative primtal eller a er primisk med b. Eksempelvis er 8 og 9 indbyrdes primiske, selv om ingen af tallene er primtal. Mindste fælles mangefold Det mindste heltal, som en mængde af tal går op i, kaldes mængdens mindste fælles mangefold, MFM (På engelsk Least Common Multiple, LCM). I værste tilfælde er MFM lig med produktet af mængdens tal, og i bedste tilfælde er MFM mængdens største tal. Eksempler: MFM(5 7) = 35 MFM(6 24) = 24 [0] Der gælder at: MFM(a b) = a b SFD(a b) (1.29) Programmet på side 13 beregner MFM(a,b) og SFD(a,b) for to tal a og b. Euklids algoritme Denne algoritme er beskrevet af grækeren Euklid i bogen Elementa omkring år 300 fvt. Euklid hittede vist ikke selv på algoritmen; den menes at stamme tilbage fra år 500 fvt. Algoritmen beskrives her aldeles umatematisk via nogle små taleksempler. Euklids algoritme anvendes til at bestemme den største fælles divisor SFD for to tal. Først et par generelle bemærkninger: 1. Hvis a kan dividere b (eller a går op i b, skrevet a j b), og der findes et tal, der går op i a, vil det også gå op i b. Eksempelvis har vi 70 : 10 = 7. Tallet 5 går op i 10, derfor går 5 også op i Hvis vi har to tal, a og b, hvor a går op i b, er den største fælles divisor lig med a. Eksempelvis har vi tallene 70 og 10. Da 10 går op i 70, er SFD(70,10)= Hvis a ikke går op i b, men der fås en rest R, hvor der findes et tal, der går op i både a og R, vil dette tal være SFD for a og b. Eksempel: a =10og b =75. Divisionen giver: 75 : 10 = 7, rest 5 Da 5 går op i både 10 og 5, er SFD lig med 5: SFD(75,10)= 5

12 12 Euklids rekursive algoritme siger nu, at vi skal dividere det største tal med det mindste, b : a. Hvis det går op, er SFD(a,b)=a. I modsat fald undersøges nu a og divisionsresten, R sammen. Tallet a vil altid være større end R. Hvis det går op, er SFD(a, b)= R. I modsat fald fortsættes på samme måde. Proceduren gentages indtil R =0. Største fælles divisor vil være lig med den sidste divisions dividend. Efter lidt overvejelse vil man se, at det er ligegyldigt, om vi starter med at dividere b med a eller omvendt. Opskrevet mere systematisk lyder algoritmen: 1. Vi skal finde SFD(a, b) 2. Udfør heltalsdivisionen b, resten kaldes R a 1 3. Udfør heltalsdivisionen a R 1, resten kaldes R 2 4. Udfør heltalsdivisionen R 1 R 2, resten kaldes R 3 5. Gentag punkt 4 med voksende index på R, indtil R n;1 Rn 6. SFD er nu lig med R n går op I sproget C kan algoritmen skrives som: r=a%b c=a d=b for ( r>0 )c=d d=r r=c%d } SFD=d Eksempel 1 Vi har a =42og b =49, og finder nu SFD(49,42) vha. Euklids algoritme. 49 : 42 = 1 R =7 42:7=6 R =0 Dette betyder, at SFD(49,47)= 7 Hvis vi starter omvendt, fås: 42 : 49 = 0 R =42 49 : 42 = 1 R =7 42:7=6 R =0

13 13 Eksempel 2 Vi har a =31og b =3480, og finder nu SFD(31,3480) vha. Euklids algoritme : 31 = 112 R =8 31:8=3 R =7 8:7=1 R =1 7:1=7 R =0 Dette betyder, at SFD(31, 3480)= 1, eller med andre ord, at 31 og 3480 er relative primtal. Eksempel 3 Vi har a =54og b =12726, og finder nu SFD(54,12726) vha. Euklids algoritme : 54 = 235 R =36 54 : 36 = 1 R =18 36 : 18 = 2 R =0 Dette betyder, at SFD(54, 12726)= 18. Mindste fælles mangefold bliver: MFM( ) = = (1.30) SFD( ) Det efterfølgende program beregner SFD og MFM for to tal vha. Euklids algoritme. /* EUKLID.C Ver. 0.1 (960124) Finder strste flles divisor (SFD) og mindste flles mangefold (MFM) for to tal, a og b. Anvender Euklids algoritme Rettet: EUKLID.C bytes EUKLID.EXE bytes */ #include <conio.h> #include <stdio.h> #include <dos.h> #define Starttekst "Euklids algoritme v \n" static unsigned long int a,b,c,d,r void main(void)

14 14 printf(starttekst) printf("finder strste flles divisor, SFD(a,b) samt\n") printf("mindste flles mangefold, MFM(a,b)\n") printf("a=0 standser programmet\n") for ( ) printf("a= ") scanf("%ld",&a) if (a==0)printf("afsluttet\n") exit(0) } printf("b= ",b) scanf("%ld",&b) r=a%b c=a d=b for ( r>0 )c=d d=r r=c%d } % Euklids algoritme pa kort form printf("sfd(%ld,%ld)= %ld\n", a,b,d) printf("mfm(%ld,%ld)= %ld\n", a,b,(a*b)/d) }} Eulers totientfunktion Funktionen '(n), som kaldes Eulers totientfunktion, har som funktionsværdi antallet af tal mindre end n, der er indbyrdes primiske med n: '(n) =# fm j m<n ^ SFD(m n) =1g (1.31) hvor: # står for mængdens kardinalitet Udtrykt mere uformelt: Totientfunktionen er lig medén større end antallet af tal, der ikke går op i n. Herunder er vist nogle eksempler, idét mængden af tal, der er primiske med n, er vist ved siden af: '(3) = 2 '(4) = 2 '(5) = 4 '(7) = 6 '(8) = 4 f1 2g f1 3g f g f g f g (1.32) Der gælder følgende, idét p og q betegner to forskellige primtal, og a et positivt heltal: '(p) =p ; 1 '(p a )=(p ; 1) p a;1 (1.33) '(p q) ='(p) '(q)

15 15 Eksempel: 63 = '(63) = (3 ; 1) 3 1 '(7) (1.34) =2 3 6=36 Funktionen kan beregnes Y ved: '(n) =n 1 ; 1 p pjn (1.35) Man skal tage produkter for alle de primtal mindre end n, som går op i n. Eksempler: 255 = '(255) = ; 1 17 = = 128 '(63) = 63 1 ; ; 1 1 ; ; 1 7 (1.36) = =36 (1.37) Det efterfølgende program kan beregne Eulers totientfunktion. (En test af programmet skal give '(198000) = 48000, '(23279) = og '(65993) = 65992) Programmet kan anvendes til at afgøre om et tal m er et primtal, idét '(m) =m ; 1 hvis og kun hvis m er et primtal.

16 16 /* TOTIENT.C Ver. 0.7 (970512) Finder Eulers totientfunktion (Grimaldi p. 196) Rettet 10/5 97 sa STORE tal kan klares. Programmet burde nu kunne klare tal op til (2^32-1) Store primtal, der kan testes: 101, 3.391, , og Testen af det sidstnvnte tal varer s pa en MHz-maskine. Rettet: ,970508,970510,970511, TOTIENT.C bytes TOTIENT.EXE bytes */ #include <conio.h> #include <stdio.h> #include <dos.h> #include <math.h> // #include <time.h> #define Starttekst "Eulers totientfunktion v \n" unsigned long int n // time_t T1,T2 unsigned long int Totient(unsigned long int n) unsigned long int phi,i,j,k phi=n if (n%2ul==0ul) /* UL star for unsigned long int */ phi /=2UL for ( n%2ul==0ul n /=2UL) } if (n%3ul==0ul) phi=(phi*2ul)/3ul for ( n%3ul==0ul n /=3UL) } i=5ul for ( n>=5ul ) j=1ul for (++j,k=i%j (k!=0ul)&(j!=(unsigned long int)sqrt(i)) ) j++ k= i%j } if ((k!=0ul)&(n%i==0ul)) phi= phi - phi/i /* Rettet 10/ */ for ( n%i==0ul n/=i) } i +=2UL } return phi } void main(void)

17 17 printf(starttekst) printf("n ma hjst vre \n") printf("n=0 standser programmet\n") for ( ) printf("\nn= ") scanf("%lu",&n) if (n==0)printf("afsluttet\n") exit(0) } // T1=time(NULL) printf("phi(%lu)= %lu\n", n, Totient(n)) // T2=time(NULL) // printf("tidsforbrug: %lu sekunder\n", (unsigned long int)difftime(t2,t1)) } } /* SLUT PA TOTIENT.C */

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal

Læs mere

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde.

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Johan P. Hansen 18. april 2013 Indhold 1 Indbyrdes primiske hele tal 1 2 Regning med rester 3 3 Kryptering

Læs mere

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive

Læs mere

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde.

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Affine - et krypteringssystem

Affine - et krypteringssystem Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på

Læs mere

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk) Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende

Læs mere

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Projekt 7.9 Euklids algoritme, primtal og primiske tal Projekter: Kapitel 7 Projekt 79 Euklids algoritme, primtal og primiske tal Projekt 79 Euklids algoritme, primtal og primiske tal Projektet giver et kig ind i metodee i modee talteori Det kan udbygges med

Læs mere

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Talteoriopgaver Træningsophold ved Sorø Akademi 2007 Talteoriopgaver Træningsophold ved Sorø Akademi 2007 18. juli 2007 Opgave 1. Vis at når a, b og c er positive heltal, er et sammensat tal. Løsningsforslag: a 4 + b 4 + 4c 4 + 4a 3 b + 4ab 3 + 6a 2 b 2

Læs mere

Ringe og Primfaktorisering

Ringe og Primfaktorisering Ringe og Primfaktorisering Michael Knudsen 16. marts 2005 1 Ringe Lad Z betegne mængden af de hele tal, Z = {..., 2, 1,0,1,2,...}. På Z har to regneoperationer, + (plus) og (gange), der til to hele tal

Læs mere

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur 6. december Talteoretiske algoritmer, RSA kryptosystemet, Primtalstest Motivation Definitioner Euclids algoritme Udvidet Euclid RSA kryptosystemet Randominserede algoritmer Rabin-Miller primtalstest Svært

Læs mere

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så Introduktion 1) Hvad er Taleteori? Læren om de hele tal Primtal 2) Formalistisk struktur Definition Lemma Divisorer Definition (Divisor) Lad d og n være hele tal Hvis der findes et helt tal q så d q =

Læs mere

Talteori: Euklids algoritmer, modulær aritmetik

Talteori: Euklids algoritmer, modulær aritmetik Talteori: r, modulær aritmetik Videregående algoritmik Cormen et al. 31.1 31.4 Tirsdag den 6. januar 2009 1 1 2 Restklasseringene modulo n Grupper og undergrupper Modulær division Divisorer De hele tal

Læs mere

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. lemma: Hvis a, b og c er heltal så gcd(a, b) = 1 og a bc da vil a c. lemma: Hvis p er et primtal og p a 1 a 2 a n hvor hvert

Læs mere

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden 14. DEC 2014 RSA-KRYPTERING Studieretningsprojekt Blerim Cazimi Frederiksberg Tekniske Gymnasium Matematik A Vejleder: Jonas Kromann Olden Informationsteknologi B Vejleder: Kenneth Hebel Indhold Indledning...

Læs mere

Note om endelige legemer

Note om endelige legemer Note om endelige legemer Leif K. Jørgensen 1 Legemer af primtalsorden Vi har i Lauritzen afsnit 2.1.1 set følgende: Proposition 1 Lad n være et positivt helt tal. Vi kan da definere en komposition + på

Læs mere

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard RSA-kryptosystemet RSA-kryptosystemet Erik Vestergaard Erik Vestergaard www.matematikfysik.dk Erik Vestergaard, 007. Billeder: Forside: istock.com/demo10 Erik Vestergaard www.matematikfysik.dk 3 1. Indledning

Læs mere

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36 Slide 1/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 2/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 3/36 1) Hvad er Taleteori? sfaktorisering Slide 4/36 sfaktorisering 1) Hvad er

Læs mere

TILLÆG. Refleksionskoefficienten for det spejlede punkt y n fås ved:

TILLÆG. Refleksionskoefficienten for det spejlede punkt y n fås ved: 21 TILLÆG Udover den grafiske løsning af opgave 3.2, kan linie og stub naturligvis også beregnes. Dette vises kort her sammen med et lille C-program, der kan udføre disse beregninger. Vi regner i admittans,

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, oktober 2008, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem Eksamensopgaver datalogi, dlc 2011 side 1/5 1. Lodtrækningssystem Der skal fremstilles et program, som kan foretage en lodtrækning. Programmet skal kunne udtrække en eller flere personer (eller andet)

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

DM72 Diskret matematik med anvendelser

DM72 Diskret matematik med anvendelser DM72 Diskret matematik med anvendelser En hurtig gennemgang af de vigtigste resultater. (Dvs. ikke alle resultater). Logik Åbne udsagn 2 + 3 = 5 Prædikater og kvantorer P (x) := x er et primtal x N : n

Læs mere

Euklids algoritme og kædebrøker

Euklids algoritme og kædebrøker Euklids algoritme og kædebrøker Michael Knudsen I denne note vil vi med Z, Q og R betegne mængden af henholdsvis de hele, de rationale og de reelle tal. Altså er { m } Z = {..., 2,, 0,, 2,...} og Q = n

Læs mere

2. Gruppen af primiske restklasser.

2. Gruppen af primiske restklasser. Primiske restklasser 2.1 2. Gruppen af primiske restklasser. (2.1) Setup. I det følgende betegner n et naturligt tal større end 1. Den additive gruppe af restklasser modulo n betegnes Z/n, og den multiplikative

Læs mere

Primtal - hvor mange, hvordan og hvorfor?

Primtal - hvor mange, hvordan og hvorfor? Johan P. Hansen 1 1 Institut for Matematiske Fag, Aarhus Universitet Gult foredrag, EULERs Venner, oktober 2009 Disposition 1 EUKLIDs sætning. Der er uendelig mange primtal! EUKLIDs bevis Bevis baseret

Læs mere

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27, Camp om Kryptering Datasikkerhed, RSA kryptering og faktorisering Rasmus Lauritsen August 27, 2013 http://users-cs.au.dk/rwl/2013/sciencecamp Indhold Datasikkerhed RSA Kryptering Faktorisering Anvendelse

Læs mere

Programmering i C. Lektion oktober 2008

Programmering i C. Lektion oktober 2008 Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969

Læs mere

Køreplan Matematik 1 - FORÅR 2005

Køreplan Matematik 1 - FORÅR 2005 Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, marts 2007, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe. Matematik YY Foråret 2004 Elementær talteori Søren Jøndrup og Jørn Olsson Kapitel 1. Grupper og restklasseringe. Vi vil i første omgang betragte forskellige typer ligninger og søge efter heltalsløsninger

Læs mere

ELEKTROMAGNETISME. 1. Omregning af mediekonstanter. 1a. Med generelle formler. 1b. Med reelle beregninger. Institut for elektroniske systemer E4/01

ELEKTROMAGNETISME. 1. Omregning af mediekonstanter. 1a. Med generelle formler. 1b. Med reelle beregninger. Institut for elektroniske systemer E4/01 Institut for elektroniske systemer E4/01 1 01035HEb ELEKTROMAGNETISME 1. Omregning af mediekonstanter Omregning mellem primære og sekundære mediekonstanter kan foretages på disse måder: 1. Med generelle

Læs mere

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Disposition 1 PKI - Public Key Infrastructure Symmetrisk kryptografi Asymmetrisk kryptografi 2 Regning med rester Indbyrdes primiske tal

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, marts 2007, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Projekt 0.6 RSA kryptering

Projekt 0.6 RSA kryptering Projekt 0.6 RSA kryptering 1. Introduktion. Nøgler til kryptering Alle former for kryptografi prøver at løse følgende problem: En afsender, A ønsker at sende en mdelelse til en modtager, M, såles at den

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 24. august 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede

Læs mere

DM547/MM537. Spørgsmål 2 (3%) Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1. Svar 2.h: x Z: y Z: x + y = 5. Svar 1.

DM547/MM537. Spørgsmål 2 (3%) Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1. Svar 2.h: x Z: y Z: x + y = 5. Svar 1. DM547/MM537 Spørgsmål 1 (10%) Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1 Svar 1.b: x Z: y Z: x + y = 5 Svar 1.c: x Z: y Z: x + y = 5 Svar 1.d: x Z: y Z: x 2 + 2y = 0 Svar

Læs mere

DM549. Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1. Svar 2.h: x Z: y Z: x + y = 5. Svar 1.e: x Z: y Z: x + y < x y

DM549. Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1. Svar 2.h: x Z: y Z: x + y = 5. Svar 1.e: x Z: y Z: x + y < x y DM549 Spørgsmål 1 (8%) Hvilke udsagn er sande? Which propositions are true? Svar 1.a: x Z: x > x 1 Svar 1.b: x Z: y Z: x + y = 5 Svar 1.c: x Z: y Z: x + y = 5 Svar 1.d: x Z: y Z: x 2 + 2y = 0 Svar 1.e:

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 3. april 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede sig

Læs mere

Eksamen i Diskret Matematik

Eksamen i Diskret Matematik Eksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet 15. juni, 2015. Kl. 9-13. Nærværende eksamenssæt består af 12 nummererede sider med ialt 17 opgaver. Tilladte hjælpemidler:

Læs mere

Integer Factorization

Integer Factorization Integer Factorization Per Leslie Jensen DIKU 2/12-2005 kl. 10:15 Overblik 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder

Læs mere

TALTEORI Følger og den kinesiske restklassesætning.

TALTEORI Følger og den kinesiske restklassesætning. Følger og den kinesiske restklassesætning, december 2006, Kirsten Rosenkilde 1 TALTEORI Følger og den kinesiske restklassesætning Disse noter forudsætter et grundlæggende kendskab til talteori som man

Læs mere

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008 Moderne kryptografi Olav Geil Institut for Matematiske Fag Aalborg Universitet Elektronik og IT-Gruppen 24. april 2008 Matematik og ingeniørvidenskab Uden ingeniørvidenskab var komplekse tal blot en kuriøsitet

Læs mere

Elementær Matematik. Tal og Algebra

Elementær Matematik. Tal og Algebra Elementær Matematik Tal og Algebra Ole Witt-Hansen 0 Indhold Indhold.... De naturlige tal.... Regneregler for naturlige tal.... Kvadratsætningerne..... Regningsarternes hierarki...4. Primtal...4 4. Nul

Læs mere

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2.

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. Bevis ved stærk induktion. Basisskridt: P (2) er sand og P (3) er sand. Induktionsskridt: Lad k 2 og antag P

Læs mere

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS Juli 2013 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Noter om primtal. Erik Olsen

Noter om primtal. Erik Olsen Noter om primtal Erik Olsen 1 Notation og indledende bemærkninger Vi lader betegne de hele tal, og Z = {... 3, 2, 1, 0, 1, 2, 3...} N = {0, 1, 2, 3...} Z være de positive hele tal. Vi minder her om et

Læs mere

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen Introduktion til Kryptologi Mikkel Kamstrup Erlandsen Indhold 1 Introduktion 2 1.1 Om Kryptologi.......................... 2 1.2 Grundlæggende koncepter.................... 2 1.3 Bogstaver som tal........................

Læs mere

Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.

Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Denne guide er oprindeligt udgivet på Eksperten.dk Tilfældige tal Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Den forudsætter

Læs mere

Om ensvinklede og ligedannede trekanter

Om ensvinklede og ligedannede trekanter Om ensvinklede og ligedannede trekanter Vi vil her give et bevis for sætningen, der siger at for trekanter er begreberne ensvinklet og ligedannet det samme. Sætningen er langt fra trivial trekanter er

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 2 14. september 2009 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Kommentarer Format - scanf og printf 2 / 27 Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler

Læs mere

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

Læs mere

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6 Indhold 1 Polynomier 2 Polynomier 2 Polynomiumsdivision 4 3 Algebraens fundamentalsætning og rødder 6 4 Koefficienter 8 5 Polynomier med heltallige koefficienter 9 6 Mere om polynomier med heltallige koefficienter

Læs mere

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Opgave 1 Vi skal tegne alle de linjestykker, der forbinder vilkårligt valgte punkter blandt de 4 punkter. Gennem forsøg finder

Læs mere

Tip til 1. runde af Georg Mohr-Konkurrencen - Talteori, Kirsten Rosenkilde. Opgave 1. Hvor mange af følgende fem tal er delelige med 9?

Tip til 1. runde af Georg Mohr-Konkurrencen - Talteori, Kirsten Rosenkilde. Opgave 1. Hvor mange af følgende fem tal er delelige med 9? Tip til 1. runde af Talteori Talteori handler om de hele tal, og særligt om hvornår et helt tal er deleligt med et andet. Derfor spiller primtallene en helt central rolle i talteori, hvilket vi skal se

Læs mere

Fejlkorrigerende koder, secret sharing (og kryptografi)

Fejlkorrigerende koder, secret sharing (og kryptografi) Fejlkorrigerende koder, secret sharing (og kryptografi) Olav Geil Afdeling for Matematiske Fag Aalborg Universitet Møde for Matematiklærere i Viborg og Ringkøbing amter 7. november, 2006 Oversigt Fejlkorrigerende

Læs mere

MM05 - Kogt ned. kokken. Jacob Aae Mikkelsen. 23. januar 2007

MM05 - Kogt ned. kokken. Jacob Aae Mikkelsen. 23. januar 2007 MM05 - Kogt ned Jacob Aae Mikkelsen kokken 23. januar 2007 1 INDHOLD 1 ARITMETIK I Z Indhold 1 Aritmetik i Z 2 2 Kongruens i Z 4 3 Ringe 6 4 Aritmetik i F[x] 9 5 Kongruens i F[x] og kongruensklasse aritmetik

Læs mere

6. RSA, og andre public key systemer.

6. RSA, og andre public key systemer. RSA 6.1 6. RSA, og andre public key systemer. (6.1). A skal sende en meddelelse til B. Denne situation forekommer naturligvis utallige gange i vores dagligdag: vi kommunikerer, vi signalerer, vi meddeler

Læs mere

3. Om skalamønstrene og den indfoldede orden

3. Om skalamønstrene og den indfoldede orden Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form

Læs mere

Fredag 12. januar David Pisinger

Fredag 12. januar David Pisinger Videregående Algoritmik, DIKU 2006/07 Fredag 2. januar David Pisinger Kryptering Spartanere (500 f.kr.) strimmelrulle viklet omkring cylinder Julius Cæsar: substituering af bogstaver [frekvensanalyse]

Læs mere

TALTEORI Ligninger og det der ligner.

TALTEORI Ligninger og det der ligner. Ligninger og det der ligner, december 006, Kirsten Rosenkilde 1 TALTEORI Ligninger og det der ligner. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan få i Marianne Terps og Peter

Læs mere

10. Nogle diofantiske ligninger.

10. Nogle diofantiske ligninger. Diofantiske ligninger 10.1 10. Nogle diofantiske ligninger. (10.1). I dette kapitel betragtes nogle diofantiske ligninger, specielt nogle af de ligninger, der kan behandles via kvadratiske talringe. Ligningerne

Læs mere

Lektion 3 Sammensætning af regnearterne

Lektion 3 Sammensætning af regnearterne Lektion Sammensætning af regnearterne Indholdsfortegnelse Indholdsfortegnelse... Plus, minus, gange og division... Negative tal... Parenteser og brøkstreger... Potenser og rødder... Lektion Side 1 Plus,

Læs mere

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014 Matematik Hayati Balo,AAMS August, 2014 1 Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske symboler.

Læs mere

Regning. Mike Vandal Auerbach ( 7) 4x 2 y 2xy 5. 2x + 4 = 3. (x + 3)(2x 1) = 0. (a + b)(a b) a 2 + b 2 2ab.

Regning. Mike Vandal Auerbach ( 7) 4x 2 y 2xy 5. 2x + 4 = 3. (x + 3)(2x 1) = 0. (a + b)(a b) a 2 + b 2 2ab. Mike Vandal Auerbach Regning + 6 ( 7) (x + )(x 1) = 0 x + = 7 + x y xy 5 7 + 5 (a + (a a + b ab www.mathematicus.dk Regning 1. udgave, 018 Disse noter er en opsamling på generelle regne- og algebraiske

Læs mere

Bevisteknikker (relevant både ved design og verifikation)

Bevisteknikker (relevant både ved design og verifikation) Bevisteknikker 1 Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Matematiske metoder - Opgavesæt

Matematiske metoder - Opgavesæt Matematiske metoder - Opgavesæt Anders Friis, Anne Ryelund, Mads Friis, Signe Baggesen 24. maj 208 Beskrivelse af opgavesættet I dette opgavesæt vil du støde på opgaver, der er markeret med enten 0, eller

Læs mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

Læs mere

Programmering i C. Lektion november 2008

Programmering i C. Lektion november 2008 Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse

Læs mere

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag

Læs mere

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet RSA Kryptosystemet Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Kryptering med RSA Her følger først en kort opridsning af RSA kryptosystemet, som vi senere skal bruge til at lave digitale signaturer.

Læs mere

brikkerne til regning & matematik tal og algebra preben bernitt

brikkerne til regning & matematik tal og algebra preben bernitt brikkerne til regning & matematik tal og algebra 2+ preben bernitt brikkerne. Tal og algebra 2+ 1. udgave som E-bog ISBN: 978-87-92488-35-0 2008 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt

Læs mere

Kvadratiske matricer. enote Kvadratiske matricer

Kvadratiske matricer. enote Kvadratiske matricer enote enote Kvadratiske matricer I denne enote undersøges grundlæggende egenskaber ved mængden af kvadratiske matricer herunder indførelse af en invers matrix for visse kvadratiske matricer. Det forudsættes,

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe.

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe. 0.1: Ringe 1. Definition: Ring En algebraisk struktur (R, +,, 0,, 1) kaldes en ring hvis (R, +,, 0) er en kommutativ gruppe og (R,, 1) er en monoide og hvis er såvel venstre som højredistributiv mht +.

Læs mere

Algoritmer og invarianter

Algoritmer og invarianter Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.

Læs mere

Kvadratrodsberegning ved hjælp af de fire regningsarter

Kvadratrodsberegning ved hjælp af de fire regningsarter Kvadratrodsberegning ved hjælp af de fire regningsarter Tidligt i historien opstod et behov for at beregne kvadratrødder med stor nøjagtighed. Kvadratrødder optræder i forbindelse med retvinklede trekanter,

Læs mere

Konkrete algebraiske strukturer 4-6. Madsen, Anders J. Hede. Publication date: Document Version Også kaldet Forlagets PDF

Konkrete algebraiske strukturer 4-6. Madsen, Anders J. Hede. Publication date: Document Version Også kaldet Forlagets PDF Konkrete algebraiske strukturer 4-6 Madsen, Anders J. Hede Publication date: 2006 Document Version Også kaldet Forlagets PDF Citation for published version (APA): Madsen, A. J. H. (2006). Konkrete algebraiske

Læs mere

Diskrete Matematiske Metoder. Jesper Lützen

Diskrete Matematiske Metoder. Jesper Lützen Diskrete Matematiske Metoder Jesper Lützen Juni 2013 ii Indhold Introduktion. ix 0.1 Den aksiomatisk-deduktive metode................. ix 0.2 Diskret matematik; hvad er det?.................. x 1 Tal,

Læs mere

Martin Geisler Mersenne primtal. Marin Mersenne

Martin Geisler Mersenne primtal. Marin Mersenne Martin Geisler Mersenne primtal Marin Mersenne 3. årsopgave Aalborghus Gymnasium 22. 29. januar 2001 Forord Denne opgave skal handle om Mersenne primtal, men kommer også ind på meget andet. Da de forskellige

Læs mere

Programmering i C Videre med C (2 af 4) 19. marts 2007

Programmering i C Videre med C (2 af 4) 19. marts 2007 Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Denne note er skrevet med udgangspunkt i [, p 24-243, 249 Et videre studium kan eksempelvis tage udgangspunkt i [2 Eventuelle kommentarer kan sendes til olav@mathaaudk

Læs mere

Polynomium Et polynomium. Nulpolynomiet Nulpolynomiet er funktionen der er konstant nul, dvs. P(x) = 0, og dets grad sættes per definition til.

Polynomium Et polynomium. Nulpolynomiet Nulpolynomiet er funktionen der er konstant nul, dvs. P(x) = 0, og dets grad sættes per definition til. Polynomier Polynomier Polynomium Et polynomium P(x) = a n x n + a n x n +... + a x + a 0 Disse noter giver en introduktion til polynomier, centrale sætninger om polynomiumsdivision, rødder og koefficienter

Læs mere

Paradokser og Opgaver

Paradokser og Opgaver Paradokser og Opgaver Mogens Esrom Larsen Vi modtager meget gerne læserbesvarelser af opgaverne, samt forslag til nye opgaver enten per mail (gamma@nbi.dk) eller per almindelig post (se adresse på bagsiden).

Læs mere

og til summer af stambrøker. Bemærk: De enkelte brøker kan opskrives på flere måder som summer af stambrøker.

og til summer af stambrøker. Bemærk: De enkelte brøker kan opskrives på flere måder som summer af stambrøker. Hvad er en brøk? Når vi taler om brøker i dette projekt, mener vi tal på formen a, hvor a og b er hele tal (og b b 0 ), fx 2,, 3 og 3 7 13 1. Øvelse 1 Hvordan vil du forklare, hvad 7 er? Brøker har været

Læs mere

Paradokser og Opgaver

Paradokser og Opgaver Paradokser og Opgaver Mogens Esrom Larsen (MEL) Vi modtager meget gerne læserbesvarelser af opgaverne, samt forslag til nye opgaver enten per mail (gamma@nbi.dk) eller per almindelig post (se adresse på

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Algebra2 Obligatorisk opgave

Algebra2 Obligatorisk opgave Algebra2 Obligatorisk opgave Anders Bongo Bjerg Pedersen, 070183 Eksamensnummer 45 23. maj 2005 Opgave 1 Vi har: σ = σ 6 5 = (σ 3 ) 2 (σ 5 ) 1 = (1 3 5 2 4)(8 7 6). b) Ordnen af en p-cykel er (jfr. 2.18)

Læs mere

Algebra - Teori og problemløsning

Algebra - Teori og problemløsning Algebra - Teori og problemløsning, januar 05, Kirsten Rosenkilde. Algebra - Teori og problemløsning Kapitel -3 giver en grundlæggende introduktion til at omskrive udtryk, faktorisere og løse ligningssystemer.

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 5 28. september 2009 Indhold Programmer Variable Datatyper Kontrol strukturer Udtryk Assignments Operatorer I/O Eksempel Processen A 2 / 81 1 Introduktion og Kontrolstrukturer

Læs mere