Inleiding tot het coderingsproces

De dingen waarover ik het nu ga hebben, daar zul je waarschijnlijk niet veel over vinden op internet. Ach, toen ik dit zelf leerde, had ik veel moeite met het leren van alle stukjes algoritmen, wiskunde, codering, cryptografie en programmeren, de vertrouwde sleutels en zo.

En het ergste was toen ik te weten kwam dat elk ander gecodeerd ding ter wereld kan worden gedecodeerd of gehackt; maakt niet uit wat. Ja, er bestaat niet zoiets als FoolProof Security. Maar de belangrijkste reden voor mij om deze blog te schrijven was dat er nauwelijks iemand is die je hiermee kan helpen. Mijn doel is dus om mensen te helpen begrijpen wat codering precies is en hoe het verband houdt met cryptografie en wiskunde.

Wat betekent cryptografie?

Ten eerste is encryptie slechts één tak van cryptografie. Dus nu moet de vraag zijn wat cryptografie is. Ik geef eigenlijk de voorkeur aan cryptografie boven kunst. Het is niet helemaal gerelateerd aan programmeren of iets dergelijks. Cryptografie werd zelfs in de oudheid gebruikt. De beroemdste cryptograaf aller tijden was Leonardo DaVinci. Zijn versleutelingsmethoden waren zo uitdagend dat zelfs de meeste van zijn werken nog steeds niet worden ontsleuteld.

Cryptografie is dus een kunst om iets op zo'n manier te schrijven of te coderen dat alleen een specifieke persoon tot wie het is gericht, dat kan begrijpen. Niemand anders zou het kunnen begrijpen. Deze cryptografie kan de vorm hebben van afbeeldingen of schrijven, tekst, ontwerp, architectuur of wat dan ook. Daar is geen limiet aan.

Ooit gehoord van Mona Lisa (Ja, het is getekend door Leonardo Davinci)? Ja, er wordt zelfs gezegd dat haar linkeroog ook is gecodeerd in het schilderij. Om nog maar te zwijgen over het feit dat er hier ook veel samenzweringen kunnen zijn. Maar nu heb je misschien een idee gekregen van waar ik het over heb en waar ik naartoe ga.

Herinner je je ook het gedeelte waar ik je eerder vertelde dat zelfs de afbeeldingen gecodeerd zijn? Ja. Met de hand gesproken kunnen handgetekende afbeeldingen worden gecodeerd om een ​​soort code van een kaart of andere dingen te tonen. Op dezelfde manier kunnen afbeeldingen ook worden gecodeerd in zinnen. Dit wordt steganografie genoemd. Steganografie is een vorm van coderingsproces waarbij je één ding schrijft maar eigenlijk iets anders bedoelt.

Tegenwoordig gebruiken terroristen en veel ISIS-mensen dit formulier om met elkaar te communiceren. Ze plaatsen advertenties in kranten, die er eigenlijk uitzien als normale advertenties, maar ze betekenen eigenlijk iets anders.

Digitale cryptografie en codering

Dus na het lezen van dit alles vraag je je misschien af ​​hoe dit allemaal verstrikt raakt in computers. Het is simpel. Wanneer u iets digitaal opslaat, heeft u mogelijk een soort beveiliging nodig. We hebben bijvoorbeeld allemaal veel internetaccounts en we moeten ze beveiligen. Het coderingsproces zit hier dus bij de server. Laten we bijvoorbeeld zeggen dat u een e-mailaccount maakt.

Nu zou het wachtwoord dat u gebruikte op de server moeten worden opgeslagen. Maar dit wachtwoord kan niet in platte tekst staan. De reden hiervoor is omdat als de server door een hacker wordt aangetast, alle gegevens erin worden vrijgegeven en iedereen deze kan misbruiken. Deze gegevens moeten dus worden beveiligd. En dit is waar het coderingsproces deel tussen komt.

Het coderingsprogramma dat hier in een niet eenvoudig proces wordt gemaakt. Laten we bijvoorbeeld zeggen dat het wachtwoord (neem maar aan). Dus wanneer dit wachtwoord wordt ingevoerd, wordt het omgezet in een hash-bestand van een 32-bits bestand dat op de server wordt opgeslagen. Dus wanneer u het wachtwoord invoert, moet het geconverteerde hash-bestand overeenkomen met het hash-bestand dat op de server is opgeslagen. Nu denk je misschien, wat als er een hacker is die een Man-in-the-Middle-Attack doet en hij krijgt het hash-bestand. Dat is de magie hier. Elk hash-bestand heeft hier bijna 'n' aantal mogelijkheden.

Dit betekent dat zelfs als de hacker het gecodeerde programma-hash-bestand krijgt en zelfs als hij of zij het decodeert, hij niet hetzelfde wachtwoord krijgt. De mogelijkheid om hetzelfde wachtwoord, dat wil zeggen uit het hash-bestand te krijgen, is één op de miljoen. Kortom, dit is opnieuw wat het hoofddoel van cryptografie is. Dat is alleen de betrokken partij die de code zou moeten herkennen. In ons geval is de betrokken partij de server en de gebruiker die het wachtwoord invoert.

Aanbevolen cursussen

  • Online cursus over Java Hibernate
  • Online Java Spring Course
  • WordPress training
  • Online cursus over Ruby

Versleuteld e-mailen

Eerlijk gezegd zijn er veel minder e-mailproviders die gecodeerde programmabeveiliging bieden. Het ergste is dat hackers tegenwoordig niet eens voor hasj kraken gaan. Ze gaan meteen sociaal ingenieur hun weg naar de rekeningen. Bovendien hebben professionele hackers uw wachtwoord niet eens nodig om toegang te krijgen tot uw account. Uitgaande van dezelfde situatie als bij de man-in-the-middle-aanval, kan een aanvaller meteen uw e-mail snuiven die in de formulierpakketten wordt verzonden.

Dus de enige manier om uzelf te beveiligen is om een ​​e-mailprovider te krijgen die ook een e-mailversleutelingsproces biedt en niet alleen het wachtwoordversleutelingsproces. En de enige die ik vanaf nu ken is Protonmail.com. Ze zijn erg geavanceerd. Onlangs probeerden sommige hackers zelfs hun accounts te hacken, maar vanwege extreme beveiliging lukte dat niet, en ze eindigden later het systeem van DDOSing protonmail dat 3-4 dagen duurde totdat het weer leven werd (DDOS: Distributed Denial of Service Attack is een methode om extreem veel pakketten te verzenden om het systeem te verstoren).

Coderingen en beveiliging

Het coderingsproces heeft verschillende vormen. Hoewel het moeilijk is om een ​​gecodeerde service te decoderen, is het niet onmogelijk. WEP is bijvoorbeeld een soort wifi-beveiliging, maar het is extreem onzeker, terwijl WPA en WPA2 Personal volledig veilig zijn. Maar volledig veilig zijn betekent niet waterdicht. Een met WPA2 gecodeerde wifi met 12 tekens kan 15-20 dagen duren om te kraken, maar het kan worden gekraakt.

Op dezelfde manier kan het met een computer die goed genoeg is, hetzelfde wachtwoord binnen 3-5 dagen kraken. Ik heb thuis een systeem met PIMP OS (PIMP is een besturingssysteem voor bitcoin-mining) met Core i7 6e gen (processor doet er niet toe) en een 15000-RPM SSD samen met twee GTX980 grafische kaart. Met deze opstelling en een woordenlijst Dictionary van Kali Linux (Kali Linux is een penetratietest OS), kan ik gemakkelijk hetzelfde wachtwoord kraken in 10-12 uur. Geschokt? Ja. Maar dat ben ik alleen.

Extremistische hackers maken meestal gebruik van bots die de controle over honderden hebben, en niet te vergeten duizenden computers en deze oppassen voor het kraken van wachtwoorden. Door dit te doen, kunnen ze gemakkelijk wachtwoorden in een paar minuten kraken. Nu hoe eng het is, denk maar aan. Het escaleerde meteen van 20 dagen tot 20 minuten. En dit zijn pure wiskunde. Volgens de decoderingsfilosofie van de wiskunde kan elke andere codering met voldoende tijd worden gekraakt. Het is gewoon pure waarschijnlijkheid en brute force wachtwoord kraken.

Als u meer geïnteresseerd bent in het coderingsproces, raad ik u aan het boek "Digital Fortress" te lezen. Het is een buitengewoon goed boek voor een beginner om te begrijpen hoe het coderingsproces werkt. En nee! Het is geen wiskunde- of programmeerboek. Het is een fictieve roman, maar de details van het coderingsproces zijn bijna genoeg in de buurt van het echte leven.

Soorten codering

Zoals ik eerder zei, heeft encryptie meerdere vormen. Hier volgen de belangrijkste soorten codering:

1. Symmetrische codering

Symmetrische codering verzamelt gegevens in onbewerkte tekst en schudt deze vervolgens om deze onleesbaar te maken. En net voordat de vereiste partij wordt bereikt, worden de gegevens opnieuw geordend. Symmetrische soorten codering zijn de snelste van andere coderingsprocessen. Het haalbare deel om te onthouden is dat de coderings- en decoderingspartij beide dezelfde sleutel moeten hebben om de gegevens te onderscheppen.

Het slechte deel van de symmetrische sleutel is dat zelfs als uw gegevens zijn gecodeerd, de software de niet-gecodeerde gegevens gemakkelijk nodig heeft om overeen te komen met het wachtwoord en niet met de gecodeerde. Dit bewijst indirect dat de software zelf is aangetast. De enige om uzelf te beschermen is om de software zodanig te ontwerpen dat de gegevens gecodeerd blijven wanneer de gebruiker uitlogt bij het systeem en de sleutel alleen achterlaat in een onleesbaar gecodeerd formaat dat in de eerste plaats moeilijk is.

2. Asymmetrische codering

Asymmetrische codering vergelijkbaar met symmetrische codeert ook platte tekst, schudt het en herschikt het opnieuw aan het andere uiteinde, maar hier worden meerdere variabele sleutels gebruikt voor elk uiteinde. Gebruikers en decrypters gebruiken de openbare sleutel en de privésleutel om de gegevens in willekeurige volgorde te plaatsen en opnieuw te rangschikken. Het enige probleem met een openbare sleutel is om ervoor te zorgen dat u de openbare sleutel vertrouwt die u bezit. Als de publieke sleutel enigszins gecompromitteerd is, dan is alles. Een eenvoudige Man-in-the-middle-aanval is een gemakkelijke manier om een ​​compromis te sluiten.

3. Slaan

Tegenwoordig hoort u, als u het coderingsproces hoort, eigenlijk wat er op de achtergrond gebeurt. Hashing is echter geen pure vorm van codering. Weet je nog, het voorbeeld dat ik eerder gaf over e-mailbeveiliging?

Ja! Dat is wat hashing echt is. Als u een snaar slaat, wordt altijd dezelfde snaar geproduceerd, maar de omgekeerde snaar is nooit hetzelfde. Maar met voldoende informatie kan men gemakkelijk andere gegevens gebruiken om dezelfde hash te maken. In het geval van hashes is de hash eigenlijk het wachtwoord zelf.

Over encryptieprogramma's gesproken, wat u ook doet, er is geen onfeilbare beveiliging. Het zal altijd Beveiliging door obscurity zijn. Men kan alleen paranoïde genoeg zijn om veilig genoeg te zijn.

Aanbevolen artikel

Dit is een nuttige gids voor het coderingsproces geweest. We hebben het verschillende coderingsproces en de soorten codering besproken die mensen helpen te begrijpen wat codering precies is en u kunt ook het volgende artikel raadplegen voor meer informatie -

  1. Ontdek de verschillen tussen Linux en Ubuntu
  2. Meest geweldige sollicitatievragen voor het testen van software
  3. Carrières in databasebeheer
  4. Hacktechnieken en IT-beveiliging (module # 1) - De basisprincipes
  5. Functies van Kali Linux versus Ubuntu