1 Taak Versleutelen en dan weer terug Inhoud Taak Versleutelen en dan weer terug... 1 Inhoud... 1 Inleiding... 2 Encryptie en Decryptie... 3 Symmetris...
Taak 2.1.3 – Versleutelen en dan weer terug Inhoud Taak 2.1.3 – Versleutelen en dan weer terug ............................................................................ 1 Inhoud .................................................................................................................................... 1 Inleiding .................................................................................................................................. 2 Encryptie en Decryptie ........................................................................................................... 3 Symmetrisch........................................................................................................................... 3 Asymmetrisch......................................................................................................................... 3 Waarom Encryptie en Decryptie? .......................................................................................... 3 PSDs ........................................................................................................................................ 4 CODE....................................................................................................................................... 5 Conclusie ................................................................................................................................ 6 Bronvermelding...................................................................................................................... 7
1
Inleiding Deze periode gaan wij een urenregistratie systeem maken voor het bedrijf Met de klok mee. Voor dit bedrijf is het van belang dat de gegevens niet in andermans handen terecht komt zodat er met de data gesjoemeld kan worden. Daarom moeten wij, de freelancers, van Kees een encryptie en een decryptie tooltje maken waarmee gegevens omgezet kunnen worden in niet te lezen taal. Vervolgens moet deze data natuurlijk ook weer terug gezet kunnen worden tot leesbare stof.
2
Encryptie en Decryptie Encryptie en Decryptie is het versleutelen en ontcijferen van informatie. Binnen de cryptografie staat encryptie voor het coderen (versleutelen) van gegevens op basis van een bepaald algoritme. Deze versleutelde gegevens kunnen na de hand weer gedecrypteerd (ontcijferd of gedecodeerd) worden zodat men de originele informatie weer terugkrijgt. Dit proces wordt decryptie genoemd.
Symmetrisch Bij symmetrische cryptografie gebruikt de zender én de ontvanger de zelfde sleutel. Die sleutel moet van tevoren uitgewisseld worden via een veilige verbinding waarbij zender en ontvanger elkaars identiteit kunnen controleren en de kans op onderschepping van de sleutel door anderen stukken gemakkelijker of zelfs onmogelijk is. Symmetrische cryptie wordt bijvoorbeeld gebruikt voor email. De zender én de ontvanger hebben de zelfde sleutel waardoor ze dus de email kunnen lezen. Ook andere hebben deze sleutel dus is het niet “geheel” veilig om vertrouwde of geheim informatie te versturen via de email. Bij het gebruik van een secar code als bijvoorbeeld deze: A‐>B, B‐>C enz. is het geval niet zo dat het de zelfde sleutel is, maar de decodeersleutel kan eenvoudig worden afgeleid uit de codeersleutel. Beide gelden als symmetrische cryptografie.
Asymmetrisch Stukken moderner is de asymmetrische cryptografie. Hierbij hebben zender en ontvanger elk een eigen set van twee sleutels, waarvan er één publiek is en één niet. Privé dus. Het is in theorie mogelijk, maar niet praktisch haalbaar, om de geheime sleutel uit de publieke sleutel af te leiden. Dit zal mogelijk zijn met héél veel tijd en héél veel reken kracht. De tijd die er in gaat zitten kan zelfs wel jaren zijn als het niet mega groots aangepakt wordt. Berichten die met een publieke sleutel worden versleuteld, kunnen alleen met de geheime, privé sleutel worden ontcijferd. Met andere woorden: onbevoegden kunnen het bericht niet lezen.
Waarom Encryptie en Decryptie? Het gebruiken van Encryptie en Decryptie is zoals ik hierboven al uit heb gelegt handig omdat het er voor zorgt dat onbevoegden het niet kunnen lezen en er dus niets kwalijks of ongebruikelijks mee kunnen doen. Ook om die reden ga ik een Encryptie en Decryptie tooltje maken waarmee klare tekst omgezet kan worden naar een rare onverklaarbare taal waar nietmand doorsnee iets uit kan opmaken. Daarbij ook de mogelijkheid om deze tekst weer terug te zetten naar normale leesbare tekst. Dit omdat je er anders niet echt iets aan hebt. Eerst ga ik PSD`s maken van het tooltje om de werking van het systeem duidelijk te maken. Dit systeem zal een Symmetrische encryptie en decryptie uitvoeren. Dit omdat beide de zelfde sleuter hebben (zender en ontvanger). Daarna ga ik met behulp van de PSDs deze
3
functies uitwerken tot een PHP script dat operatief zal functioneren als Encryptie en Decryptie tool.
PSDs Hieronder staan de PSDs van de twee functies, Encrypt en Decrypt, die deze tool uit kan voeren. Bij Encrypt voert de gebruiker de klare tekst in. Dat kan bijvoorbeeld ‘Test’ zijn. Vervolgens zal het systeem uit de variabele de aangegeven karakters vervangen met de ingevoerde karakters door de gebruiker.
Gebruiker voert klare tekst in. Systeem verstuurd klare tekst en slaat deze op in een variabele $Encrypt. Systeem vervangt karakters uit $Encrypt die overeen komen met karakters uit $from met nieuwe karakters uit $to. Systeem verstuurd nieuwe karakters naar $encryption. Systeem schrijft $encryption op het scherm.
Bij Decrypt is het zelfde proces, maar dan met de inhoud van de variabele omgekeerd. Zo kan met dus de orginele tekst weer terug krijgen doormiddel van de zelfde sleutel. De gebruiker voert de code in en drukt op decrypt. Vervolgens zal het systeem de informatie vervangen met de informatie uit de sleutel. Zo komt de orginele klare tekst weer te voorschein.
Gebruiker voert encrypted tekst in. Systeem verstuurd encrypted tekst en slaat deze op in een variabele $Decrypt. Systeem vervangt karakters uit $Decrypt die overeen komen met karakters uit $from met nieuwe karakters uit $to. Systeem verstuurd nieuwe karakters naar $decryption. Systeem schrijft $decryption op het scherm.
4
CODE: Het script is ook te zien op mediatechweb. De .phps file is meer overzichtelijk. encryption & decryption <style type="text/css">
encryption & decryption
<span>Dit is Taak 3 van Blokboek 1 leerjaar 2. Versleutelen en dan weer terug.
Op deze pagina is het mogelijk om klare teksten om te zetten in onleesbare code taal. Voer een tekst in en u zult zien dat het niet meer te herkennen is voor anderen zonder deze tool.<span/>
<selecty>compatibiliteit: a‐z, A‐Z, 0‐9 + leestekens '); //Encrypt wordt in gang gezet... if(isset($_POST['encrypt'])){ $Encrypt = str_split($_POST['Encrypt']); $encryption = ''; $from = array( Deze Array kunt u zien in de PHPS file ); foreach($Encrypt as $Encryptcharacter){ foreach($from as $characterID => $character){ if($character == $Encryptcharacter){ $encryption .= $to[$characterID];} } } echo '
encryption:
' . $encryption . '
<selecty>twee of drie keer klikken op de code op alles te selecteren..'; } //Decrypt wordt in gang gezet... if(isset($_POST['decrypt'])){ $Decrypt = str_split($_POST['Decrypt'], 3); $decryption = ''; $from = array( Deze Array kunt u zien in de PHPS file ); foreach($Decrypt as $dDecryptcharacter){ foreach($from as $characterID => $character){ if($character == $dDecryptcharacter){ $decryption .= $to[$characterID];} } } echo '
decryption:
' . $decryption . '
<selecty>twee of drie keer klikken op de code op alles te selecteren..'; } ?>
5
Conclusie Voor deze taak heb ik meer uren onderzoek gedaan dan uiteindelijk het uitwerken er van. Het was een zeer moeilijke taak. Mede door mijn gebrek aan programmer kennis en mede door het gebrek aan ondersteuning en duidelijkheid in de taak zelf. De taak was voor mij wel een beetje hoog gegrepen op gebeid van kwaliteiten maar met veel onderzoek, vergeleiking, testen en testen is het me toch gelukt om een goed werkende symmetrische encryptie en decryptie tool uit te werken. Over de taak zelf: Uit deze taak kan ik ophalen dat het wel belangrijk is dat nietmand aan je spullen kan zitten. Een voorbeeltje is bijvoorbeeld dat je je systeem totaal moet beveiligen dat bijvoorbeeld niet iedereen zomaar op de administratie paginas kan komen. Zo is het ook met de belangrijke informatie van jou of van je bedreif. Bij een bedreif is het helemaal belangrijk dat niet alle informatie zomaar voor het oprapen ligt. Vandaar deze Symmetrische encryptie en decryptie methode om dit tegen te gaan.