- Offizieller Beitrag
Hallo!
Eine kleine Herausforderung will ich uch heute mal stellen. Es geht um die Verschlüsselung, die wir in Galenda eingebaut haben. Ich bin der Ansicht, dass die Kalender trotz des Open-Source-Status außergewöhnlich sicher sind.
Nach dem "Prinzip von Kerckhoff" muss ein gutes Verchlüsselungsverfahren so konzipiert sein, dass es auch dann noch sicher ist, wenn der Algorithmus bekannt ist. Daher hier für euch die Details:
Grundlage: Das Passwort wird nie gespeichert - nicht als Klartext, auch nicht verschlüsselt. Beim Schließen gibt man das Passwort zweimal ein, um Vertipper zu verhindern. Die komplette [Kalendername]l.gld wird per SHA1 (DLL) gehasht und der Hash in der settings.gld hinterlegt. Mit dem Passwort wird die DLL zur Verschlüsselung aufgerufen, die sich im Resources-Verzeichnis befindet. Wenn ich es richtig im Kopf habe, arbeitet diese nach dem AES-Algorithmus. Danach wird das Passwort im RAM überschrieben. Die Originaldatei wird gelöscht und durch die verschlüsselte ersetzt. In diesem Zustand habe ich euch einen Kalender in den Anhang gepackt.
Beim Entschlüsseln wird das PW einmal abgefragt. Dann damit Entschlüsselungs-DLL aufgerufen. Danach der SHA1-Hash des Ergebnisses ermittelt und mit dem gespeicherten verglichen. bei Übereinstimmung wird geöffnet, bei Unterschied die scheinbar entschlüsselte Datei verworfen.
huggy hat es nicht geschafft, an die Daten heranzukommen. Es sind im Beispiel Termine am 10.10.2006 und 12.10.200 eingetragen. Den Titel von letzterem würde ich gerne wissen
Viel Erfolg,
peethebee