Eigene Verschlüsselung für Textdateien?

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von ThePlexian.

    Eigene Verschlüsselung für Textdateien?

    Hallo

    Ich möchte gerne den Text in einer Textdatei "verschlüsseln" und "entschlüsseln" können, mit einer Methode die nicht durch Programme von Dritten entschlüsselt werden kann. (Durch eine eigene Verschlüsselung?)

    Beispiel:


    Normal ( / Entschlüsselt):
    Name=Max Mustermann
    Alter=34
    Größe=188


    Verschlüsselt:
    NERL319DK
    NEBWPEJ29
    BNZMNWE3



    Es soll schon so kompliziert wie möglich verschleiert sein, damit man wirklich nicht herausfinden kann, welche Informationen dahinter stecken. :)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Moin,

    verwende nie eigene Verschlüsselungen und wenn dann nur funktionstüchtige, die für jeden erkennbar und trotzdem sicher sind.
    Schnappe Dir wenn dann richtige Möglichkeiten das zu machen.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Wie genau meinst du das?


    Normalerweise könnte doch eine eigene Verschlüsselung sein, bei der man zum Beispiel alle Buchstaben (Zahl des nächsten Buchstabens) + 2 - 12 + 3 - 5 + 17
    Das wäre dann: A + 2 = C - 12 = S + 3 = V - 5 = Q + 17 = H

    Aus A wird H und jedes Leerzeichen könnte man durch 00 ersetzen was dann z.B so aussieht: A(Leerzeichen) = H00
    Da niemand weiß, wie der Text umgewandelt worden ist, sollte es ja ziemlich schwer sein ihn wieder herzustellen.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Natürlich weiß jeder sofort, wie der Text plain war, wenn er sich den Algorithmus anschaut.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ja. Falls Du jetzt auf die Idee kommen solltest, das zu obfuskieren, das ist auch sinnlos. Security through Obscurity hat noch nie funktioniert.
    Außerdem muss ein gescheiter Algorithmus, wie gesagt, für jeden sichtbar sein.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Vultrax schrieb:

    Durch eine eigene Verschlüsselung
    Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Könnte hier hilfreich sein, deshalb poste ich es mal:
    Schema beim Verschlüsseln:

    Und beim Entschlüsseln:


    Beim Verschlüsseln gibt es immer ein Geheimins, das nur die jenigen wissen dürfen, die den Klartext sehen dürfen.
    Das nennt sich Schlüssel.
    Damit man wieder den Klartext bekommt, muss man die verschlüsselten Daten, den Schlüssel und die Methode kennen.

    Was Du machst, ist Daten in eine andere Form überführen. Wie z.B. Base64, oder wenn man abstrakter denkt auch z.B. JSON, XML oder eine Word-Datei oder ein Audio-Codec. Es muss nur die Methode bekannt sein, damit man zwischen beiden Darstellungen hin und her konvertieren kann. Und da liegt eben das Problem. Du kannst nicht verhindern, dass der Angreifer die Methode verwendet, um wieder an den Klartext zu kommen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Es gibt eine einfachere und dennoch gute Alternative.
    Text mit RC4 oder RC6 verschlüsseln. Das Kennwort wird per TLS Verbindung übertragen(von einem Server).
    So kann nicht gleich jeder Anfänger das auslesen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „3Angle“ ()

    Was bringt es, wenn man das Kennwort vom Server holt?
    An das Kennwort kommt der Angreifer auch dran (das Programm muss es ja auch können).

    Und soweit ich gehört habe (Quelle: SemperVideo) ist RC4 nicht mehr auf dem aktuellsten Stand. Ich würde AES(256) empfehlen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Wenn du wirklich eine einfache Verschlüsselung suchst, nimm einfach eine XOR-Verschlüsselung. Da mag der eine oder andere jetzt vielleicht drüber lachen, aber wenn man ein ordentliches (langes) Passwort hat, bekommt das keiner so schnell geknackt. Da mag mir jeder erzählen was er will! ^^
    Verstehe noch nicht ganz, warum man nicht einfach AES256 nimmt, wo dann hohe Sicherheit gewährleistet ist und man muss nichts großartig selber machen. ;)
    Das Problem mit XOR ist z. B. das immer wieder gleiche Sequenzen auftauchen können, die es dann einfacher machen das Ganze zu knacken, da man diese direkt raussieht.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ich verstehe den Sinn noch nicht so ganz:
    Willst du jetzt a) einfach die Datei für Unwissende unleslicher machen oder b) richtig verschlüsseln ?
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais