Verschlüsseln / Entschlüsseln von Textdateien in Delphi?

8

Hi, ich würde gerne die beste Verschlüsselungstechnik für Textdateiverschlüsselung und Verschlüsselung kennen.

Mein Szenario:

Ich habe Software mit zwei Arten von Benutzern Administar und Operatoren. Unsere Anforderung besteht darin, eine Textdatei zu verschlüsseln, wenn der Administrator Daten über die GUI eingibt und speichert. Diese verschlüsselte Datei würde für Operator eingegeben werden und sie müssen sie nur auswählen und diese Datei verwenden. Hier sollte die Datei automatisch zur weiteren Berechnung entschlüsselt werden, wenn der Operator diese Dateien auswählt.

Bitte helfen Sie mir, welche Verschlüsselungs- / Entschlüsselungstechnik ich verwenden soll?

    
Hemant Kothiyal 06.05.2010, 10:01
quelle

3 Antworten

19

Eine goldene Regel bei der Kryptographie ist es zu verstehen, dass Kryptographie als Ganzes sehr schwierig ist.

Es gibt eine Vielzahl verschiedener Ansätze / Algorithmen zur Auswahl, und kein einziger Algorithmus / Methode kann als der beste bezeichnet werden. Es hängt alles von Ihren Bedürfnissen und Möglichkeiten ab, die Verteilung der Anwendungen zu beeinflussen.

Ein Beispiel für eine potentiell problematische Situation ist, dass in Ihrem Szenario der "Schlüssel" der Entschlüsselung mit den Anwendungen verteilt werden muss und diese möglicherweise unsicher macht. Dies wird im Allgemeinen als "Key Distribution" Problem bezeichnet.

Ein guter Ort, um über Krypto zu lesen, ist Ссылка .

Was fertige Sachen für Delphi angeht, gibt es ein paar gute Pakete:

Torrys Seiten haben auch eine lange Liste von Komponenten:

Ich empfehle dringend, einige der vorhandenen Implementierungen zu verwenden und nicht mit der eigenen zu beginnen, da das Erstellen eines sicheren, funktionierenden Krypto-Algo sehr schwierig ist.

    
K.Sandell 06.05.2010, 10:33
quelle
3

Wenn Sie eine verschlüsselte Nachricht von einem Ort / einer Anwendung zu einem anderen verschieben, müssen Sie eines der Probleme in Betracht ziehen, wo die Verschlüsselungs- / Entschlüsselungsschlüssel gespeichert werden sollen.

Wie es aussieht, scheint es in Ihren Anwendungen eingebaut zu sein. Wenn ja, denken Sie daran, alle Arten von Tricks zu verwenden, um es zu verbergen: Passwortstrings sollten in mehrere Bits aufgeteilt werden und nur in einem geschützten Speicherbereich angehängt werden, der als nicht auslagerbar gekennzeichnet wird (sonst könnte das Passwort in der Auslagerungsdatei zu sehen sein) br> Die gleichen Regeln für den Inhalt, der unverschlüsselt ist (die Textdatei). Es ist am besten, dass es niemals (auch nicht temporär) unverschlüsselt auf der Festplatte gespeichert wird. Wenn es gespeichert wird, überschreiben Sie das Datum nach der Verwendung mit Müll, bevor Sie es löschen.

Eine andere Möglichkeit (vor allem wenn Sie bereits Komprimierungskomponenten verwenden) ist, dass die (Text-) Datei mit einem Passwort komprimiert werden kann.

    
BennyBechDk 06.05.2010 11:39
quelle
3

Ehrlich gesagt gibt es keine "beste" Technik. Dies hängt im Wesentlichen von der Empfindlichkeit der zu schützenden Daten und der Anzahl der Personen ab, die auf diese Daten zugreifen können. Was für mich "das Beste" sein könnte, könnte purer Overkill für Ihr Projekt sein. In Ihrem Fall könnten Sie eine beliebige Zwei-Schlüssel-Verschlüsselungsmethode verwenden. Oder asymmetrischer Schlüssel . Grundsätzlich hat der Administrator einen Schlüssel und der Operator den anderen. Der Administrator kann dann Dateien verschlüsseln, aber er kann sie nicht wieder entschlüsseln, es sei denn, er hat einen Bedienerschlüssel. Der Bediener kann die Datei entschlüsseln und bei Bedarf eine Datei verschlüsseln, auf die nur ein Administrator zugreifen kann. (Asymmetrische Schlüssel verschlüsseln auf beide Arten.)

Es gibt mehrere Lösungen, die diese asymmetrischen Schlüssel verwenden. Der beste wäre derjenige, den Sie Ihrem Projekt auf die einfachste Weise hinzufügen könnten, während Sie immer noch genug Schutz für Ihre Bedürfnisse bieten.

Wenn Sie ein echter Math Wizard sind, können Sie auch Ihren eigenen asymmetrischen Schlüsselalgorithmus erstellen. Die Berechnungen sind komplex und beinhalten in den meisten Lösungen extrem hohe Primzahlen. Wie K. Sandell sagte, finden Sie eine gute, bestehende Lösung, die Ihren Bedürfnissen am besten entspricht.

    
Wim ten Brink 06.05.2010 12:22
quelle

Tags und Links