Cryptografie

Inleiding
Opmerkingen over Java
Overzicht en beschrijving van de applets
Workshop cTWO Wiskunde D-dag (6 juni 2008)

Inleiding

In het kader van de vernieuwde Tweede Fase (ingangsdatum schooljaar 2007-2008) wordt er een nieuw vak Wiskunde D ontwikkeld. Naast diverse voorgeschreven onderwerpen kent dit vak ruimte voor keuze-onderwerpen. Een daarvan is Cryptografie.

Aangestuurd vanuit de commissie Toekomst Wiskunde Onderwijs (http://www.ctwo.nl) worden er in het schooljaar 2006-2007 diverse experimenten gedaan met onderwijsmateriaal dat is en wordt ontwikkeld. Voor het keuze-onderwerp Cryptografie is een eerste versie van een lespakket gemaakt door Monique Stienstra, werkzaam op het Stedelijk Gymnasium Nijmegen. Dit pakket richt zich voornamelijk op de wiskunde achter allerlei cryptografische systemen.

Bert Wikkerink en Harm Bakker (CSG Liudger, Drachten) zijn bezig om ook meer praktische aspecten van cryptografie aan het pakket toe te voegen. Deze pagina geeft toegang tot een aantal simpele applets die handig kunnen zijn bij de opdrachten uit het lesmateriaal.

We danken de opleiding Wiskunde van de Rijksuniversiteit Groningen voor het beschikbaar stellen van de web-ruimte.

Terug

Opmerkingen over Java

De applets zijn geschreven in Java. Als de applet niet start nadat de link is aangeklikt, dan is op het systeem waarschijnlijk geen of een verouderde versie van Java aanwezig. Als het enkel de bedoeling is de applets via een internetverbinding te draaien, dan is het voldoende een Java Runtime Environment (JRE) te installeren. Deze is gratis op te halen van de java-site van Sun:

http://java.sun.com

Kies bij Downloads voor Java SE en dan voor een recente versie van een JRE. Deze is beschikbaar voor allerlei besturingssystemen (Windows, Linux, Solaris, ...). Kies de juiste versie en volg de installatie-instructies op. Het is belangrijk dat je tijdens de installatie aangeeft dat deze versie van Java standaard aan je browser wordt gelinkt.

Wil je de applets ook offline kunnen gebruiken, dan zul je over de betreffende class files moeten beschikken. Bij elke applet is een zip-bestand beschikbaar met de broncode-bestanden en de class files. Als je, nadat je de link van de applet hebt aangeklikt, de extensie 'html' vervangt door 'zip', dan krijg je de gelegenheid het zip-bestand met alle java- en class-files bij die applet naar je eigen machine te kopieeren.
Het is verstandig voor elke applet een eigen directory/map te maken, daar het zip-bestand in te plaatsen en vervolgens in die map het zip-bestand uit te pakken, bijvoorbeeld met WinZip. Heb je WinZip nog niet, dan kun je dat ook gratis downloaden. Met een zoekmachine zoeken op 'winzip' levert diverse sites waarvandaan je het op kunt halen.
Is alles uitgepakt, dan kan het html-bestand worden bekeken met je browser. Onder windows is dat een kwestie van aanklikken. Je browser start dan de applet.

Nog makkelijker: kies het zip-bestand met alle applets. Dit bestand bevat ingepakt alle directories/mappen met de class-files en bronbestanden van de applets. Dit bestand wordt niet bij elke herziening gewijzigd!!

Naast de class files bevat het zip-bestand ook de broncode-bestanden. Dit zijn de bestanden die als extensie 'java' hebben.
De applets zijn met opzet heel primitief opgebouwd. Dat geeft je de mogelijkheid om zelf met de programmacode te experimenteren. Als je dat wilt doen, dan zul de gewijzigde broncode opnieuw moeten kunnen compileren. Je hebt dan niet genoeg aan een JRE; je zult dan een JDK (Java Development Kit) moeten downloaden en installeren. Die vind je ook op de java-site van Sun.
Het opzetten van een goede werkomgeving is even wat gepruts en de manier waarop je dat klaar krijgt is systeem-afhankelijk. Zie Java onder Windows XP of Java onder Linux voor enkele hints.

Terug

Overzicht van de beschikbare applets

Frequentie-analyse
Voer een tekst in en krijg een overzicht met bij elk symbool het aantal voorkomens.
FreqAnalyse

Codetabel
Voer een tekst in en een vertaaltabel en krijg de vertaalde tekst.
Codetabel

TekstNaarAscii
Voer een tekst in en laat het programma de bijbehorende ASCII-codering genereren.
TekstNaarAscii

AsciiNaarTekst
Voer de ASCII-code van een tekst in en laat het programma de bijbehorende tekst genereren.
AsciiNaarTekst

Opteller
Voer drie gehele getallen a, b en m in (van pseudo-willekeurige lengte) en het programma berekent (a + b) en (a + b) mod m.
Opteller

Vermenigvuldiger
Voer drie gehele getallen a, b en m in (van pseudo-willekeurige lengte) en het programma berekent (a * b) en (a * b) mod m.
Vermenigvuldiger

Machtsverheffer
Voer drie gehele getallen a, b en m in (van pseudo-willekeurige lengte) en het programma berekent (a ^ b) en (a ^ b) mod m.
De waarde van (a ^ b) wordt alleen berekend als het resultaat niet meer dan 1000 cijfers heeft.
Machtsverheffer

PriemGenerator
Voer een getal x in en het programma levert het kleinste priemgetal dat groter is dan x.
Er is geen absolute zekerheid dat het gegenereerde getal een priemgetal is, maar de zekerheid is minstens (1 - 2^(-100)).
PriemGenerator

Euclides
Voer twee positieve getallen M en N in en laat het programma een oplossing (a,b) van de vergelijking a*M + b*N = ggd (M,N) berekenen.
Euclides

Terug


Commentaar en reacties naar
Harm Bakker