Beste Verschlüsselung für große Mengen von Daten (Geschwindigkeit ist wichtig)?

Ich bin relativ neu in C# und Verschlüsselung, also bitte Geduld mit mir. Ich arbeite an einer business-Anwendung (in C#.NET 4.0, VS 2010), die speichert sehr viele Daten und muss es auch Lesen können Recht große Mengen von Daten und filter, um Sie anzuzeigen (meist im datagridview, manchmal nur einige Berechnungen,...). Sowieso Daten muss verschlüsselt werden und es muss möglich sein, zu verschlüsseln und zu entschlüsseln, nur Teile von Dateien (in der Reihenfolge zu schreiben & Lesen von zufälligen Positionen). Speed ist wichtig (sollte der Benutzer nicht warten, für die Daten zum laden von&display), Sicherheit kommt an zweiter Stelle. Der computer, auf dem diese ausgeführt wird, werden mindestens dual-core mit 2,0+ Ghz und mindestens 2 GB RAM.

Ich dachte über die Verwendung einer relativ großen (etwa 1 MB) xor-pad, die zur Laufzeit errechnet werden. Ich denke, dass eine benutzerdefinierte Datei design in binärer Kombination mit xor sollte relativ gute Sicherheit und Geschwindigkeit. Aber jetzt begann ich darüber nachzudenken, mit etwas, das stärker ist, wenn es ist immer noch schnell genug, vielleicht AES (wahrscheinlich .NET-Implementierungen: Rijindael oder Serpent oder Twofish). Also, was denkst du ist es am besten? Was tun andere Firmen /Entwickler in der Regel verwenden Sie in solchen Fällen? Wie schnell /langsam ist, ist AES? I/O-Operationen sind schon sehr langsam und ich weiß nicht, ob AES werden die Dinge noch schlimmer machen, oder es vielleicht nicht einmal bemerkt.

Oder haben Sie vielleicht andere Ideen, wie man zu verschlüsseln, die Daten schnell genug?

p.s. Ich weiß, dass, wenn jemand erfolgreich(!) debuggt oder zerlegt Sie den code, den er kann die Daten entschlüsseln.

EDIT: ich bin nur die Entwicklung einer benutzerdefinierten Anwendung für einen Kunden, so kann ich nicht Sie zu zwingen, bessere hardware, kann ich nur empfehlen, bessere hardware. Meine software besteht hauptsächlich aus 3 teilen, POS -, server-und eine Art manager. Wenn Sie denken, dass meine erste Idee (eine Art xor) ist nutzlos, und dass ich verwenden soll einige bessere Verschlüsselung bitte zumindest versuchen einzuschätzen, welche Art von hardware (minimum) würde die gewünschten Ergebnisse ("schnell genug" = Entschlüsselung sollte keinen Einfluss auf die Anzeige von Daten, zum Beispiel, wenn es dauert 1s um die Daten zu laden und die Anzeige im datagridview-es sollte nicht mehr als 1,2-1,3 s, das gleiche zu tun mit der Entschlüsselung).

  • Komprimiert die Daten, so dass Sie nicht so groß? Ich vermute Nein, mit der ganzen Geschwindigkeit Ding.
  • Auch Festplatten sind Billig, so dass ich wirklich don ' T care so viel über Größe, Kompression würde wahrscheinlich nur verlangsamen, alles oder vielleicht bieten eine minimale Erhöhung der Geschwindigkeit auf Kosten der Komplexität.
InformationsquelleAutor Ben | 2011-02-20
Schreibe einen Kommentar