Einzelnen Beitrag anzeigen

daniel-volk

Registriert seit: 16. Jul 2003
170 Beiträge
 
Delphi 6 Enterprise
 
#87

Re: Dateien verschlüsseln - aber wie?

  Alt 9. Okt 2003, 18:36
Danke erstmal. Ich verwende jetzt SHA1 (also mit 160 Bit) und das soll mir dann an Sicherheit reichen. Man muss ja nur mal bedenken, dass Steganos lediglich 128 Bit verwendet. Und dann werden meine 160 Bit wohl mehr als genug sein.
Zitat:
Zitat:
Zitat:
Was passiert denn mit den Leerstellen? Die bleiben doch nicht unverschlüsselt, oder? Bei Rijndael ja auf jeden Fall nicht, weil AES ja eine variable Keylänge hat.
Diese Frage verstehe ich nicht ganz, was sind Leerstellen ?
Alles in der Kryptographie läuft binär ab, eine Leerstelle im eigentlichen Sinne gibt es dann nicht, denn auf Byteebene = 256 mögliche Zeichen werden auch alle 256 Zeichen berücksichtigt und benutzt.
Du hast Sie schon in der ersten Frage beantwortet. Ich meinte mit Leerstellen einfach nur die unbelegten Bits, die dann mit Nullen aufgefüllt werden. (Also bei einem 160 Bit Hash und 256 Bit Cipher.) Ich hatte mir schon gedacht, dass die 0 werden, hab darin (bei meinem wenigen Wissen über diese Profi-Cipher) dann aber ein Sicherheitsrisiko darin befürchtet. Und das wäre es bei einfachen Algos ja auch.

Zitat:
Zitat:
Zitat:
Wann gibt es denn das neue DEC?
Die Grundlagen, Hashs, Formate, CRC's sind fertig. Es fehlen noch die Cipher. Diese werden von 40 Stück stark reduziert. Es wird also nur noch eine Auswahl geben. Allerdings dies ist nicht das eigentliche Problem. Viel problematischer ist die Frage wie die Cipher in Zukunft benutzt werden sollen. Ich streite mich noch mit mir selber über die Frage ob die Cipher nun Low-Level-Algos. oder Higher-Level-Algos. sein sollen. Im bisherigen DEC sind es Low-Level-Algos. bei denen der Benutzer wissen muß wie er was mit den Cipher macht. Zb. Messagepaddings, Blocksize berücksichtigen, Header einfügen und rausnehmen, Progresscallbacks usw. D.h. die bisherigen Cipher sind nur die Algos. und ein bischen Interface. Da dies im DEC nirgendswo implizit steht haben viele Benutzer falsche Vorstellungen entwickelt was z.B. Cipher.EncodeStream() wie macht.
Würde ich aber dies "benutzersicher" machen, dann hiese das aber das die Cipher nicht mehr universell nutzbar sind und alles was ver/entschlüsselt wird eben DEC spezifisch ist.
Die Frage kann ich dir einfach beantworten:
Mach beides. Ich persönlich hätte lieber die fertige Variante gehabt, aber mit der jetzigen bin ich auch ganz gut klargekommen.
Dennoch ist es sicherlich für den Anfänger immer sicherer, wenn der Cipher einfacher zu verwenden ist. Mach es doch so:
Du lässt es wie es jetzt ist, fürst dann aber noch Funktionen zu professionellen vorgegebenen Verschlüsseln etc ein.
Also z.B.:
Delphi-Quellcode:
//Die Funktionen zum vorgefertigten Verarbeiten von Daten (gleich mit speichern von Zufallsdaten, Hash etc)
function CompletelyEncodeString()
function CompletelyDecodeString(): boolean; //Ausgabe: Hash-Werte stimmen überein
function CompletelyEncodeFile(CipherClass, HashClass, Passwd...)
function CompletelyDecodeFile() //Cipher und Hash sind im Header gespeichert und werden automatisch verwendet

// Und natürlich noch die normalen Funktionen, wie sie jetzt existieren
Ich fände es so am besten. Dann kann man nämlich, wenn man selbst nicht so viel Ahnung hat, deine Funktionen verwenden und kann sich dennoch sicher sein, dass es professionell verschlüsselt ist.

Aber ich weiß natürlich auch, dass es kein unerheblicher Arbeitsaufwand ist das so zu gestalten, dass die Leuts das dann auch vernünftig verwenden können.

MfG,
Daniel.
  Mit Zitat antworten Zitat