AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

einfaches Entschlüsselungsproblem

Ein Thema von Penelopee · begonnen am 31. Dez 2005 · letzter Beitrag vom 13. Jan 2006
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: einfaches Entschlüsselungsproblem

  Alt 31. Dez 2005, 13:08
Auch dir alles Gute für das kommende Jahr, Penelopee.

Was du falsch gemacht hast kann ich dir nur sagen, wenn du vorher verrätst, was du eigentlich machen wolltest.

Dein Code sieht etwas seltsam aus. Die Nachricht wird mit jedem Zeichen aus dem Schlüssel einmal "verschlüsselt". Das Alphabet für deine Nachricht und den Schlüssel muss in beiden Fällen ['A'..'Z'] sein, sonst funktioniert es nicht.

Delphi-Quellcode:
// Einfachverschlüsselung, rollender Schlüssel
function Cipher(const text, key: string; encoding: boolean): string;
var
  i: integer;
  t, k, c: integer;
begin
  SetLength(Result, Length(text));
  for i := 1 to Length(text) do
  begin
    t := Ord(text[i]) - 65 + 26;
    k := Ord(key[Succ(Pred(i) mod Length(key))]) - 65;
    if encoding
      then c := t + k
      else c := t - k;
    Result[i] := Chr(65 + (c mod 26));
  end;
end;

function Encode(const text, key: string): string;
begin
  Result := Cipher(Text, key, true);
end;
Wie könnte denn die Funktion Decode() aussehen?

Silvestergrüße vom marabu


Nachtrag:

Du wolltest wahrscheinlich gar keinen rollenden Schlüssel!?

Delphi-Quellcode:
// Mehrfachverschlüsselung
function Cipher(const text, key: string; encoding: boolean): string;
var
  i, j: integer;
  t, k, c: integer;
begin
  SetLength(Result, Length(text));
  for j := 1 to Length(key) do
    for i := 1 to Length(text) do
    begin
      t := Ord(text[i]) - 65 + 26;
      k := Ord(key[j]) - 65;
      if encoding
        then c := t + k
        else c := t - k;
      Result[i] := Chr(65 + (c mod 26));
  end;
end;
Nachtrag zum Nachtrag:

Diese Form der Mehrfachverschlüsselung hat keinen Einfluss auf die Sicherheit, vervielfacht aber den Rechenaufwand.
  Mit Zitat antworten Zitat
 


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 08:01 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-2025 by Thomas Breitkreuz