Text Verschlüsseln.
-
Auf der Seite, die ich oben verlinkt habe, steht etwas weiter unten ein Link zur "reference implementation". Allerdings sollten die meisten Krypto-Bibliotheken inzwischen ein entsprechendes Modul mitbringen, du kannst also auch gnutls o.ä. verwenden.
-
Hab jetzt gerade gelesen das man die Informtionen verschlüsseln kann,
aber nicht wieder entschlüsseln.... Was bringt das dan?
-
Wenn Du zwei gleiche "Nachrichten" verschlüsselt hast, kannst Du vergleichen, ob die gleich sind

-
seldon schrieb:
Wenn es um die lokale Speicherung von Passwörtern geht, dann ist das Verfahren mit kryptographischen Hashfunktionen, wie ich es oben umrissen habe, ein sinnvolles.
Hä? Er muss doch wieder an das Passwort in Klartext kommen, um es an den Server zu schicken.

-
Also wenn du wirklich sicher verschlüsselt speichern willst und es auch wieder entschlüsseln, dann kommen nur Key basierte Systeme in Frage.
Um in diese Materie einzusteigen solltest du dich schonmal mit den gängigen vertraut machen, die da wären:
3DES, AES, RSA, Rijndael, TwoFish.
(Gibt sicherlich noch mehr aber das sind so mit die gebräuchlichsten. Google und viel Zeit sind hier dein Freund)
Dazu um das auch wirklich sicher umsetzen zu können solltest du dir auch noch Wissen aneignen wie man zum Beispiel mit sehr grossen integer Werten arbeitet.
Ich rede hier nicht von 18~ Stellen long long sondern von zahlen mit 512 - 4096 Stellen (Google: Big Integer und natürlich Implementierunsbibliotheken, man muss das Rad ja nicht zwei mal erfinden).Dan kommen noch dazu das du für die oben genannten Verschlüsselungsmethoden einen ausreichend guten Pseudo Random Generator (Google: RNG und PNRG) brauchst. Da wären vier zu nennen:
Mersenne Twister, Blum Blum Shub, Yarrow und Fortuna
(Wobei man mittlerweile einig ist das der Mersenne Twister Cryptografisch nich sicher ist)
Alles in allem ist deine Random Zahl qualitätsmässig von der Entropie (Google: Entropie) deines Inputs abhängig. Hier haben Linuxuser einen Vorteil da sie auf einen Systemgenerierten recht guten Entropiepool zugreifen können).
Das wären also die Zwei Weg verfahren, die Einwegverfahren hat seldon ja schon angesprochen.
[Edit:] Auch ein Komprimierungsverfahren kann noch die Verschlüsselung verbessernd vor/wärend/nach dem verschlüsseln eingesetzt werden!!
[Edit Edit:] Du kannst das ver- und entschlüsseln ohne weiteres als Königsdisziplin der Programmirung verstehen. Und jeder Implementierungsfehler/Programmfehler kann deine noch so sichere Versclüsselung zunichte machen.
[Edit Edit Edit:] Ach so ja ich hab die Primzahlen vergessen, auch hier sind wirklich grosse Primzahlen gemeint. Die algorthmen und möglichkeiten eine Zahl auf Prim zu testen sollten dir auch bekannt sein oder du solltest dich damit auseinander setzen.
-
Hallo

@Cho++
MD5, SHA etc. welche seldon bereeits nannte, nutzten in deinem Fall nicht besonders viel. Dabei lässt sich das Verschlüsselte nicht zurück errechnen. Eine Einsatzmöglichkeit besteht beispielsweise darin, unsere Kennwörter in dieser Form in eine Datenbank zu speichern. Beim Login-Versuch, wird das eingegebe (bsp.) in eienm MD5-Wert errechnet und mit dem Eintrag in der Datenbank verglichen. Vorteil: Die Kennwörter liegen in der Datenbank nicht als Klartext.Nun, du musst jedoch das verschlüsselte wieder entschlüsseln um es zur authentifizierung an den Mail-Server zu senden.
Gruss,
anneXusPS: Schreibfehler sind der iOS Tastatur zu verdanken

-
3DES, AES, RSA, Rijndael, TwoFish.
AES reicht.
Wissen aneignen wie man zum Beispiel mit sehr grossen integer Werten arbeitet
Fuer AES nicht.
Pseudo Random Generator (Google: RNG und PNRG) brauchst
Wird nirgends bei AES erwaehnt.
Du kannst das ver- und entschlüsseln ohne weiteres als Königsdisziplin der Programmirung verstehen
Keine Ahnung was an AES koeniglich sein soll. Im Vergleich zum Compilerbau eher einfach.
Und jeder Implementierungsfehler/Programmfehler kann deine noch so sichere Versclüsselung zunichte machen.
AES ist sehr einfach zu implementieren. Aber fuer den Produkte wuerde ich auch eine Bibliothek wegen der Geschwindigkeit verwenden, z.B. crypto++.
Ach so ja ich hab die Primzahlen vergessen, auch hier sind wirklich grosse Primzahlen gemeint.
Nicht fuer AES.
-
Cho++ schrieb:
Ich programmiere gerade an einem Login Fenster. Jetzt möchte ich die
Daten in ein Datei speichern nur vorher muss ich, dass ja verschlüsseln.Welche Daten? Wofür verschlüsseln?
Cho++ schrieb:
Welche verschlüsselungs Methode eignet sich da?
Was verwenden grosse Firmen?Kommt drauf an. Ich würde schon behaupten, dass ich mich relativ gut mit Kryptographie auskenne. Ohne zu wissen, was Du eigentlich erreichen willst, kann ich Dir da aber leider keinen Tipp geben. Und auf Raten habe ich jetzt im Moment auch keine Lust.
-
Travor schrieb:
Wenn Du zwei gleiche "Nachrichten" verschlüsselt hast, kannst Du vergleichen, ob die gleich sind

Kommt drauf an, wie sie verschlüsselt werden. Verwendest Du beispielsweise AES im CBC-Modus und für jede Nachricht einen neuen, zufällig generierten Initialisierungsvektor, sehen die verschlüsselten Nachrichten immer anders aus, auch wenn der Klartext derselbe war.
-
knivil schrieb:
...
Und wie stellst due dann einen Key in einer vernünftigen länge her?
-
krümelkacker schrieb:
Travor schrieb:
Wenn Du zwei gleiche "Nachrichten" verschlüsselt hast, kannst Du vergleichen, ob die gleich sind

Kommt drauf an, wie sie verschlüsselt werden. Verwendest Du beispielsweise AES im CBC-Modus und für jede Nachricht einen neuen, zufällig generierten Initialisierungsvektor, sehen die verschlüsselten Nachrichten immer anders aus, auch wenn der Klartext derselbe war.
Ja, Du hast recht

Ich habe angenommen er möchte das Passwort überprüfen, ohne den irgendwo sichtbar zu hinterlassen..
-
Videonauth schrieb:
knivil schrieb:
...
Und wie stellst due dann einen Key in einer vernünftigen länge her?
32 Zeichen? Sollte nicht schwer sein. Eine Zufallszahl muss irgendwo abgespeichert, mein eigenes Passwort ist im Kopf. Alternativ kannst du auch einen DNA-Ausschnitt vom letzten Vaterschaftstest nehmen.
-
Wenn ich inzwischen richtig verstehe, worum es hier geht (das Passwort, mit dem der E-Mail-Client sich am Server anmelden soll, verschlüsselt irgendwo abzulegen), stellt sich ein anderes, konzeptionelles Problem: Um das Passwort zu entschlüsseln, musst du den Schlüssel haben. Ihn direkt neben die verschlüsselten Daten zu legen, ist offenkundig Unfug, und vom Benutzer ein Passwort anzufordern, um das Passwort zu entschlüsseln und an den Server zu schicken, macht erst dann Sinn, wenn du viele Passwörter zu verwalten hast - das ist bei E-Mail-Clients eher selten.
-
Also ich kenne schon einige Leute die mehr als ein Email Konto haben.
-
@Cho++
Jetzt wurde ja bereits viel gesagt und einige Möglichkeiten und Ansätze genannt. Mich interessiert folgendes, wie genau stellst du dir das etwa vor? Soll beim Öffnen deiner Anwendung (E-Mail Client) eine Kennwortabfrage stattfinden (Kennwort für das entschlüsseln der Passwörter) um damit arbeiten zu können oder wie (wobei es anders kaum Sinn machen würde, da sonst das Kennwort für das Entschlüsseln der E-Mail Kennwörter im Klartext da liegen würde)?
Nur mal als Beispiel, Outlook verschlüsselt die eingegebenen Kennwörter nicht. Und viele Firmen verwenden Outlook. Damit möchte ich dich jetzt nicht von deinem Vorhaben abbringen sondern nur so als Info für dich. Sicherheit ist generell empfehlenswert!
