Hoe hash-algoritmen de codering van openbare sleutels beveiligen

6

Encryptie met een publieke sleutel raadt niet alleen wachtwoorden. Het is gebaseerd op een specifiek wiskundig concept: de hashwaarde. Dit is waar hashing-algoritmen een rol gaan spelen. U neemt een basisinvoernummer en voert dit door het algoritme. Het resultaat is een samenvatting van de oorspronkelijke gegevens.

De echte kracht ligt in de richting van de wiskunde. Je kunt gemakkelijk van invoer naar hash gaan. Maar probeer je de oorspronkelijke invoer van de hash te reverse-engineeren? Dat is vrijwel onmogelijk.

Neem een ​​ruw voorbeeld. Begin met het invoernummer 10.667. Vermenigvuldig het met 143. De hashwaarde is 1.525.381.

Als je alleen maar 1.525.381 ziet, hoe ben je daar gekomen? Je kunt het niet zomaar raden. Maar als iemand je vertelt dat de vermenigvuldiger 143 was, is het vinden van 10.667 triviaal.

Systemen met een publieke sleutel zijn veel complexer dan eenvoudige vermenigvuldiging. Ze gebruiken enorme aantallen om reverse engineering nutteloos te maken.

Waarom hashwaarden belangrijk zijn voor de veiligheid

We horen vaak over versleuteling met publieke sleutels en privésleutels. De onderliggende kracht komt van deze hashwaarden. In moderne systemen gebruiken we geen kleine gehele getallen. We gebruiken complexe algoritmen met enorme bitlengtes.

Gemeenschappelijke standaarden zijn onder meer 40-bits of 128-bits sleutels. Het verschil is onthutsend.

Een 128-bits getal is niet alleen groot. Het is astronomisch groot. Er zijn 2^128 mogelijke combinaties. Dat nummer ziet er als volgt uit:

340.282.366.920.938.463.463.374.607.431.768.211.456.000.000

Om dat in perspectief te plaatsen, probeer een specifieke zandkorrel in de Sahara te vinden. Dat is de moeilijkheidsgraad die gepaard gaat met het breken van een sterk hashing-algoritme.

De eenrichtingsstraat van encryptie

Waarom is dit belangrijk voor uw dagelijkse browsen? Wanneer u verbinding maakt met een beveiligde website, gebruiken uw browser en de server deze hashing-algoritmen om de identiteit te verifiëren zonder gevoelige gegevens via de draad te verzenden.

De openbare sleutel codeert het bericht. Alleen de houder van de overeenkomende privésleutel kan deze ontsleutelen. Het beveiligingsmodel gaat ervan uit dat het berekenen van de hash forward eenvoudig is. Achterwaarts berekenen is computationeel duur.

Als iemand het invoernummer gemakkelijk uit de hashwaarde zou kunnen afleiden, zou het hele internet kwetsbaar zijn. We zouden betere manieren moeten vinden om gegevens te beveiligen.

De juiste sterkte van het algoritme kiezen

Niet alle hashing-algoritmen zijn gelijk gemaakt. Oudere systemen gebruikten kortere bitlengtes. Een 40-bits sleutel lijkt misschien robuust voor een leek. Maar moderne computers kunnen die binnen enkele seconden bruut forceren.

Daarom zijn we overgegaan op langere toetsen. De sprong naar 128-bit, of zelfs hoger, was noodzakelijk. Het creëert een barrière die menselijke inspanningen niet kunnen doorbreken.

Wanneer u ‘SSL’ of ‘TLS’ in uw browserbalk ziet, gebruiken deze protocollen deze principes. Ze zorgen ervoor dat de uitwisseling van de openbare sleutel veilig blijft.

De veiligheid van encryptie met een publieke sleutel berust op de moeilijkheid om een ​​hashing-algoritme om te keren.

Als computergebruik