AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

RC4 Textlänge

Ein Thema von Sierra · begonnen am 27. Dez 2006 · letzter Beitrag vom 7. Jan 2007
Antwort Antwort
Seite 1 von 5  1 23     Letzte » 
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#1

RC4 Textlänge

  Alt 27. Dez 2006, 14:35
Hi!
Ich habe mal die wunderbare RC4 Unit aus der Code-Library ausprobiert und bin auch voll und ganz zufrieden.
Es gibt nur ein Problem, nämlich wird bei einem längeren text zwar alles verschlüsselt, aber beim Entschlüsseln fehlen Textteile (hat das eventuell was mit Absätzen zu tun?).
Woran könnte das liegen?

Vielen Dank.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#2

Re: RC4 Textlänge

  Alt 27. Dez 2006, 15:25
Nachdem man einen lesbaren Text verschlüsselt hat stehen im Resulat binäre Daten. Also auch das Zeichen #0 bzw. Byte = 0. Dieses Zeichen ist bei Strings aber der Null-Terminator, der einen lesbaren String beendet. Wenn du also das Resulat vom RC4 ständig neue Strings zuweist so schneidet die String-RTL diesen String ab. Suche mal nach der RCx Unit, dort wird der Resulat String in das HEX Format umgewandelt, damit kann das nicht mehr passieren.

Gruß Hagen
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#3

Re: RC4 Textlänge

  Alt 27. Dez 2006, 20:48
Vielen Dank!
Ich habe zwar die Unit gefunden, die du meinst, aber welcher Teil ist jetzt unbedingt notwendig, um die hexadezimale Umwandlung zu vollziehen?

Vielen Dank.
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#4

Re: RC4 Textlänge

  Alt 28. Dez 2006, 15:22
Ehrlich gesagt habe ich auch nicht die Lust, ein paar Stunden lang durch den Algorithmus zu steppen, um herauszufinden, wo das hingehört.
Deshalb wäre ich ganz dankbar, wenn mir jemand helfen könnte.

Vielen Dank.
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#5

Re: RC4 Textlänge

  Alt 28. Dez 2006, 20:06
Hat denn niemand eine Antwort?
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#6

Re: RC4 Textlänge

  Alt 30. Dez 2006, 13:13
Hi!
Es wäre echt nett, wenn mir jemand bei diesem Problem auf die Sprünge helfen könnte, da es sehr wichtig für mich ist.

Vielen Dank.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#7

Re: RC4 Textlänge

  Alt 30. Dez 2006, 20:53
Zitat von Sierra:
Es wäre echt nett, wenn mir jemand bei diesem Problem auf die Sprünge helfen könnte, da es sehr wichtig für mich ist.
Wenn "es sehr wichtig" für Dich ist, kann ich Deine andere Aussage nicht ganz verstehen und andere Leute wohl auch nicht: "Ehrlich gesagt habe ich auch nicht die Lust, ein paar Stunden lang durch den Algorithmus zu steppen, um herauszufinden, wo das hingehört."

Fakt ist, wie negaH schreibt, daß in der Regel im verschlüsselten Text #0-Zeichen vorkommen:

Zitat:
Also auch das Zeichen #0 bzw. Byte = 0. Dieses Zeichen ist bei Strings aber der Null-Terminator, der einen lesbaren String beendet. Wenn du also das Resultat vom RC4 ständig neue Strings zuweist so schneidet die String-RTL diesen String ab.
Die zweite Aussage ist allerdings schlichtweg falsch. #0 ist ein völlig legales Zeichen in Strings und wird von der RTL auch so behandelt. Nur beim pchar-Typ ist es das Endezeichen. Einige VCL-Routine sind buggy mit #0 in Strings (weil sie über pchar gehen).

Wir wäre es, wenn Du die ganze Sache (fast) vom Anfang beginnst: Das einfachste ist doch, ohne zusätzliche Hex-Umwandlung den verschlüsselten Memoryblock in eine (binäre) Datei zuschreiben.

Wolfgang
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#8

Re: RC4 Textlänge

  Alt 31. Dez 2006, 10:44
Das ich keine Lust habe durch den Algorithmus zu steppen liegt allein an dessen Länge.
Denn man muss sich vorstellen, dass, bis man einen #0 Wert gefunden hat, schon einige Zeichen bearbeitet werden müssen.
Und das nun von 0 bis 255 und wieder zurück.
Da sitzt man ganz schön lange dran.
Jetzt aber zu deinem anderen Tipp.
Wie genau funktioniert das?
Kannst du mir genauere Angaben machen?

Vielen Dank.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#9

Re: RC4 Textlänge

  Alt 31. Dez 2006, 15:32
Zitat von Sierra:
Das ich keine Lust habe durch den Algorithmus zu steppen liegt allein an dessen Länge. Denn man muss sich vorstellen, dass, bis man einen #0 Wert gefunden hat, schon einige Zeichen bearbeitet werden müssen. Und das nun von 0 bis 255 und wieder zurück. Da sitzt man ganz schön lange dran.
Aber nur wenn man nicht weiß, was man eigentlich tut. Verschlüssel doch einfach einen Block von lauter #0. Dann sollten alle entschlüsselten Bytes doch wieder #0 sein, oder an Deiner Implementation ist was grundsätzlich falsch.

Zitat:
Jetzt aber zu deinem anderen Tipp. Wie genau funktioniert das? Kannst du mir genauere Angaben machen?
Du weißt, was eine Datei ist oder nicht? Wenn nicht, vergiß am besten die ganze Sache. Ansonsten hier eine Skizze:

Verschlüsseln (setzt Deine realen Proceduren ein)

rc4_int(key, keylen);
rc4_encrypt(plaintext, ciphertext, len);
assign(f,'name.rc4');
rewrite(f,1);
blockwrite(f,ciphertext,len);
close(f);

Entschlüsseln:

rc4_int(key, keylen);
assign(f,'name.rc4');
reset(f,1);
blockread(f,ciphertext,len);
close(f);
rc4_decrypt(ciphertext, plaintext, len);
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#10

Re: RC4 Textlänge

  Alt 1. Jan 2007, 20:31
Du meintest bestimmt "AssignFile" und "CloseFile", oder?
Wenn ja, dann funktioniert es leider so nicht.
Auch hier werden die #0 Bytes berücksichtigt und kürzen somit leider immer noch den Text.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz