Opgavesamling til NP:
Netværk og Protokoller

Niels Christian Juul
Datalogi / RUC
Version af 20. september 2001

Indhold

1. Datakommunikation og netværk 1.1 Dynamisk rutning
1.2 Surfing med Netscape
1.3 Opkobling til Linux maskine
1.4 Flytning af filer
1.5 Ping
1.6 Traceroute og Ping i praksis
1.7 ARP, Netstat og Tcpdump i praksis
1.8 Konfiguration af Domain Name Service
1.9 Konfiguration af Linux som Router
1.10 Brug af telnet og listen til protokolanalyse af HTTP
1.11 Netværksstyring med SNMP
1.12 Planlægning og konfigurering af virksomhedens e-post
1.13 Sikkerhedsovervejelser for virksomhedens e-post
1.14 Installation og konfiguration af Apache webserver
1.15 Installation og konfiguration af SAMBA - LAN Manager server
1.16 Telnet til port 25 på mail-serveren
2. Kryptologi 2.1 Check spørgsmål
2.2 RSA
2.3 PGP

2.4 Kodebrydning

1. Datakommunikation og netværk

1.1 Dynamisk rutning

I et netværk med 6 knuder: A, B, C, D, E og F er knuderne forbundne således:

Hvor vejlængden (omkostningen ved at bruge en forbindelse) er angivet på vejen mellem to knuder.

  1. Opret de seks rutningstabeller og indsæt de initielle værdier.
  2. Opdater tabellerne med værdier modtaget fra naboknuderne indtil en optimal situation er opnået.
Nu fjernes forbindelsen mellem C og F, dvs, den sættes til ¥ (uendelig) i rutningstabellen for C og F.
  1. Vis hvordan tabellerne opdateres ved hjælp af naboværdier indtil en ny stabil tilstand opnås.

1.2 Surfing med Netscape

Start PC'en og derefter Windows eller Linux og Netscape. Undervejs i det følgende nedskrives adressen på de besøgte sider (URL):
  1. Gå til URL: http://www.inf.cbs.dk/ og kig dig omkring.
  2. Gå til URL: http://info.denet.dk/dk-infoservers.html Klik dig omkring nogle af de danske servere og se hvad de serverer.
  3. Snus rundt ad følgende spor herfra: Copenhagen Business School - Erhvervsøkonomiske fakultet - INF - Instituttets egen hjemmeside - listen over medarbejdere - ......
  4. Find INFO-2000 rapporten og regeringens IT-handlingsplan fra forskningsministeriet via www.fsk.dk
  5. Via TeleDanmark (www.teledanmark.dk) er der også adgang til den store opslagsbog over danske e-mail adresser: http://www.katalog.tele.dk/ Prøv at slå nogle af lærerne fra Handelshøjskolen op i kataloget. Hvem vedligeholder denne opslagsservice?
  6. Prøv f.eks. JuBii oversigten over danske WWW servere og find noget om et emne, som interesserer dig (www.jubii.dk). Fortæl hvordan du fandt det?

1.3 Opkobling til Linux maskine

Find ud af hvordan du kobler dig op til en Linux maskine og beskriv de besværgelser der skal til indtil du når det punkt hvor du har adgang til at afvikle programmer på maskinen.

Tips: Fra en PC kan man anvende programmet telnet til at koble op til andre maskiner som der er fysisk forbindelse til gennem PC'ens netkort og det netværk den er tilsluttet.

1.4 Flytning af filer

Brug enten Netscape eller programmet FTP under Windows eller Linux til at flytte en fil fra PC'en til en Linux maskine.
  1. Hvad er forskellen på de to programmers virkemåde m.h.t. flytning af filer?
  2. Kan du også flytte filer den anden vej?

1.5 Ping

Ping protokollen bruges til at sende en pakke over et netværk til en bestemt modtager, som straks returnerer pakken til afsenderen. Ping bruges til fejlfinding på netværk med mange hop og til at måle hvor hurtigt en lille besked kan sendes fra en maskine til en anden.
  1. Bruger ping en løs eller fast forbindelse?
  2. Sendes ping-pakker over en pålidelig eller en upålidelig kanal?
  3. Hvor mange gange skal en ping-pakke passerer gennem (hvilke?) lag i Internets lagmodel?
  4. Hvis en ping-pakke kommer tilbage til afsenderen efter 6 ms, hvor lang tid tager det så at sende en tilsvarende data-pakke til den anden modtager, når der ikke ventes på "acknowledgement"?
  5. Hvorfor måler man ikke bare tiden det tager at sende en pakke fra en maskine til en anden?

1.6 Traceroute og Ping i praksis

Prøv ping og traceroute fra en PC til: Hvad kan du udlede af svartiderne for ping og meddelelserne om alle hop i traceroute?

Tips: Under windows findes programmet Ping, som kan lave ping og programmet tracert, som kan lave traceroute.

Et tilsvarende program Ws-Ping findes også tilgængeligt som shareware/freeware på Internet. Find John Junod’s program i TUCOWS arkivet og installer dette. TUCOWS arkivet kan findes via JuBii hos f.eks. CyberCity eller Aaborg Universitet Center.

Under Linux findes også ping og traceroute.

1.7 ARP, Netstat og Tcpdump i praksis

Programmerne arp og netstat findes som kommando under såvel en DOS-shell (Win95), som under linux (root shell er nogen gange nødvendig). Linux har også kommandoen tcpdump.
Hunt, kapitel 11 giver en del forklaringer til disse kommandoer.
Prøv disse kommandoer og ned/ud-skriv resultatet. Der føres logbog (dagbog) over eksperimenterne.
  1. Hvilke informationer er det muligt at få v.h. af ARP?
  2. NETSTAT kan give mange varianter af informationer, overvej hvad disse informationer kan bruges til f.eks. i forbindelse med indkøring af socket/winSock-programmer som tilsyneladende ikke virker.
  3. TCPDUMP giver en voldsom mængde data. Forklar de enkelte linier i uddata. Hvorfor begrænses brugen af dette program oftest til priviligerede brugere (root f.eks.) ?
  4. For alle kommandoerne beskrives hvilken relation de forskellige værdier (numre) har til OSI-modellens syv lag?

1.8 Konfiguration af Domain Name Service

Denne opgave handler om at få en DNS-server (Domain Name Service) for lokalnettet til at fungere på en linux maskine og få såvel linux maskinen, som andre maskiner i netværket til at anvende denne server.
Der skal installeres og konfigureres en DNS-server (named - se Hunt kapitel 8) under Linux og denne skal benyttes fra såvel maskinen selv som fra en Windows arbejdsstation i samme net.
Der skal føres dagbog (logbog) over installation og konfigurering. Konfigureringsfiler udskrives og medbringes til øvelserne.
  1. Installer og konfigurer samt test en cachende DNS server.
  2. Installer og konfigurer samt test en DNS server for et lille privat netværk.
    1. Prøv her at definere dit eget netværk (private netværksadresser for klasse C netværk kan anvendes, bare de ikke er i konflikt med andre tilsvarende på samme fysiske netværk, se Hunt side 83ff). Lad de maskiner du kører med (såvel Linux som Windows) have disse private IP-numre samtidig med at de også har de eksisterende numre.
    2. Giv maskinerne domain-navne under dit eget domain og knyt de alternative IP-numre hertil. Lad din DNS-server være primær navne server for dette domain.
    3. Virker din nye navne service, hvis du omkonfigurerer Windows maskinen til at bruge din name-server?
Husk at fjerne brugen af den alternative name server og de alternative IP-adresser igen fra maskinerne.

Tips.  Da det kan være et problem at rette i netværksopsætningen under windows fordi nogle systemadministratorer fjerner dele af kontrolpanelet henvises her til en lille utility, netswitcher, som kan bruges til at omkonfigurere netværksdelen under win9x. Hent programmet hos: www.netswitcher.com
Vigtigt. Husk at gemme den eksisterende opsætning inden I foretager ændringer. NetSwitcher tilbyder den mulighed. Det gør det meget nemmere at reetablere systemet igen.

1.9 Konfiguration af Linux som Router

Denne opgave går ud på at få linux maskinen til at fungere som router mellem to netværk. I praksis ville man selvfølgelig indsætte flere netværkskort (NIC) i maskinen og lade hvert NIC håndtere sit netværk. I vores tilfælde lader vi vores linux maskine være router mellem to private netværk, som tilfældigvis sidder på det samme fysiske Ethernet, men som ikke kan "se" hinanden på IP-niveau. Hunt beskriver i første del af kapitel 7 hvordan netværksdelen i Unix kan opsættes med statisk rutning mellem netværk. I RedHat 5.2 findes der yderligere grafiske værktøjer til at lave denne opsætning udover kommandoerne beskrevet i Hunt.
  1. Tag udgangspunkt i det ekstra private netværk I definerede i opgave 1.8 og lav yderligere et ekstra privat netværk, så I har to private netværk, med en windows maskine på hvert net. De to windows maskiner kan så ikke længere se hinanden (ping IP-no) via deres private netværk.
    1. Definer begge private netværk på jeres linux maskine og opsæt statisk rutning på denne mellem de to netværk.
    2. Test af jeres to windows maskiner nu kan se hinanden.
  2. Hvis jeres linux maskine også definere rutning mellem de private netværk og højskolens internet, så burde jeres windows maskiner kunne komme up på internettet.
    1. Virket det (prøv med ping til eksterne IP-no) ?
    2. Hvorfor / hvorfor ikke ?
Husk igen at reetablere windows maskinerne med de oprindelige netværksadresser. Bemærk at ovenstående opgave forudsætter at de eksisterende lovlige standard adresser fjernes helt fra windows maskinerne under forsøget.

1.10 Brug af telnet og listen til protokolanalyse af HTTP

Denne opgave går ud på at analysere en protokol (HTTP i dette tilfælde) ved successivt at udskifte server og client med pseudo-programmer og efterligne de enkelte trin i protokol dialogen manuelt. Det går godt når protokol dialogen i virkeligheden foregår læsbart, dvs. som klar tekst/kommandoer.
Til analysen anvender vi skiftevis den rigtige server og klient, dvs. en web-server og en web-browser, og et sæt snydeprogrammer som klient og server. Vi benytter telnet (standard program under både windows og unix) som klientprogram og programmet listen (programkode vedlagt i C til afvikling under Unix), som pseudo server.

Før du går videre med opgaven skal programmet listen.c bringes til at køre (som C program oversat med gcc under f.eks. Linux eller omskrives i Java og oversættes med javac). Dette er den implementationstunge del af opgaven. Selvom den ikke lykkes for dig, kan du godt gå i gang med trin 2 nedenfor.

Når vi skal analysere hvad der egentlig sker i f.eks. HTTP når vi browser på WWW kan vi gøre følgende:

  1. Trin 1. Et http-request
    1. Start listen-serveren på maskine med IP nummer x.x.x.x og lad den lytte på port yyy (listen programmer fortæller også selv hvilken port det lytter på).
    2. Start din favorit web-browser på en anden maskine og indtast en URL, der peger på listen serveren, f.eks.

    3. http://x.x.x.x:yyy/etfilnavnellerhvadsomhelst.html
    4. Listen-serveren har nu udskrevet den forespørgsel som din browser sender til web-serveren.

    5. Det svar kan vi bruge i næste trin hvor vi skal lave en pseudo-forespørgsel til en rigtigt server.
  2. Trin 2. Et http-response
    1. Udvælg en rigtig web-server og beslut dig for en normal URL
    2. Start telnet programmet ved at lade det forbinde sig til maskinen med web-serveren på port 80 (http-porten i henhold til standarden, port-protokol std. kan ses i filen /etc/services). Slå lokalt ekko til i telnet programmet, det letter arbejdet. Husk også at telnet sender dine tastetryk afsted med det samme, så du kan ikke rette i linien men skal skrive rigtigt med det samme.
    3. Når telnet har forbindet sig til serveren (det er en TCP forbindelse), kan vi skrive den tekst i telnet-vinduet, som skal sendes til serveren. Teksten indeholder typisk en GET-kommando med et filnavn efter.
    4. Når kommandoen er sendt afsted (husk "return") sender web-serveren et svar tilbage. Med lidt held kan det hele stå på skærmen, ellers kan telnet også sættes til at gemme ("log") al tekst fra vinduet i en fil.
    5. Vi har nu et standard web-server svar
  3. Trin 3. udfordringen!!!
    1. Hvis man vil påbegynde en simpel web-server programmering, kan man udbygge listen-serveren til at genkende GET-kommandoen og (udover det den i forvejen gør) til at sende en tekst retur, svarende til det vi lærte i forrige trin.
    2. Prøv nu at forbinde dig til denne server med såvel telnet som din web-browser.
Analyseopgaven illustrerer hvordan man kan skaffe sig viden om mange af internettets protokoller og dermed skrive sine egne programmer til disse. Samtidig er metoden god til afprøvning af den type programmer.

Husk at udskrive resultatet af de enkelte trin i forsøget incl udskrift af uddata fra begge sider.

1.11 Netværksstyring med SNMP

SNMP er behandlet i Hunt, kapitel 11, side 356ff og i Stamper, kapitel 18, side 512ff.
  1. Lav en tegning over et simpelt men typisk "ledelses informations træ" (LIT).

  2. Træet skal illustrere et Universitets eller Handelshøjskolens netværk.
    Man skal minimum forudsætte 4 - 5 LAN forbundet ved routere.
  3. Nævn de 5 brugertjenester (services)  dvs. primitiverne associeret med SNMP-protokollen og forklar deres anvendelse i forhold til LIT.
  4. Definer PDU-navne svarende til hver tjenestes primitiv.

1.12 Planlægning og konfigurering af virksomhedens e-post

En større virksomhed fordelt på flere geografiske lokationer (i samme tidszone) forbundet med et bro-koblet internet (intelligent bridge mellem net-segmenterne), ønsker at etablere e-post til samtlige medarbejdere (godt 1000 voksende til 2000 i løbet af kort tid). Alle medarbejdere skal med tiden have adgang til forskellige intranet services, så en løsning baseret på et centralt brugerregister (LDAP server) er at foretrække. Virksomheden har et stort kommunkationsbehov (initielt afsender eller modtager hver medarbejder 20 beskeder/døgn i gennemsnit) både internt og i forhold til eksterne samarbejdspartnere. En stor del af beskederne forventes at formidle indlejrede dokumenter mellem afsender og modtager. Kommunikationen med e-post forventes at udgøre rygraden i virksomhedens work-flow system, hvorfor det er kritisk at beskeder ikke tabes eller forsinkes idet arbejdsopgaver herved risikerer at gå tabt. Så vidt muligt skal al virksomhedens interne post kunne afvikles med kvittering til afsenderen, når modtageren har "læst" beskeden.
Den tekniske platform for medarbejdernes maskiner er meget varieret (store og små arbejdsstationer, PC, Mac, Windows9x, NT, Unix, MacOS osv), men alle platforme understøtter TCP/IP og der findes allerede en række forskellige e-mail klient programmer, som f.eks. Pine, Eudora, Netscape, Outlook, Pegasus installeret.
  1. Planlæg server siden af virksomhedens e-post. Dvs. postkontor for intern post, samt postkontor for post ud og ind af virksomheden. Hvilke protokoller skal understøttes på server(en/ne) og hvorfor? Hvilke programmer kan bruges hertil? Hvilke maskiner og styresystemer?
  2. Beregn omkostningerne ved etablering af et sådan system målt i KKr og/eller persontimer.
  3. Overvej og beskriv hvilke arbejdsopgaver der er ved driften af et sådan system og estimer omkostningerne.

1.13 Sikkerhedsovervejelser for virksomhedens e-post

Virksomheden fra opgave 1.12 og dennes e-post løsning udsættes nu for diverse angreb over Internettet. En gruppe der kalder sig ORBS (se: http://www.orbs.org ) har besluttet at sortliste virksomheden fordi en e-post server i virksomheden har været anvendt som SPAM-relæ. Det har resulteret i at virksomhedens eksterne kommunikation via e-post i en lang række situationer går galt idet såvel den udgående som den indgående e-post forsvinder uden at modtageren bliver klar over det. Overvej hvordan virksomheden kan sætte et antal indbrydes forbundne e-post servere op således at virksomheden kan blive taget af ORBS liste og således at virksomheden heller ikke selv bliver angrebet af disse SPAM-beskeder. Det er dog stadig et krav at virksomhedens medarbejdere kan abonnere på eksterne post-lister og at virksomheden selv kan stå for driften af andre post-lister, hvor der er både interne og eksterne abonnenter.
  1. Tegn et diagram med din løsning og angiv forbindelser og protokoller mellem serverne, Internettet og Intranettet.
  2. Beskriv de sikkerhedsmæssige tiltag og hvilken konfiguration af særlige programmer, som er nødvendige

1.14 Installation og konfiguration af Apache webserver

Forberedelser inden workshoppen:
  1. RedHat kommer med en Apache webserver installeret.
  2. Find installationsvejledningen og konfigurationsfilerne. Se også diverse forklaringer i HOWTO katalogerne. Hvor ligger log-filerne?
  3. Der findes et grafisk editeringsprogram til vedligeholdelse af Apache's konfiguration, ellers bruges alm. teksteditering af konfigurationsfilerne. Forbered hvad du vil bruge.
  4. Check er Apache kører og virker ved at kalde web-serveren på din installation med en browser (enten på samme maskine eller fra en anden maskine i lokalet).
  5. Check Apache's hjemmeside, om der findes yderligere nyttige tips.
  6. Hvis Apache ikke er startet eller evt slet ikke er installeret, så gøres disse trin i henhold til vejledningerne.
  7. Du får brug for nogle HTML-sider, som du kan lægge op på serveren. Medbring disse hjemmefra. F.eks. en gruppe side og en side per gruppemedlem.
Workshop opgaver:
  1. Hvor ligger hovedsiden på serverens filsystem, når man blot angiver maskinnavnet som sin URL?

  2. Kan det ændres? Hvordan?
  3. Hvor ligger brugernes sider? Kan det ændres?
  4. Indlæg gruppens fælles hjemmeside som serverens hovedside
  5. Indlæg de personlige hjemmesider under de enkelte gruppemedlemmers individuelle kataloger. Hver Linux bruger skal som standard have et web-katalog i sit hjemmekatalog. Den personlige hjemmeside skal ligge som filen index.html i web-kataloget.
  6. Apache muliggør hjemmesider på flere sprog, hvor serveren afhængigt af browserens præferencer for sprog, vælger den sprogvariant af en URL, som passer bedst. Prøv det for dansk og engelsk på en af siderne (i to sprog varianter selvfølgelig).
  7. Hvordan begrænses adgangen til de sider en enkelt bruger har liggende, således at de kun kan tilgås fra web-browsere indenfor HHK's net, eller andet sub-net. Prøv det.
  8. En webserver har brug for at sende fil-typen med i HTTP headeren til browseren. Hertil bruger web-serveren en tabel over MIME type/subtype og fil-efternavne (.suffix). Check at f.eks. en powerpoint fil får den rette type sendt med over til browseren når den loades fra serveren og find det sted hvor dette skal gøres.

1.15 Installation og konfiguration af SAMBA - LAN Manager server

Forberedelser inden workshoppen:
  1. RedHat kommer med en Sambaserver installeret.
  2. Find installationsvejledningen og konfigurationsfilerne. Der er f.x. udemærkede manual sider til smb.conf. Se også diverse forklaringer i HOWTO katalogerne. Hvor ligger log-filerne?
  3. Check Samba's hjemmeside, om der findes yderligere nyttige tips.
  4. Installer Samba fra RedHat CDen eller den nyeste version fra hjemmesiden.
  5. Check er Samba kører (komandoen 'ps' med passende options lister alle kørende processer, smbd og nmbd skal køre) og virker (find serveren og det den "share" i stifinder/explore på en anden maskine i lokalet, default workgroup navn er workgroup).
  6. På hjemmesiden findes forskellige grafisk editeringsprogram til konfigurering af Samba fra en Windows PC eller web-browser. Installer dette og læs vejledning hertil i forvejen, eller brug alm. teksteditering af konfigurationsfilerne.
Workshop opgaver:
  1. Lav din egen workgroup (definer jeres eget gruppenavn) og lav en pæn præsentations tekst for din server. Genstart sambaserveren og check fra en Win95 PC.
  2. Opret et tomt filkatalog på serveren, som gøres tilgængeligt for alle der logger på serveren via samba fra en PC.
  3. Sørg for at hver bruger på Linux maskinen kan få adgang til netop sit katalog under Linux fra en Windows maskine. Og at andre ikke kan. Det skal være både læsning og skrivning.
  4. Lav et område på serveren, som uddeles til en gruppe af brugere (husk at oprette gruppen under Linux), og check at gruppens medlemmer kan anvende dette og at andre ikke kan.
  5. FAT-filsystemet på linux maskinen kan gøres tilgængeligt under Linux ved at sikre at det er beskrevet i /etc/fstab (der findes grafiske programmer, som kan vedligeholde denne fil, ellers gør det med en teksteditor). Sørg for at Win95 partitionen er tilgængelig men kun som læsning, bortset fra en udvalgt bruger under Linux, som også har skriverettigheder.
  6. Forlæng ovenstående rettigheder af FAT-filsystemet på Linux maskinen til brugerne på Windows PCerne.
  7. Hvordan sikres fornuftig håndtering af filnavne (små/store bogstaver, blanktegn i linux-filnavne, Dos8.3 begrænsninger etc) på tværs af disse platforme?
  8. Kan man begrænse adgangen til sambaserveren til bestemte subnets?
  9. Hvordan kan man dele printere?
  10. Som supplement til begrebet workgroup i LAN-Manager findes begrebet domain (mest kendt fra NT). Ret sambaserveren så windows PC'ere kan logge på domainet. Check derefter, at det virker.
  11. (tricky) I Windows98 anvendes krypterede password ved login på smb-shares i stedet for at sende password ukrypteret over nettet. Sambaserveren kan sættes til at håndtere dette fornuftigt, find ud af hvordan og prøv. Der findes nogle filer der beskriver dette i installationen. Win95 kan også sættes til at bruge krypteret logon ved at ændre en enkelt oplysnining i registery, ligesom win98 kan slå det fra samme sted. Diskuter fordele og ulemper ved de to metoder.
  12. Kig i log-filerne og medbring "hardcopy" af disse til næste øvelsesgang for nærmere analyse.

1.16 Telnet til port 25 på mail-serveren

I denne opgave vil vi se hvordan det er muligt at simulere en postagent, og aflevere et elektronisk brev til en SMTP-server. Herved får vi adgang til at studere SMTP-serverens brug af SMTP-protokollen. Sådan kan man gøre i forhold til mange andre TCP/IP baserede servere, ihvertfald når deres kommando syntaks er normal ASCII tekst.

  1. Opgaven går i korthed ud på at starte en telnet-session til SMTP-serveren på en af IT-højskolens mail-server maskiner (port 25, maskine mail.it-c.dk) og aflevere et brev til brugeren ncjuul på denne.
  2. Tillægsspørgsmål Brug samme telnet-session til først at checke om brugeren, der skal modtage beskeden, findes og/eller om brugeren får videredirigeret sin post.
  3. Udvidet opgave:
    Find portnummeret på POP3 serveren, og forsøg tilsvarende at læse din elektroniske post fra serveren ved hjælp af en telnet-session.

Hjælp:


220 mufasa.ncjuul.dk ESMTP Sendmail 8.8.5/8.8.5; Sun, 25 Jan 1998 19:42:07 +0100
helo nordpolen 
250 mufasa.ncjuul.dk Hello zazu [192.38.109.165], pleased to meet you 
mail from: 
250  ... Sender ok 
rcpt to: 
500 Command unrecognized 
rcpt to:
250  ... Recipient ok 
data 
354 Enter mail, end with "." on a line by itself 
Her skriver du dit brev til modtageren.
Du kan skrive så mange linier du vil. 
Til sidst sluttes med en linie hvor der kun står et punktum ".".
.
250 TAA18335 Message accepted for delivery 
quit 
221 mufasa.ncjuul.dk closing connection 

Hvis du forbinder dig til en SMTP-server ved hjælp af telnet til serverens port 25 kan du få det aktuelle SMTP-serverprogram til at fortælle om sine kommandoer ved at taste HELP

2. Kryptologi

2.1 Check spørgsmål

2.2 RSA

RSA - algoritmen.
Metoden er opfundet af Rivest, Shamir & Adleman. Metoden er baseret på principper fra talteorien.

Med disse parametre kan vi kryptere.
Del "plainteksten" (opfattet som bitstrenge) i blokke, således at hver plaintekst besked, P, kan indeholdes i intervallet 0 < P < n. Dette kan gøres ved at gruppere plainteksten i blokke af længden k bits, hvor k er det største heltal for hviklet 2k < n er sandt.
For at kryptere budskabet, P , udregn C = Pe (mod n). For dekryptere C, udregn P = Cd (mod n). Det kan bevises at for alle P inden for det specificerede interval, er krypterings- og dekrypteringsfunktionen hinandens omvendte. For at kryptere, behøver man e og n. Til at udføre dekrypteringen, skal man bruge d og n. Derfor består den offentlige nøgle af parret (e, n) og den private nøgle består af (d, n).

Nedenstående eksempel skulle belyse metoden. Her anvendes små primtal: p = 3 og q = 11, hvilke valg giver n = 33 og z = 20. En passende værdi for d er d = 7, eftersom 7 og 20 ikke har nogen fælles divisor. Med disse valg kan e findes ved at løse ligningen 7e = 1 (mod 20), hvilket giver e = 3. Cifferteksten C svarende til plainteksten P er givet ved C = P3 (mod 33). Cifferteksten dekrypteres af modtager svarende til reglen P = C7 (mod 33).

Antag at BOB vil sende bogstavet S til Alice, som svarer til den numeriske værdi 19.

Opgave: Anvend RSA-metoden. Lad bogstavernes værdi svare til (a= 1, b=2, osv.)

Hvilke RSA chanlenges er løst og hvilke står for tur til at blive brudt?

2.3 PGP

Hvordan virker PGP ?

2.4 Kodebrydning

Bryd nedenstående ciffertekst:

Vink: