![]() |
kurze Verschlüsselung
Hi
Ich suche eine kurze Verschlüsselungsmethode. Mit kurz meine ich die Länge des Strings nach der Verschlüsselung. MD5 wäre optimal in der Länge, nur bringt es mir nichts da der String wieder entschlüsselt werden muss! Ich habe es mit Verschiebung und Xor miteinander versucht, sieht zwar gut aus , ber beeinhaltet alle Zeichen. Manchmal gibt es dann Probleme das die Zeichen nicht richtig angezeigt werden. Deshalb sollten nur Zahlen und Buchstaben in der Verschlüsselung enthalten sein. Den String in ASCII Werte umwandeln finde ich nicht so super da der String dann gerade doppelt so lang ist. Gruss Blumi |
Re: kurze Verschlüsselung
Hai Blumi,
was spricht denn dagegen das der verschlüsselte Text nicht darstellbare Zeigen enthält? Wenn es aber zingend so seinn muss könntest Du ihn nach dem verschlüsseln zum Beispiel in ![]() Selbstverständlich wird das Ergebniss dann länger sein. Aber das liegt nun einmal in der Natur der Sache. |
Re: kurze Verschlüsselung
Moin Blumi,
du mußt dir schon klar werden, ob du eine wirkliche Verschlüsselung willst, dann ist die verschlüsselte Nachricht immer mindestens genauso lang wie die Ausgangsnachricht (und vor allem kannst du dann die Bedingung abschreiben, daß die Zeichen "printable" sein müssen). Wenn du hingegen nur die Absicht verfolgst, die Nachricht unlesbar zu machen, aber nicht auf Unknackbarkeit wertlegst, dann kannst du auch eine einfache Verschiebung (ala ROT13) nehmen. Das dürfte dann keinen Einfluß darauf haben, ob der Text "printable" ist. Denn es wird nur in einem bestimmten Rahmen "verschoben". Ansonsten gilt das von Sharky Gesagte! |
Re: kurze Verschlüsselung
Zitat:
|
Re: kurze Verschlüsselung
Liste der Anhänge anzeigen (Anzahl: 1)
Ein Beispiel für lesbare XOR-Verschlüsselung:
Delphi-Quellcode:
Beispielanwendung im Anhang.
const
hexes:array[0..15] of char=('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); function hextobyte(hex:string):byte; var i:integer; begin for i:=0 to 15 do if hexes[i]=hex[1] then result:=16*i; for i:=0 to 15 do if hexes[i]=hex[2] then result:=result+i; end; function bytetohex(b:byte):string; begin result:=hexes[b div 16]+hexes[b mod 16]; end; function encodexor(data,password:string):string; var i:integer; begin result:=''; for i:=1 to length(data) do result:=result+bytetohex(byte(data[i]) xor byte(password[1+(i mod length(password))])); end; function decodexor(data,password:string):string; var i:integer; begin result:=''; for i:=1 to (length(data) div 2) do result:=result+char(hextobyte(data[i*2-1]+data[i*2]) xor (byte(password[1+(i mod length(password))]))); end; |
Re: kurze Verschlüsselung
Zitat:
Für mich gibt es nur 2 Fälle: entweder man packt die Ausgangsnachricht und verschlüsselt dann, oder (nicht ganz so clever) man verschlüsselt die Ausgangsnachricht und packt die verschlüsselte Nachricht. |
Re: kurze Verschlüsselung
Zitat:
doch eigentlich nur wenn die Verschlüsselung die Daten vergrößert. Wenn die Größe gleichbleibt ist es ne 50%/50% chance wie rum es Platzsparender wäre.... |
Re: kurze Verschlüsselung
die ausgangsdaten lassen sich i.d.r. besser komprimieren.
deshalb erst komprimieren, dann verschluesseln. |
Re: kurze Verschlüsselung
Zitat:
|
Re: kurze Verschlüsselung
Hallo,
Zitat:
Gruß xaromz //Edit: Zitat korrigiert |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz