Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Rijndael Implementierung (https://www.delphipraxis.net/81641-rijndael-implementierung.html)

Sierra 30. Nov 2006 16:12


Rijndael Implementierung
 
Hi!
Wie ihr vielleicht schon in dem anderen Thread gelesen habt, bin ich gerade dabei ein kleines Verschlüsselungsprogramm zu schreiben und ich stehe auch bei diesem Algorithmus bei einem ähnlichen Problem.
Ich weiß nicht genau, wie er aufgebaut ist und wie er funktioniert.
Ich wäre auch hier sehr dankbar, wenn ihr mir helfen könntet.

Vielen Dank.

Matze 30. Nov 2006 16:21

Re: Rijndael Implementierung
 
Hi,

einfach googeln und finden. Zig Verschüsselungs- und Hash-Implementierungen gibt's auch im DEC von Hagen Reddmann (ich hoffe, ich habe den Namen richtig geschrieben).

Das DEC ist für Delphi, daher kannst du das auch direkt verwenden.

Sierra 30. Nov 2006 16:25

Re: Rijndael Implementierung
 
Im DEC habe ich schon nachgeschaut, jedoch ist mir das etwas zu verschachtelt, da mehrere Units aufeinander aufbauen und ich somit nicht genau nachvollziehen kann, welche Teile zu welchem Algorithmus gehören.

Vielen Dank.

gammatester 30. Nov 2006 20:11

Re: Rijndael Implementierung
 
Zitat:

Zitat von Sierra
Im DEC habe ich schon nachgeschaut, jedoch ist mir das etwas zu verschachtelt, da mehrere Units aufeinander aufbauen und ich somit nicht genau nachvollziehen kann, welche Teile zu welchem Algorithmus gehören.

Vielen Dank.

Wenn Du's unverschachtelt haben willst, kannst Du es mit meinen AES-Units versuchen, für jeden Modus eine eigene Unit.

http://home.netsurf.de/wolfgang.ehrh...pt_de.html#AES

oder

als direkter Downloadlink

http://home.netsurf.de/wolfgang.ehrh...2006-07-30.zip

Wolfgang

negaH 1. Dez 2006 09:22

Re: Rijndael Implementierung
 
Zitat:

Im DEC habe ich schon nachgeschaut, jedoch ist mir das etwas zu verschachtelt, da mehrere Units aufeinander aufbauen und ich somit nicht genau nachvollziehen kann, welche Teile zu welchem Algorithmus gehören.
Kannst du mir die entsprechenden Sourcezeilen bennennen die im DEC auf diese Wiese nicht nachvollziehbar "verschalchtelt" sein sollen ?

Ich frage aus gutem Grunde, denn ich achte immer darauf das sich keine "Verschachtelungen" dh. verknüpfte Abhängigkeiten zwischen Units/Modulen entstehen. Im Falle der Implementierung aller Hash/Cipher Klassen heist dies:

1.) deren direkter Code ist in einer einzigsten Unit und vollständig in PASCAL
2.) deren fester Konstanten wie LookUp Tabellen sind in einer einzigsten Unit
3.) wenn man mit den Assemblerversionen der Algo. arbeiten möchte so sind die wiederum in einer Unit

Ich schätzte mal dein Problem wird ein anderes sein: Du findest im WEB Abhandlungen aus Sicht eines Mathematikers der selbstverständlicher Weise seine Funktion so universell und kompakt wie möglich beschreibt. Jetzt siehst du im Vergleich dazu eine Implementierung dieser "Formel" in Sofwtare und bist nicht in der Lage zu erkennen wie was zusammengehört. Das liegt daran das der Programmierer diese "Formeln" so umgeschrieben hat das sie implementierbar werden und das noch mit einer zu erreichenden Performance des Algorithmus. Das erscheint dann immer so als hätte man komplett unterschiedliche Algorithmen vor sich wenn man die math. Formeln mit einer realen Implementierung vergleicht. Dem ist aber nicht so, sondern es liegt nur daran in wieweit du in der Lage bist ein abstrakt und in mathematischer SPrache beschriebenes Verfahren in Software umzusetzen.

Eines kann ich dir aber garantieren: im DEC stehen alle relevanten Teile zum Rijndael in maximal 100 Sourcezeilen und sie sind nicht aus dem Zusammenhang gerissen. Das widerspräche meiner Philosophie wie ich programmieren will. Im Vergleich zu einer C, JAVA oder PHP Implementierung behaupte ich mal das meine PASCAL Version noch sehr einfach zu lesen ist. Aber das wirst du wahrscheinlich noch selber rausfinden wenn du dann solche Sourcen studiert hast ;)

Gruß Hagen


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