Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Affine Chiffre entschlüsseln (https://www.delphipraxis.net/157743-affine-chiffre-entschluesseln.html)

Patrick L. 23. Jan 2011 15:41

Affine Chiffre entschlüsseln
 
Hallo,

Ich habe einen Text der mit zwei Variablen verschlüsselt wurde. Zuerst werden die Buchstaben mit der Variable S verschoben und dann mit T multipliziert. Vom Ergebnis wird dann der Rest der Division durch 26 genommen.
Also hat der Text folgende Funktion zum Verschlüsseln:
Y=[(X+S)*T] mod 26

Nun muss ich die Funktion zum Entschlüsseln bilden, das ist auch kein Problem wenn es nur um die Multiplikation geht.
Z->25 T->17
(25 *17) mod 26 = 9 -> J
Das Inverse-Element zu 17 ist 23.
(9*23) mod 26 = 25 -> Z

Aber wie bekomme ich nun die Addition in die Umkehrfunktion?

Deep-Sea 24. Jan 2011 09:22

AW: Affine Chiffre entschlüsseln
 
Affine Chiffre in der deutschen Wikipedia.
Affine Chiffre in der englischen Wikipedia.

Zitat:

Zitat von Wikipedia
Die affine Chiffre ist für längere Texte ein sehr schwaches Verschlüsselungsverfahren.

Aber das sollte ja eigentlich bekannt sein :wink:

Patrick L. 24. Jan 2011 19:11

AW: Affine Chiffre entschlüsseln
 
Das die Verschlüsselung unsicher ist, ist mir bekannt. Ich will ja nur den Text entschlüsseln. Den Wikipedia-Artikel habe ich schon gelesen. Der bringt mir nicht so viel, da die dortigen Formeln nur gelten, wenn man den Buchstaben zuerst multipliziert und dann verschiebt.

Edit sagt:

Manchmal sieht man den Wald vor lauter Bäumen nicht. :-)
Meine Funktion zum Entschlüsseln stimmte die ganze Zeit, aber wenn man vorzeichenbehaftete Integer in vorzeichenlose umwandelt, braucht man sich nicht wundern, dass der Wertebereich von 0 bis 25 nicht stimmt.

Vielen Dank für die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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