Vraag & Antwoord

Webprogrammeren & scripting

Eigen encryptie

8 antwoorden
  • Hallo iedereen, ik was me aan het vervelen en heb een encrypt functie gemaakt. Als ik bevoorbeeld "test" ingeef krijg ik als output "2b15kh2774674ljbfg39ff6k1hahdh5jc1i1hjj8bd99i"; Het is onomkeerbaar, omdat ik de numerieke waarden optel en na de optelling kan je natuurlijk beginnen gokken wat bij wat is opgeteld om tot een bepaalde som te komen. Mijn vraag is nu: Is dit veilig? Alvast bedankt voor jullie mening.
  • Belangrijker dan de vraag of het veilig is, is de vraag wat de functie zou moeten zijn. Niet alleen kan ik me geen functie indenken van encryptie die niet omkeerbaar is - wat je doet is dan eigenlijk hashen en dat heeft een geheel eigen set problemen, zoals bijvoorbeeld de kans op collision - maar de veiligheid hangt ook voor een belangrijk deel samen met een hele groep randvoorwaarden. Hoe groots wordt het ingezet? Hoe belangrijk is de data die wordt versleuteld? Hoe makkelijk kan met gevonden data worden gefraudeerd? Hoe "tijdelijk" is de data, cq. weegt de tijd van het brute-force kraken van de data op tegen de verwachte tijdsduur dat deze data op deze manier wordt bewaard (denk aan sessie-sleutels of andere tijdelijke vormen van wachtwoorden)? Als je over al die vragen (en nog veel meer) hebt nagedacht kan je zelf ook tot op zekere hoogte bedenken hoe veilig jouw encryptie is voor jouw toepassing. Over het algemeen geldt: de kant-en-klare en bewezen oplossingen die in alle talen ingebakken zitten zijn vele malen veiliger dan elke oplossing die jij in een week kan bedenken, het principe van "security through obscurity" even buiten beschouwing gelaten. Kortom: het is een leuk gedachtenexperiment en een leuk tijdverdrijf om mee bezig te zijn, maar veilig is het waarschijnlijk niet echt. - Bas
  • Ik wil mij hierin verdiepen, maar ik kan geen sites vinden die zo iets uitleggen. Weet iemand toevallig toch een goede site?
  • [quote:5c5c24c769="mikesmikkel"]Als ik bevoorbeeld "test" ingeef krijg ik als output "2b15kh2774674ljbfg39ff6k1hahdh5jc1i1hjj8bd99i"; Het is onomkeerbaar, omdat ik de numerieke waarden optel[/quote:5c5c24c769] Ik zie niet helemaal hoe je door de numerieke waarden van "test" op te tellen op "2b15kh2774674ljbfg39ff6k1hahdh5jc1i1hjj8bd99i" uitkomt, maar bij het optellen van numerieke waardes heb je veel collisions. Zo zal het verhogen van een letter en het verlagen van een andere (bijvoorbeeld "udst") hetzelfde totaal opleveren.
  • Ik heb de collision getest. Ik heb eerst "Mn6IJIhuenNOHsl[color=red:53f25faaec]7[/color:53f25faaec]F2yxJabudM1tAtqzkMBq5k49NErcDmvGAabpqmJijNr138xsCFas9fy8rpPJtzyJpDxB22lqjiMHe4yFN3t" geprobeerd en dit gaf als resultaat "0i70cl8fk17b6i4abib4e88a08gkbgd3i111ai4fj91if3g" toen heb ik Mn6IJIhuenNOHsl[color=red:53f25faaec]8[/color:53f25faaec]F2yxJabudM1tAtqzkMBq5k49NErcDmvGAabpqmJijNr138xsCFas9fy8rpPJtzyJpDxB22lqjiMHe4yFN3t (met dus de 7 naar een acht veranderd) geprobeerd en dit gaf als resultaat "07h38deimfl27lk3kj15icblbhc44i46c50fcamb832m16f" Edit: @SuperSnail: er gebeurt wel net iets meer dan alleen de numerieke waarden optellen.
  • En wat als je "Mn6IJIhuenNOHsl8F[color=red:4f8f560cca]1[/color:4f8f560cca]yxJabudM1tAtqzkMBq5k49NErcDmvGAabpqmJijNr138xsCFas9fy8rpPJtzyJpDxB22lqjiMHe4yFN3t " (dus met de 7 veranderd in een 8 en de 2 in een 1, zodat het totaal van de numerieke waardes gelijk is aan het origineel) gebruikt?
  • Twee totaal verschillende uitkomsten,nl: i70cl8fk17b6i4abib4e88a08gkbgd3i111ai4fj91if3g (overgenomen van vorige keer) en fd6i0b2hgfhfe950hcc2bja50hcc0bi74cc7ejj387d7fk de uitkomst van wat jij wou proberen.
  • dat de encryptie van naastelkaar liggende input zo sterk verschilt, is een eigenschap van veel encryptie-methoden. De grap is juist dat een totaal andere input toch wel eens dezelfde hash kan opleveren (collision). Ik heb wel eens gelezen dat het combineren van encryptie-methoden helpt. Wat ook goed zou werken is zelf een string toevoegen aan de input en die mee-encrypteren. Stel iemand kan dan uit de hash de juiste ingevoerde waarde terughalen, dan is nog niet bekend welk deel daarvan het wachtwoord is en welk deel het (standaard) toegevoegde. Daar zie je ook direct het nadeel, doe dit voor een paar wachtwoorden en je komt heus wel achter die standaard toegevoegde waarde. Zelf een geheel nieuwe encryptie bedenken is een mooi gedachtenexperiment maar je zou dan toch eens goed moeten duiken in wat er al bestaat. Goede boeken van eigen bodem zijn bijv. Cryptografie van [url=http://people.cs.uu.nl/gerard/Cryptografie/] Gerard Tel[/url] en [url=http://books.google.nl/books?id=jWnWlVOruKgC&pg=PA202&lpg=PA202&dq=basic+methods+of+cryptography+lubbe&source=bl&ots=sJfigvy9qX&sig=XWU2d2nxjpcyar-iYeYPQIwKYHo&hl=nl&ei=_oCNTumnN4es8gOu5LAO&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCwQ6AEwAA#v=onepage&q&f=false]Basic methods of cryptography[/url] van van der Lubbe (helaas niet alle pagina's beschikbaar).

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.