Ga naar inhoud
100% lokaal

Hill-codering

Versleutel of ontsleutel tekst met een matrixsleutel – de klassieke polygrafische codering uit de lineaire algebra.

Invoer
Uitvoer

Hill-codering

De Hill-codering is in 1929 uitgevonden door Lester Hill en versleutelt tekst door letters als getallen te behandelen en blokken ervan met een vierkante sleutelmatrix te vermenigvuldigen, modulo de alfabetgrootte. Voer platte tekst in om deze te versleutelen, of gecodeerde tekst om deze te ontsleutelen – deze tool werkt in beide richtingen met dezelfde sleutel.

Kies een matrixgrootte van 2×2 of 3×3 en voer de sleutel in als onbewerkte getallen (rij voor rij, gescheiden door spaties of komma's) of als woord – de letters vullen de matrix in leesrichting. De alfabetgrootte kan 26 (alleen A–Z) of 29 zijn, wat spatie, punt en vraagteken toevoegt zodat korte zinnen hun leestekens behouden. Karakters buiten het gekozen alfabet worden verwijderd, en diacritische tekens worden eerst in hun basisvorm omgezet. Indien het aantal letters geen veelvoud is van de matrixgrootte, vult het opvulkarakter het laatste blok aan.

Ontsleuteling vereist dat de sleutelmatrix inverteerbaar is modulo de alfabetgrootte – de determinant mag geen gemeenschappelijke factor hebben met 26 (of 29). Wanneer dit niet het geval is, legt de tool uit waarom, in plaats van onzin terug te geven, omdat een niet-inverteerbare matrix geen unieke inverse voor ontsleuteling heeft. Schakel "Matrix, determinant en inverse weergeven" in om precies te zien hoe de sleutel is opgelost, wat handig is om een sleutel handmatig te controleren of een leerboekvoorbeeld te volgen.

Alles draait lokaal in uw browser – niets wat u typt, wordt ergens geüpload. Kopieer het resultaat, download het als een .txt-bestand, of stuur de uitvoer rechtstreeks terug in de invoer om een ander transformatie aan te sluiten.

FAQ

Hoe versleutelt de Hill-codering eigenlijk een blok letters?
Elke letter wordt een getal (A=0, B=1, …), een vaste blok ervan wordt als kolomvector behandeld, en die vector wordt met de sleutelmatrix vermenigvuldigd modulo de alfabetgrootte. De resulterende getallen worden de chiffertekstletters voor dat blok.
Waarom is ontsleuteling mislukt met een fout over de determinant?
Ontsleuteling vereist de inverse van de sleutelmatrix, die alleen bestaat wanneer de determinant geen gemeenschappelijke factor heeft met de alfabetgrootte (26 of 29). Kies verschillende sleutelwaarden zodat de determinant coprime is met dat getal.
Waar dient het opvulkarakter voor?
De Hill-codering werkt alleen met volledige blokken van 2 of 3 letters. Indien het aantal letters van uw tekst geen veelvoud van de matrixgrootte is, vult het opvulkarakter het laatste blok aan – ontsleutelde uitvoer kan om dezelfde reden met een of twee opvulkarakters eindigen.
Moet ik de sleutel als getallen of als woord invoeren?
Beide werken. Getallen geven u exact controle over de matrix; een woord is gemakkelijker te onthouden en de letters vullen de matrix rij voor rij, met het opvulkarakter gebruikt als het woord korter is dan nodig.
Wordt mijn tekst ergens geüpload?
Nee. De Hill-codering draait volledig in uw browser – uw tekst en sleutel verlaten uw apparaat nooit.