Textverschlüsselung als Bitmap



  • Ich hatte vorhin die kranke Idee, einen Text als Bild zu verschlüsseln. Das Resultat bisher: www.phynet.de/private/snOOfy/Gitmap_0.1.rar (250kb)

    Jetzt möchte ich das Ganze noch ein wenig verbessern:
    1. Wie kann ich die Zufallspixel schneller machen? Im Moment werden sie so erstellt:

    for (x=0; x<max*2+3; x++)  // max = Anzahl der Zeichen in der längsten Zeile
                                 // *2, weil nur jede 2. Spalte benutzt wird
                                 // +3, weil die erste und letzte Spalte leer bleiben
        for (y=0; y<redText->Lines->Count*2+1; y++)  // Jede 2. Zeile bleibt auch leer
          imgBild->Canvas->Pixels[x][y] = TColor(RGB(random(255),random(255),random(255)));
    

    2. Irgendwie ist das System nicht besonders sicher bisher...
    Die "Verschlüsselung":

    for (INT i=0; i<255; i++)
      CryptColor[i] = TColor(RGB(255-i,i,i/2));
    
      for (Zeile=0; Zeile<redText->Lines->Count; Zeile ++)
      {
        imgBild->Canvas->Pixels[0][Zeile*2] = CryptColor
          [redText->Lines->Strings[Zeile].Length()];    // im ersten Pixel der Zeile wird die Länge
                                                        // der Zeile gespeichert (zum Entschlüsseln)
        for (Zeichen=1; Zeichen<redText->Lines->Strings[Zeile].Length()+1;
                            Zeichen ++)
        {
          imgBild->Canvas->Pixels[Zeichen*2][Zeile*2] = CryptColor
            [INT(redText->Lines->Strings[Zeile][Zeichen])];  // der Pixel bekommt die zum Zeichen passende Farbe
        }
      }
    

    Im Moment könnte man das Bild theoretisch noch lesen, wenn man es z.B. ausdruckt hat (bei guten Augen und einem guten Drucker und viel Geduld 😃 ). Wie könnte ich das verhindern ohne den Text vor dem Umwandeln in ein Bild noch mit irgendwas anderem zu verschlüsseln (das würde das System mit dem Bild ja überflüssig machen)?



  • Übersetze mal: "Die Hölle ist heute heiß!!!" und dann zurück. Funktioniert nämlich nicht.

    Ich habe so etwas ähnliches gemacht. Allerdings habe ich das Textbild in den Fourierraum übertragen und dann abgespeichert. Habe festgestellt, daß das alles Mumpitz im Vergleich zu richtigen Algorithmen ist. Im Netz gibt es aber eine Menge dazu.



  • Ja es gibt noch ein Problem mit Umlauten und ß. Das liegt an der int() Funktion, weil die bei ö,ä,ü und ß negative Werte liefert und für die gibt es keine Farbe. Danke für den Tip, werd ich ma verbessern 🙂


Anmelden zum Antworten