Getaltheorie & modulair rekenen: oefenopgaven met stapsgewijze oplossingen

Ook wel: modulair rekenen

Gratis oefenopgaven over Getaltheorie & modulair rekenen met schema’s, hints en volledig uitgewerkte oplossingen. Elke keer nieuwe waarden, op drie niveaus: ggd en resten, inversen en congruenties, modulaire machten en RSA.

Gratis oefenopgaveMakkelijk
012345678910mod 11

Bepaal 942 mod 11, de rest r met 0 ≤ r < 11.

a = 942n = 11

Exact antwoord: een geheel getal, zonder afronden.

Wat je oefent

  1. Makkelijkggd en resten
  2. Gemiddeldinversen en congruenties
  3. Moeilijkmodulaire machten en RSA

Zo los je opgaven over Getaltheorie & modulair rekenen op

  1. Reduceer eerst elk getal modulo n; resten liggen tussen 0 en n − 1.
  2. Deel voor een ggd herhaaldelijk met het algoritme van Euclides; de laatste rest ongelijk aan nul is de ggd.
  3. Laat voor een inverse het uitgebreide algoritme lopen en houd de coëfficiënt van a; tel n erbij op als die negatief is.
  4. Los a·x ≡ b op door met a⁻¹ te vermenigvuldigen; combineer twee congruenties door x = r₁ + m₁k te schrijven.
  5. Schrijf bij machten de exponent binair en kwadrateer herhaaldelijk; in RSA is d = e⁻¹ mod φ(n) met φ(n) = (p − 1)(q − 1).

Veelgemaakte fouten

  • Een negatieve rest geven voor een negatief getal.
  • Het algoritme van Euclides stoppen bij de eerste rest.
  • De inverse negatief laten staan in plaats van n erbij op te tellen.
  • De RSA-exponent d modulo n nemen in plaats van modulo φ(n).
  • De exponent modulo p reduceren in plaats van modulo p − 1 bij de stelling van Fermat.

Belangrijke formules

Deling met rest
a = q·n + r, 0 ≤ r < n
Euclides
gcd(a, b) = gcd(b, a mod b)
Kleinste gemene veelvoud
lcm(a, b) = a·b/gcd(a, b)
Inverse
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Lineaire congruentie
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Eulers φ-functie
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Leer Getaltheorie & modulair rekenen vanaf nul

1Resten en congruenties

Delen van a door n geeft een quotiënt q en een rest r: a = q·n + r met 0 ≤ r < n. De rest wordt geschreven als a mod n. Voor een negatief getal is q ook negatief: −3 = −1·7 + 4, dus −3 mod 7 = 4.

Twee getallen zijn congruent modulo n, a ≡ b (mod n), als ze dezelfde rest geven, dat wil zeggen als n een deler is van a − b.

0123456mod 7−3 ≡ 411 ≡ 4

Resten kunnen bij elke stap gereduceerd worden, waardoor de getallen klein blijven:

(a + b) mod n = ((a mod n) + (b mod n)) mod n, en hetzelfde voor a·b

Bijvoorbeeld 47·58 mod 9: 47 ≡ 2 en 58 ≡ 4, dus 47·58 ≡ 8 (mod 9).

Zelftoets Wat is −17 mod 5?
  1. 2
  2. 3
  3. −2
  4. −3

Antwoord: 3. −17 = −4·5 + 3, dus de rest is 3. Het antwoord 2 is 17 mod 5; een rest is nooit negatief.

2Het algoritme van Euclides

De grootste gemene deler ggd(a, b) is het grootste getal dat beide deelt. Het algoritme van Euclides gebruikt ggd(a, b) = ggd(b, a mod b):

  1. Deel: a = q·b + r.
  2. Vervang (a, b) door (b, r).
  3. Herhaal tot de rest 0 is. De laatste rest ongelijk aan nul is de ggd.
252 = 2·105 + 42, 105 = 2·42 + 21, 42 = 2·21 + 0 → gcd = 21

Het kleinste gemene veelvoud volgt hieruit: kgv(a, b) = a·b / ggd(a, b).

Zelftoets Wat is ggd(84, 36)?
  1. 12
  2. 252
  3. 4
  4. 6

Antwoord: 12. 84 = 2·36 + 12 en 36 = 3·12 + 0, dus de ggd is 12. 252 is het kleinste gemene veelvoud, 84·36/12.

3Inversen en het uitgebreide algoritme

De inverse van a modulo n is het getal x met a·x ≡ 1 (mod n). Hij bestaat precies dan als ggd(a, n) = 1.

Het uitgebreide algoritme van Euclides laat Euclides lopen op (n, a) en houdt voor elke rest een coëfficiënt t bij, zodat elke rest r ≡ t·a (mod n). Begin met t = 0 voor n en t = 1 voor a; elke nieuwe t is de t twee rijen hoger min q keer de t één rij hoger. Als de rest 1 verschijnt, is zijn t de inverse.

Met de inverse wordt een congruentie a·x ≡ b (mod n) opgelost door x ≡ a⁻¹·b. Als d = ggd(a, n) groter is dan 1, zijn er d oplossingen als d een deler is van b, en anders geen.

Twee congruenties met onderling ondeelbare moduli, x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂), hebben precies één oplossing modulo m₁·m₂ (de Chinese reststelling). Schrijf x = r₁ + m₁k en los op voor k.

Uitgewerkt voorbeeld

Vind de inverse van 7 modulo 40.

1

Euclides op (40, 7)

40 = 5·7 + 5, 7 = 1·5 + 2, 5 = 2·2 + 1
2

Houd de coëfficiënt t bij

t(40) = 0, t(7) = 1.

t(5) = 0 − 5·1 = −5, t(2) = 1 − 1·(−5) = 6, t(1) = −5 − 2·6 = −17
3

Maak hem positief

1 ≡ −17·7 (mod 40), en −17 + 40 = 23.

4

Controle

7·23 = 161 = 4·40 + 1
Antwoord

De inverse is 7⁻¹ ≡ 23 (mod 40).

4Modulaire machten en RSA

Herhaald kwadrateren berekent aᵏ mod n snel: schrijf k binair, bepaal a, a², a⁴, a⁸, … mod n door te kwadrateren en te reduceren, en vermenigvuldig de machten waarvan de bit 1 is.

De kleine stelling van Fermat: voor een priemgetal p dat a niet deelt, geldt aᵖ⁻¹ ≡ 1 (mod p). De exponent kan dus modulo p − 1 gereduceerd worden.

RSA bouwt een sleutel uit twee priemgetallen p en q:

  1. n = p·q en φ(n) = (p − 1)(q − 1).
  2. Kies e met ggd(e, φ(n)) = 1; (n, e) is de publieke sleutel.
  3. Bereken d = e⁻¹ mod φ(n): de privésleutel.
  4. Versleutel c = mᵉ mod n; ontsleutel m = cᵈ mod n.

Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(p) = p − 1 voor een priemgetal, φ(pᵏ) = pᵏ − pᵏ⁻¹, en φ is multiplicatief voor onderling ondeelbare factoren.

Zelftoets Een RSA-sleutel gebruikt p = 5, q = 11 en e = 3. Wat is d?
  1. 13
  2. 27
  3. 37
  4. 3

Antwoord: 27. φ(n) = 4·10 = 40, en 3·27 = 81 = 2·40 + 1, dus d = 27. De inverse van 3 modulo n = 55 zou 37 zijn, maar d wordt genomen modulo φ(n).

5Veelgemaakte fouten

  • Een negatieve rest geven voor een negatief getal: −17 mod 5 is 3, niet −2.
  • Euclides stoppen bij de eerste rest in plaats van bij de laatste rest ongelijk aan nul.
  • Vergeten n op te tellen bij een negatieve coëfficiënt uit het uitgebreide algoritme.
  • De RSA-exponent d berekenen modulo n in plaats van modulo φ(n).
  • Een exponent modulo p reduceren in plaats van modulo p − 1 bij de stelling van Fermat.

6Hoe tentamenvragen eruitzien

  • Makkelijk: ggd en resten. Je laat het algoritme van Euclides lopen voor een ggd of kgv, vindt resten van negatieve getallen en reduceert sommen en producten modulo n.
  • Gemiddeld: inversen en congruenties. Je vindt modulaire inversen met het uitgebreide algoritme, lost lineaire congruenties op, combineert twee congruenties met de Chinese reststelling en berekent Eulers φ(n).
  • Moeilijk: modulaire machten en RSA. Je gebruikt herhaald kwadrateren en de stelling van Fermat, lost congruenties met meerdere oplossingen op en vindt RSA-privé-exponenten, versleutelde teksten en ontsleutelde berichten.

Leer het stap voor stap in de appLeer het stap voor stap in de app

Uitgewerkte voorbeelden

Voorbeeld 1Makkelijk

Bepaal (914·953) mod 11 zonder de grote getallen uit te vermenigvuldigen: reduceer eerst.

n = 11

Gevraagd: (914·953) mod 11

Hints tonen
  1. (x·y) mod n = ((x mod n)·(y mod n)) mod n, en hetzelfde geldt voor sommen.
  2. 914 mod 11 = 1, 953 mod 11 = 7.
  3. Reduceer het product van de resten modulo 11.
Toon het antwoord en de stapsgewijze oplossing

Deelbaarheid en resten: a mod n is de rest r met 0 ≤ r < n en a = q·n + r, ook als a negatief is. Het algoritme van Euclides vindt ggd(a, b) door a = q·b + r te herhalen en (a, b) te vervangen door (b, r); de laatste rest ongelijk aan nul is de ggd. Dan is kgv(a, b) = a·b/ggd(a, b). Resten kunnen bij elke stap gereduceerd worden: (a + b) mod n en (a·b) mod n hangen alleen af van a mod n en b mod n.

Reduceer elk getal

914 ≡ 1, 953 ≡ 7 (mod 11)

Combineer

1·7 = 7 ≡ 7 (mod 11)

Antwoord

(914·953) mod 11 = 7
Voorbeeld 2Gemiddeld

Bepaal Eulers φ φ(637), het aantal gehele getallen van 1 tot 637 die onderling ondeelbaar zijn met 637.

n = 637 = 72·13

Gevraagd: φ(637)

Hints tonen
  1. Ontbind n in priemfactoren: 637 = 72·13.
  2. φ is multiplicatief voor onderling ondeelbare factoren, en φ(pᵏ) = pᵏ − pᵏ⁻¹.
  3. φ(n) = n·∏(1 − 1/p).
Toon het antwoord en de stapsgewijze oplossing

Inversen en congruenties: a heeft een inverse modulo n precies als ggd(a, n) = 1. Het uitgebreide algoritme van Euclides schrijft 1 = s·n + t·a, en dan is a⁻¹ ≡ t (mod n). Een congruentie a·x ≡ b (mod n) met ggd(a, n) = 1 heeft de oplossing x ≡ a⁻¹·b. Twee congruenties x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂) met onderling ondeelbare moduli hebben één oplossing modulo m₁·m₂ (Chinese reststelling). Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(n) = n·∏(1 − 1/p).

Priemfactoren

637 = 72·13

φ-waarde

φ(637) = φ(49)·φ(13) = 42·12 = 504

Antwoord

φ(637) = 504
Voorbeeld 3Moeilijk
mc = me​ mod n225m = cd​ mod n?(n, e) = (481, 23)d

Een RSA-sleutel gebruikt p = 13, q = 37 en e = 23. Ontsleutel de cijfertekst c = 225: bepaal het bericht m.

p = 13q = 37e = 23c = 225

Gevraagd: m

Hints tonen
  1. n = 481, φ(n) = 432.
  2. d = e⁻¹ mod φ(n) = 263.
  3. m = cd mod n = 225263 mod 481: gebruik herhaald kwadrateren.
Toon het antwoord en de stapsgewijze oplossing

Modulaire machten en RSA: bereken aᵏ mod n door herhaald kwadrateren: schrijf k binair, kwadrateer, reduceer na elke stap en vermenigvuldig de machten waarvan de bit 1 is. Fermat: aᵖ⁻¹ ≡ 1 (mod p) voor een priemgetal p dat a niet deelt, dus de exponent kan modulo p − 1 gereduceerd worden. RSA: kies priemgetallen p en q, n = p·q en φ(n) = (p − 1)(q − 1); de publieke exponent e is onderling ondeelbaar met φ(n), en de privé-exponent is d = e⁻¹ mod φ(n). Versleutel met c = mᵉ mod n en ontsleutel met m = cᵈ mod n.

Privé-exponent

n = 481, φ(n) = 432
d = 23−1 mod 432 = 263

Ontsleutel met herhaald kwadrateren

263 = 256 + 4 + 2 + 1
2251 ≡ 225 (mod 481)
2252 ≡ 120 (mod 481)
2254 ≡ 451 (mod 481)
2258 ≡ 419 (mod 481)
22516 ≡ 477 (mod 481)
22532 ≡ 16 (mod 481)
22564 ≡ 256 (mod 481)
225128 ≡ 120 (mod 481)
225256 ≡ 451 (mod 481)
225263 ≡ 225·120·451·451 ≡ 361 (mod 481)

Bericht

m = 361
controle: 36123 mod 481 = 225

Antwoord

m = 361

Vragen en antwoorden

Getaltheorie & modulair rekenen: wat is het?

Delen van a door n geeft een quotiënt q en een rest r: a = q·n + r met 0 ≤ r < n. De rest wordt geschreven als a mod n. Voor een negatief getal is q ook negatief: −3 = −1·7 + 4, dus −3 mod 7 = 4.

Twee getallen zijn congruent modulo n, a ≡ b (mod n), als ze dezelfde rest geven, dat wil zeggen als n een deler is van a − b.

Getaltheorie & modulair rekenen: hoe los je de opgaven stap voor stap op?
  1. Reduceer eerst elk getal modulo n; resten liggen tussen 0 en n − 1.
  2. Deel voor een ggd herhaaldelijk met het algoritme van Euclides; de laatste rest ongelijk aan nul is de ggd.
  3. Laat voor een inverse het uitgebreide algoritme lopen en houd de coëfficiënt van a; tel n erbij op als die negatief is.
  4. Los a·x ≡ b op door met a⁻¹ te vermenigvuldigen; combineer twee congruenties door x = r₁ + m₁k te schrijven.
  5. Schrijf bij machten de exponent binair en kwadrateer herhaaldelijk; in RSA is d = e⁻¹ mod φ(n) met φ(n) = (p − 1)(q − 1).
Getaltheorie & modulair rekenen: wat zijn veelgemaakte fouten?
  • Een negatieve rest geven voor een negatief getal.
  • Het algoritme van Euclides stoppen bij de eerste rest.
  • De inverse negatief laten staan in plaats van n erbij op te tellen.
  • De RSA-exponent d modulo n nemen in plaats van modulo φ(n).
  • De exponent modulo p reduceren in plaats van modulo p − 1 bij de stelling van Fermat.
Getaltheorie & modulair rekenen: wat oefen je?
  • Makkelijk: ggd en resten
  • Gemiddeld: inversen en congruenties
  • Moeilijk: modulaire machten en RSA

Elke opgave heeft nieuwe waarden, zodat je de methode leert in plaats van een antwoord. Kom je vast te zitten? Open eerst een kleine hint en de volledige uitleg pas als je die nodig hebt.

Zo werkt het oefenen

  • Elke opgave heeft nieuwe waarden, zodat je de methode leert in plaats van een antwoord.
  • Kom je vast te zitten? Open eerst een kleine hint en de volledige uitleg pas als je die nodig hebt.
  • Je voortgang, fouten en bewaarde opgaven blijven bewaard, zodat je vóór het tentamen kunt herhalen.

Vakken met dit onderwerp

Meer onderwerpen in Wiskunde & statistiek

Printbaar werkblad