Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Cipher

10-06-2021, 15:03 door Anoniem, 5 reacties
Wat is de toegevoegde waarde van het toevoegen van een Cipher voor het versleuten van een String bijvoorbeeld?

Ik heb op wikipedia gelezen wat een Cipher is maar ben niet veel wijzer geworden.
Reacties (5)
10-06-2021, 15:27 door Anoniem
Cipher zijn algorithms die bytes door elkaar versleutelen
10-06-2021, 21:02 door Anoniem
Wat is de toegevoegde waarde van het toevoegen van een Cipher voor het versleuten van een String bijvoorbeeld?
Een string bestaat uit karakters. (een karakter is een letter, cijfer of leesteken)
Omdat de meeste computerapparatuur van nature alleen de cijfers 0 en 1 kent, moet zo'n letter, cijfer of leesteken worden uitgedrukt in nullen en enen.
Dat is vooral een kwestie van definitie: welke combinatie van nullen enen stelt welk karakter voor.
Er kunnen ook codes bij zijn inbegrepen zoals CR (carriage return) LF (linefeed) en andere besturingscodes.
Het geheel van al die definities wordt meestal vastgelegd in een karakter tabel zoals bijv. de ASCII-tabel en UTF8.

Een voorbeeld:
We gaan in dit voorbeeld uit van een string die is gedefinieerd volgens de ASCII-tabel.
De karakters zijn dus gedefinieerd volgens https://www.asciitable.com/
Laten we eens een string nemen:
Vanavond eten we patat
(en ja, ik weet dat ik sommigen daar een plezier mee doe...)

Hoe ziet deze string eruit volgens ASCII en dat uitgedrukt in enen en nullen?
We beginnen bij de V van Vanavond.
De hoofdletter V blijkt volgens de ASCII tabel octaal uit te worden gedrukt in 126.
In een octaal getal stellen de cijfers groepjes van 3 bits voor.
Dus "V" = 001 010 110, en omgezet naar een byte (=8 bits) wordt dat 01010110 (= hexadecimaal 56)

Doen we hetzelfde met alle anders karakters van de string, dan krijgen we als binaire weergave van deze string:

01010110 01100001 01101110 01100001 01110110 01101111 01101110 01100100 00100000 01100101 01110100 01100101 01101110 00100000 01110111 01100101 00100000 01110000 01100001 01110100 01100001 01110100

In werkelijkheid eigenlijk gewoon aan elkaar vast, dus:
01010110011000010110111001100001011101100110111101101110011001000010000001100101011101000110010101101110001000000111011101100101001000000111000001100001011101000110000101110100
(door de lengte loopt de code hier uit zijn voegen)
Deze string van enen en nullen kan vrij gemakkelijk weer terug worden omgezet naar de normale menselijke taal die er achter schuilt: "Vanavond eten we patat".

Omdat iedereen dit zou kunnen meelezen [dat wil je niet, het zou natuurlijk storm lopen, je huis is te klein en eh...
vele varkens maken de spoeling dun...]
kunnen we op deze string die d.m.v. enen en nullen in ASCII is weergegeven encryptie toepassen.

Hier komen we bij de vraag: wat doet encryptie nu eigenlijk?
Encryptie zorgt ervoor er een aantal enen en nullen blijft zoals ze zijn, en andere enen en nullen inverteren
(inverteren is: 1 wordt 0, en 0 wordt 1)
Maar welke bits (want dat zijn het) moeten wel en welk moeten er niet worden geïnverteerd?
That's the ultimate question indeed!
En het antwoord hierop is: DAT WORDT GROTENDEELS BEPAALT DOOR HET CIPHER.
Het cipher is een algoritme dat in zo'n reeks van enen en nullen aanwijst welke bits er moeten veranderen en welke niet.
Een goed algoritme is zo gewiekst dat het na een lange periode van gadeslaan op het oog zou lijken dat het puur toeval is welke bits er veranderen en welke niet.

Bij het decrypten wordt eenvoudig hetzelfde nog eens opnieuw gedaan.
Door alle bits die eerder al eens waren geïnverteerd nog een keer te inverteren,
krijgen ze weer de oorspronkelijke "unencrypted" waarde terug, en is weer na te trekken wat er staat.
11-06-2021, 13:48 door Anoniem
Door Anoniem: Wat is de toegevoegde waarde van het toevoegen van een Cipher voor het versleuten van een String bijvoorbeeld?

Ik heb op wikipedia gelezen wat een Cipher is maar ben niet veel wijzer geworden.

Het doel van het cryptografische algoritme (Cipher) is ervoor te zorgen dat alleen de personen met de juiste sleutel de versleutelde gegevens weer kunnen ontcijferen. Dus als je een string versleuteld (Encrypt) met een algoritme (Cipher) dan is deze niet meer te begrijpen totdat deze ontsleuteld (Decrypt) wordt.

Misschien dat deze pagina je iets wijzer maakt. https://nl.wikipedia.org/wiki/Encryptie
11-06-2021, 16:36 door Anoniem
De vraag van TS was:
Wat is de toegevoegde waarde van het toevoegen van een Cipher voor het versleuten van een String

Een cipher wordt inderdaad meestal toegepast bij bulk-encryptie. (grote hoeveelheden data)
Bij een beperkt aantal strings ligt het meer voor de hand om voor elke string een code in te zetten.
Vanavond eten we patat zou bijvoorbeeld gecodeerd kunnen worden met "aardbei".
Dus wanneer iemand het codewoord "aardbei" leest of hoort, weet dan dat er vanavond patat op het menu staat.
12-06-2021, 23:43 door Anoniem
Door Anoniem: Wat is de toegevoegde waarde van het toevoegen van een Cipher voor het versleuten van een String bijvoorbeeld?

Ik heb op wikipedia gelezen wat een Cipher is maar ben niet veel wijzer geworden.

Een cipher is een manier om een string schijnbaar onherleidbaar te maken als je geen sleutel hebt.

Maar misschien bedoel je het toevoegen van een salt voordat je een hash maakt van een wachtwoord? Stel dat je bij het versleutelen van een wachtwoord een salt gebruikt. Een salt ("vrij vertaald: een snufje zout") is een andere string, meestal hexadecimaal genoteerd: een aantal bytes.

Vroeger, en soms nog, werd van wachtwoorden vaak een MD5 hash gemaakt. Maar als die MD5 hashes gelekt zijn kunnen veel gebruikte wachtwoorden zo worden herkend met behulp van een wachtwoordenlijst waarvan de MD5's zijn berekend, want dat komt de MD5 hash overeen. Door een salt toe te voegen werkt dat niet meer zo makkelijk. De aanvaller zou dan eerst van alle wachtwoorden in zijn wachtwoordenlijst met die specifieke salt een hash moeten berekenen. Helaas kan de salt ook worden gestolen, dus dat zou een aanvaller kunnen doen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.