Modulaire-rekenmachine

Bereken a mod n, modulaire optelling, vermenigvuldiging en macht (aᵇ mod n) — klokrekenen in een oogwenk.

1.224 weergaven

Hoe modulair rekenen werkt

a mod n stelt één simpele vraag: welke rest blijft er over als a wordt gedeeld door n? Formeel geldt a mod n = a − n × floor(a ÷ n), en volgens wiskundige conventie ligt de uitkomst altijd tussen 0 en n−1. De meest intuïtieve manier om dit voor te stellen is een wijzerplaat: uren tellen niet eindeloos door, ze slaan om bij 12 (of 24). Stel dat het 15:00 uur is en u wilt weten hoe laat het 10 uur later is — u krijgt geen "25:00", maar berekent (15 + 10) mod 24 = 1, oftewel 01:00 uur de volgende dag. Elke waarde doorloopt steeds dezelfde reeks "plekken", en dat omslaan is precies wat n doet in a mod n.

Deze rekenmachine breidt hetzelfde idee uit naar drie verwante bewerkingen: modulaire optelling (a + b) mod n, modulaire vermenigvuldiging (a × b) mod n, en modulaire machtsverheffing aᵇ mod n. Die laatste lijkt onschuldig, maar is de belangrijkste bewerking in de moderne cryptografie. Naïef berekenen — eerst a tot de macht b verheffen en dan pas de rest nemen — zou bij reële sleutelgroottes getallen van miljoenen cijfers opleveren, lang voordat de modulostap ooit wordt uitgevoerd. In plaats daarvan gebruikt de tool het kwadrateer-en-vermenigvuldig-algoritme: het kwadrateert de basis herhaaldelijk en reduceert bij elke stap modulo n, zodat de tussenresultaten nooit groter worden dan de grootte van n zelf, hoe groot b ook is. Dat maakt exacte resultaten mogelijk, zelfs bij exponenten van honderden cijfers lang.

Wat u moet weten

  • Cryptografie: RSA en Diffie-Hellman-sleuteluitwisseling draaien beide op modulaire machtsverheffing met zeer grote priemgetallen — een bericht versleutelen komt in de kern neer op het berekenen van aᵇ mod n, waarbij a, b en n elk honderden cijfers lang zijn.
  • Hashfuncties: de meeste hashschema's reduceren een invoer van willekeurige grootte tot een "bucket" van vaste grootte met een modulobewerking, en dat is precies waarom mod overal opduikt in hashtabellen, controlesommen en load-balancing-logica.
  • Kalenders en klokken: weekdagberekeningen, 12/24-uursconversies en kalendercycli zijn stuk voor stuk verkapt modulair rekenen — de bijnaam "klokrekenen" komt hier rechtstreeks vandaan.
  • Tekenconventies verschillen: de wiskunde definieert a mod n altijd als niet-negatief, maar veel programmeertalen (C, JavaScript, Java) geven in plaats daarvan een rest met hetzelfde teken als a terug, wat directe vertalingen van formules naar code kan laten struikelen.

Veelgestelde vragen

Wat is −7 mod 3?

Deze tool volgt de wiskundige conventie waarbij het resultaat altijd niet-negatief is: −7 mod 3 = 2 (want −7 = −3×3 + 2). Sommige programmeertalen geven in plaats daarvan −1 terug, omdat ze de rest definiëren met hetzelfde teken als het deeltal in plaats van altijd positief.

Waar wordt aᵇ mod n in de praktijk gebruikt?

Het is de kernbewerking van RSA en Diffie-Hellman-sleuteluitwisseling: een bericht versleutelen of een gedeeld geheim afspreken komt in essentie neer op het berekenen van een enorme modulaire macht, vaak met getallen van 2048 bit of meer.

Waarom gebruikt het klokvoorbeeld mod 24 en niet mod 12?

Beide werken — een 12-uursklok slaat om bij mod 12, een 24-uursklok bij mod 24. De modulus n is simpelweg de grootte van de cyclus die u interesseert; kies de klokconventie die past bij hoe u de tijd telt.

Is a mod n hetzelfde als gehele deling?

Het zijn twee helften van dezelfde deling. a ÷ n (gehele deling) geeft het quotiënt — hoeveel keer n volledig in a past — terwijl a mod n geeft wat er overblijft. Samen reconstrueert quotiënt × n + rest altijd a.

Waarom is kwadrateer-en-vermenigvuldig sneller dan aᵇ direct berekenen?

Directe machtsverheffing vermenigvuldigt a b−1 keer met zichzelf, en de tussenwaarde explodeert in omvang lang voordat u die modulo n kunt reduceren. Kwadrateer-en-vermenigvuldig reduceert daarentegen na elke kwadrateerstap, zodat de betrokken getallen nooit veel groter worden dan de grootte van n — dat verandert een bewerking die bij cryptografische sleutelgroottes langer zou duren dan de leeftijd van het heelal in een bewerking die in milliseconden klaar is.

Reacties

Nog geen reacties — schrijf de eerste!

Vergelijkbare tools