AGB  ·  Datenschutz  ·  Impressum  







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

Entschluesselungsalgorithmus

Ein Thema von Noris · begonnen am 26. Okt 2010 · letzter Beitrag vom 31. Okt 2010
Antwort Antwort
Noris

Registriert seit: 17. Nov 2009
Ort: Berlin
29 Beiträge
 
Delphi 6 Personal
 
#1

AW: Entschluesselungsalgorithmus

  Alt 26. Okt 2010, 15:26
Und wie wäre es möglich das problem mit dem "mod" zu lösen?

hier die GetStellenWertVon-function:

Delphi-Quellcode:
function TKryptoBox.GetStellenWertVon (Zeichen : char) : integer;
(* -------------------------------------------------------------------- *)
begin
   case Zeichen of
    'A'..'Z' : Result := ord(Zeichen) - 65 ;
     ' '     : Result := 26;
   end;
end;
<a href="http://www.coreandgaming.de"><img src="http://coreandgaming.de/AdminImages/mano.png" border="0" alt="Core N' Gaming" /></a>

Geändert von Noris (26. Okt 2010 um 15:31 Uhr)
  Mit Zitat antworten Zitat
fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Entschluesselungsalgorithmus

  Alt 26. Okt 2010, 16:31
Erklär doch mal was du hier machen willst, ich sehe da nämlich nur einen geringen Sinn........

Delphi-Quellcode:
for i := 1 to length(Klartext) do
  begin
    for k:=1 to length(Schluessel) do
    begin
      if Klartext[i] = Schluessel[k] then
      begin
        if k mod 2 = 0
          then Zwischentext[i] := Schluessel[k-1]
          else if k < length(Schluessel)
                  then Zwischentext[i] := Schluessel[k+1]

      end;
    end;

...
Beispiel deiner Funktion:
Klartext := 'HALLOWELT';
Schluessel := 'HOLBERT';

Das (müsste) passieren:
Klartext[1] = Schluessel[1] stimmt
k ist 1, also ist k mod 2 = 1 -> else tritt ein
Zwischentext: 'IALLOWELT';

Klartext[1] = Schluessel[2] stimmt nicht
...


-> jedenfalls ist der erste Buchstabe schonmal das 'I'


Jetzt machen wir das mit deiner Methode wieder rückgängig
Delphi-Quellcode:
 for i:= 1 to Length(Geheimtext) do
 begin
 
  for k:=1 to length(Schluessel) do
    begin
      if Geheimtext[i] = Schluessel[k] then
        begin
          if k mod 2 = 0
           then Zwischentext[i] := Schluessel[k-1]
           else if k < length(Schluessel)
                   then Zwischentext[i] := Schluessel[k+1]


        end;
    end;

...
I ist nicht gleich dem ersten Buchstaben aus dem Schlüssel, der ist ja H.
I kommt gar nicht im Schlüssel vor, also wird Geheimtext[1] = Schluessel[k] nie zutreffen und das I wird nie rückgängig gemacht





Im Prinzip musst du deine Verschlüsselungsmethode beim Entschlüsseln genau umgekehrt machen.
Das
Delphi-Quellcode:
Zeichen := Zwischentext[i];
    GTwert := GetStellenwertVon(Zeichen);
    KeyL := Length(Schluessel);
    KTWert := (GTWert - KeyL + 2700 - getStellenWertvon(Schluessel[3])) mod 27;
    //Zwischentext := Zwischentext + GetZeichenVon(GTWert);
    Zeichen := GetZeichenVon(KTWert);

    KLartext := Klartext + Zeichen;
muss also in geänderter Form oberhalb von
Delphi-Quellcode:
for i:= 1 to Length(Geheimtext) do
 begin
 
  for k:=1 to length(Schluessel) do
    begin
      if Geheimtext[i] = Schluessel[k] then
        begin
          if k mod 2 = 0
           then Zwischentext[i] := Schluessel[k-1]
           else if k < length(Schluessel)
                   then Zwischentext[i] := Schluessel[k+1]


        end;
    end;
stehen, weil es beim verschlüsseln schon in dieser Reihenfolge stand.

Wenn du nochmal genauer erklärst, was deine einzelnen Schritte machen sollen, können wir dir vielleicht weiter helfen

Geändert von fui-tak (26. Okt 2010 um 16:33 Uhr)
  Mit Zitat antworten Zitat
Noris

Registriert seit: 17. Nov 2009
Ort: Berlin
29 Beiträge
 
Delphi 6 Personal
 
#3

AW: Entschluesselungsalgorithmus

  Alt 28. Okt 2010, 14:23
So ich habe mal das ganze Programm als anhang hinzugefügt so dass ihr es euch runterladen könnt weil es glaube ich ein wenig zu unübersichtlich werden würde wenn ich da jede sache einzel als [delphi]-code posten würde. Also guckt es euch mal an. Ich hoffe ihr könnt mir helfen.
Angehängte Dateien
Dateityp: zip Entschluesselung.zip (230,1 KB, 8x aufgerufen)
<a href="http://www.coreandgaming.de"><img src="http://coreandgaming.de/AdminImages/mano.png" border="0" alt="Core N' Gaming" /></a>
  Mit Zitat antworten Zitat
fui-tak

Registriert seit: 24. Okt 2008
117 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Entschluesselungsalgorithmus

  Alt 28. Okt 2010, 15:15
Ahh, die Information hat mir gefehlt: es geht um die Cäsar-Verschlüsselung

Ich geb dir dazu mal ein paar Tipps. Code kann ich dir jetzt nicht aufschreiben, weil es sich anscheinend um eine Hausaufgabe handelt.

Also dein Code kommt mir persöhnlich nicht besonders Cäsar-nah vor. Geht es wirklich um Cäsar wenn dein Schlüssel ein String ist? Bei Cäsar ist der Schlüssel nämlich eine Zahl.

Hier mal etwas Pseudo-Code, wie man Cäsar machen könnte:

Code:
Text vorbereiten
Schlüssel vom Typ integer

0 < i <= Länge des Klartextes
begin
   Ord(Klartext an der Stelle i) mit dem Schlüssel Addieren (Alphabeth wird soweit verschoben, wie es der Schlüssel angibt)
   Überlegen, was passieren muss, wenn der addierte Wert größer als der Ord()-Wert von Z ist
   Addierten Wert wieder zum Buchstaben machen mit Chr(...) und beim Geheimtext anhängen
end;
Und Entschlüsseln ist jetzt ganz einfach ...
  Mit Zitat antworten Zitat
Noris

Registriert seit: 17. Nov 2009
Ort: Berlin
29 Beiträge
 
Delphi 6 Personal
 
#5

AW: Entschluesselungsalgorithmus

  Alt 28. Okt 2010, 17:43
Nein es ist keine reine Cäsar-Verschluesselung. Es kommt nämlich dazu dass die Buchstaben des SChluesselwortes mit in die Verschluesselung mit einbezogen werden...
Hausaufgabe?
Nein eigentlich nicht und ich würde mich auch wundern wenn heutzutage ein lehrer Schülern noch diese Sprache beibringt (nichts gegen die Sprache ).

Mfg Noris
<a href="http://www.coreandgaming.de"><img src="http://coreandgaming.de/AdminImages/mano.png" border="0" alt="Core N' Gaming" /></a>
  Mit Zitat antworten Zitat
paperboy

Registriert seit: 10. Jun 2009
71 Beiträge
 
RAD-Studio 2009 Arc
 
#6

AW: Entschluesselungsalgorithmus

  Alt 28. Okt 2010, 18:13
Nein eigentlich nicht und ich würde mich auch wundern wenn heutzutage ein lehrer Schülern noch diese Sprache beibringt (nichts gegen die Sprache ).
aus der Unit uFenster: "Siegfried Spolwig, OSZ Handel"

kurz google bemüht und man findet: http://www.oszhandel.de/gymnasium/faecher/informatik/

will dir ja nix unterstellen aber sieht schon etwas verdächtig aus

lg paperboy
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Entschluesselungsalgorithmus

  Alt 28. Okt 2010, 18:18
Ähem: Und hier steht die Aufgabe.
Gib doch wenigstens zu, dass es sich um eine Hausaufgabe handelt
  Mit Zitat antworten Zitat
Noris

Registriert seit: 17. Nov 2009
Ort: Berlin
29 Beiträge
 
Delphi 6 Personal
 
#8

AW: Entschluesselungsalgorithmus

  Alt 28. Okt 2010, 18:19
erstmal vielen dank an dich.
Leider kommt da noch was :S
Ich bin ein wenig weiter gekommen. Das Problem ist blossdas die Buchstaben die im Schlüssel ungerade sind nicht dekodiert werden. ich würde mich über eine schnelle Antwort.
Ich hänge die neuste Version wieder als Anhang an.

Mfg Noris

PS: Zum neuen post von dir: Ich lerne Delphi mit einem Tutorial bzw. einem Buch was aber nicht so gut ist. Dort ist auch so eine Aufgabe zu finden.
Aus dem Alter bin ich "leider" schon draussen. Aber danke, mal gucken vlt. lässt sich dort etwas brauchbares finden

Mfg
Angehängte Dateien
Dateityp: zip Codieren(2).zip (432,5 KB, 6x aufgerufen)
<a href="http://www.coreandgaming.de"><img src="http://coreandgaming.de/AdminImages/mano.png" border="0" alt="Core N' Gaming" /></a>
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:30 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