Een paar dagen geleden op Eurocrypt 2009, beveiliging onderzoekers aangekondigd een aanval op het SHA-1 hashing algoritme. De aanval is een vrij ernstig en het is een sterk signaal voor softwareleveranciers om af te stappen van SHA-1.
Voor bijna alle cryptografische algoritmen, indien de digest lengte n is, betekent dit dat er 2 n verschillende mogelijke waarden voor de message digest (versleutelde tekst in het geval van een encryptie-algoritme). Rekening van de mogelijkheid van de verjaardag van aanslagen in aanmerking genomen, kunnen we veilig aannemen dat het overtreden van deze operaties verteert zal innemen minstens 2 n / 2.
Als n = 160 (zoals in het geval van SHA-1), het duurt 2 80 berekeningen om de code te breken. Zelfs als we aannemen dat een computer kan doen 2 20 operaties per seconde, duurt het maar liefst 36 miljard jaar om code te kraken. Onze geheimen en systemen veilig bewaard blijven door deze algoritmes die worden verondersteld om de beste computers te weerstaan voor 36 miljard jaar kraken code.
Toen was er iemand heel slim komt langs, vindt een zwakke plek in het algoritme zelf veeleer dan te proberen te brute kracht aanval te doen, en de veiligheid van onze documenten, handtekeningen en protocollen in gevaar worden gebracht. We worden gedwongen om betere alternatieven te vinden en het ontwerpen van betere algoritmes.
In de echte wereld, cryptografische algoritmen verouderd of gebroken in 10-25 jaar eerder dan de theoretische tijdsbestek van 36 miljard jaar.
Als voorzorgsmaatregel kunt u aan de algoritmes maken / protocollen die worden gebruikt in uw toepassing eenvoudig te vervangen. Dit zal uw leven makkelijker te maken wanneer het algoritme is gebroken en je wilt vervangen. Ook als programmeur je moet begrijpen dat, zelfs indien het algoritme is nog niet gebroken, uw implementatie kan worden ontsierd. Het merendeel van de beveiligingsproblemen worden veroorzaakt door waardeloze implementaties van veilige algoritmen / protocollen.
En had ik al gezegd dat je niet moet algoritme schrijf uw eigen encryptie ?
Natuurlijk in de echte wereld totaal verschillende dingen zijn:
Zoals u waarschijnlijk weet, zal geen van de algoritmen in de wereld helpen als ik weet dat uw meisjesnaam van de moeder.