Frage

Hallo zusammen Ich muss meine Daten mit Blowfish-Algorithmus in C ++ verschlüsseln ... kann euch sagen Sie mir, wenn das andere Ende weiß, was Algorithmus verwende ich kann sie nicht den Schlüssel extrahieren und entschlüsseln? Wie sicher sind die Daten, die durch dieses Verfahren?

War es hilfreich?

Lösung

kann euch sagen Sie mir, wenn das andere Ende weiß, was Algorithmus verwende ich kann sie nicht den Schlüssel extrahieren und entschlüsseln?

Nein. Der ganze Sinn der standardisierten Verschlüsselungsalgorithmen (im Gegensatz zu denen, die auf Dunkelheit verlassen) ist, dass, obwohl jeder alle Details davon weiß, kann man nicht entschlüsseln, es sei denn man hat den Schlüssel.

Dieser Ansatz funktioniert, weil der einzige Weg, um die Verschlüsselung zu knacken ist, alle möglichen Schlüssel, um zu versuchen, von denen es zu viele sind. Als Rechenleistung erhöht, früher „sichere“ Algorithmen würde „unsicherer“. Bei einigen Algorithmen kann es auch Fehler, die anderen Formen der Abzüge stattfinden können, die deutlich den möglichen Schlüsselraum verringern und damit diese Brute-Force-Angriffe beschleunigen. Aber (soweit wir wissen) Blowfish ist sicher hier.

den Schlüssel geheim zu halten ist wichtig, natürlich. Wenn Ihr Programm auch den Schlüssel enthält (wie es zu fragen, um den Benutzer oder eine Vorrichtung im Gegensatz oder zufällige Sitzungsschlüssel verwenden, die selbst Public-Key-Krypto verschlüsselten), dann ein Reverse-Engineering kann es wahrscheinlich finden und Ihr Schema brechen.

Ein wichtiger Teil des Schlüssel geheim zu halten ist, es zu halten „non-erratbar“ und wieder zu verwenden es nicht für andere Zwecke. Zufallsgenerierten Schlüssel sind die besten.

Auch durch die „anderes Ende“ Sie einen Angreifer bedeuten, nicht wahr? Normalerweise „das andere Ende“ bezieht sich auf Bob der beabsichtigte Empfänger, und er muss natürlich in der Lage sein, die Nachricht zu entschlüsseln.

Andere Tipps

Es gibt keine bekannten Angriffe gegen Blowfish (Stand Januar 2011), so dass Ihre Daten so sicher wie der Schlüssellänge (die in Blowfish kann bis zu 448 Bits).

Es ist mein Verständnis, dass eine der ganzen Punkte eines bestimmten Verschlüsselungs Kommissionierung und Entschlüsselung, die Methode ist, dass beide Enden des Kommunikationsstrom wird wissen, welche die Daten-Algorithmus verschlüsselt mit.

Wenn Sie „müssen“, um Ihre Daten verschlüsseln den Blowfish-Algorithmus, dann allein die Anforderung sollten Ihnen sagen, dass der Empfänger eine Nachricht erwartet, dass das Blowfish-Schema verschlüsselt.

Wie Thilo sagte, „der ganze Sinn von standardisierten Verschlüsselungsalgorithmen ... ist, dass, obwohl jeder alle Details der es kennt, kann man entschlüsseln es nicht, wenn man den Schlüssel hat.“

Der beste Weg, Man-in-the-Middle-Angriffe zu verhindern, und andere Angriffe, die böswillige Partei beteiligt Ihre Nachrichten abfängt, ist Ihr Schlüssel sicher zu halten - nicht hart-Code, um es in alle Programme (auch kompilierte Programme sein können mit Ihrem Empfänger analysiert) und Build vertraut, indem sichergestellt wird, dass ihre Sicherheitspraktiken die Möglichkeit eines bösartigen Agenten minimieren, um die relevanten Schlüssel zu beschaffen. Alternativ kann, wenn der Empfänger unterstützt, könnten Sie „One-Time-Pads“ verwenden -. Einzigartige Passwörter / Schlüssel für die Verschlüsselung Ihrer Daten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top