Ik heb wat algemene vragen over DES encryptie. Ik wil dit gaan implementeren met als doel om een puzzel te kraken.
Ik heb nu al wat zitten experimenteren met o.a. openssl en een programma genaamd Cryptool. Het valt me op dat er een aantal verschillen tussen zitten. Bij openssl kan je files encrypten/decrypten met een password en bij Cryptool moet dat een 64-bits key zijn. Ik ben er nu al achter dat DES intern werkt met zo'n 64-bits key, en dat openssl waarschijnlijk een functie gebruikt om vanuit dat password een key te genereren. Maar is zo'n omzettingsfunctie nu gestandariseerd? Of is het mogelijk dat weer een andere DES implementatie ook met passwords kan werken maar die in heel andere key's omzet?
Iets anders wat me opvalt is het volgende: Als ik in openssl een file decrypt met een verkeerd password, dan krijg ik een melding 'bad decrypt'. In Cryptool wordt het gewoon gedecodeerd en komt er gewoon verkeerde data uit. Net alsof het een soort simpele XOR encryptie is (daarbij kan een decoderingsprogramma immers ook niet uitmaken welke key geldig is en welke niet). Hoe zit dat bij DES? stel dat ik een file van 8 karakters encrypt met een 64-bits key. Zo'n 64-bits key geeft 2^64 verschillende mogelijkheden, als ik goed reken. Komen daar dan ook evenzoveel mogelijke verschillende output uit? Zo ja, hoe weet het programma dan bij decoderen of een key goed of fout is? Of zit er in de key ook een soort checksum/crc/whatever waarop gecontroleerd wordt?
Ik heb nu al wat zitten experimenteren met o.a. openssl en een programma genaamd Cryptool. Het valt me op dat er een aantal verschillen tussen zitten. Bij openssl kan je files encrypten/decrypten met een password en bij Cryptool moet dat een 64-bits key zijn. Ik ben er nu al achter dat DES intern werkt met zo'n 64-bits key, en dat openssl waarschijnlijk een functie gebruikt om vanuit dat password een key te genereren. Maar is zo'n omzettingsfunctie nu gestandariseerd? Of is het mogelijk dat weer een andere DES implementatie ook met passwords kan werken maar die in heel andere key's omzet?
Iets anders wat me opvalt is het volgende: Als ik in openssl een file decrypt met een verkeerd password, dan krijg ik een melding 'bad decrypt'. In Cryptool wordt het gewoon gedecodeerd en komt er gewoon verkeerde data uit. Net alsof het een soort simpele XOR encryptie is (daarbij kan een decoderingsprogramma immers ook niet uitmaken welke key geldig is en welke niet). Hoe zit dat bij DES? stel dat ik een file van 8 karakters encrypt met een 64-bits key. Zo'n 64-bits key geeft 2^64 verschillende mogelijkheden, als ik goed reken. Komen daar dan ook evenzoveel mogelijke verschillende output uit? Zo ja, hoe weet het programma dan bij decoderen of een key goed of fout is? Of zit er in de key ook een soort checksum/crc/whatever waarop gecontroleerd wordt?