| 

.NET C# Java Javascript Exception

7
Hi,

ich will mir ein Verschlüsselungs-Tool auf Basis von "CAST-256" mit C# (SharpDevelop 4.1) bauen. Bruce Schneier bietet auf seiner Seite (Bruce Schneier) "CAST-256" kostenlos an, allerdings ist der in C geschrieben. Da ich mich mit C überhaupt nicht auskenne, kann ich den Algo. nicht umbauen. Und mit C# beschäftige ich mich erst seit einem halben Jahr.

Ich würde mich über Hilfe zum Umbau sehr freuen. Oder hat jemand ev. CAST-256 in C#? Trotz intensiver Suche habe ich bei Google immer nur "CAST-128" gefunden, den ich aber nicht verwenden will. Vielleicht hat jemand einen Link-Vorschlag?

Ich freue mich über jeden Vorschlag.

Arndt
09.01.2012
Falkner 795 3 9
3 Antworten
1
Ich habe die C++ Version nach C# portiert: Link zum Projekt. Das ist mehr "proof of concept" als eine wasserdichte Implementierung, vermutlich sind noch ein paar Bugs und andere Unschönheiten drin. Aber als Grundlage sicherlich brauchbar.
11.01.2012
puls200 3,8k 7
+1 für die Mühe ;)
Floyd 11.01.2012
Google mal nach CAST-256, dann weisst du warum :)
puls200 11.01.2012
0
Ich hab den Algorithmus für CAST-128 gefunden. Da du dich scheinbar mit Cryptographie auskennst kannst du vielleicht diesen auf CAST-256 umbauen:

Strong and Fast Data Encryption with the CAST-128 Algorithm


CAST-128 im Vergleich zu CAST-256:
CAST-256 ist wie CAST-128 eine Feistelchiffre und verwendet die gleiche Rundenfunktion, bei der unter anderem vier S-Boxen eingesetzt werden. Es weist aber eine andere Blockgröße von vier Wörtern zu je 32 Bit und eine Rundenanzahl von 48 auf.

Quelle: http://de.wikipedia.org/wiki/CAST-256
10.01.2012
Floyd 14,6k 3 9
Floyd 14,6k 3 9
Sicher könnte ich das tun, aber dann habe ich nicht das Original und andere, die mit CAST256 dann ver- oder entschlüsselt haben dann unterschiedliche Ergebnisse, weil nichts mehr kompatibel ist.
Falkner 10.01.2012
CAST-256 ist CAST-256. Ob das nun die Original RFC-Implementierung ist oder nicht ist egal solange der Algorithmus korrekt umgesetzt ist. Und der Algorithmus ist mit CAST-128 identisch nur das die Schlüssellänge variiert.
Floyd 10.01.2012
Es reicht aber nicht led. einen grösseren Schlüssel zu übegeben. Es muss dann auch eine erweiterte interne Verarbeitung geschrieben werden. Sonst ist es kein echter CAST-256 - meiner Meinung nach. Ich glaube, das CAST-256-Programme von anderen Entwicklern ev. mit meinem kollidieen, weil diese es anders umgesetzt haben könnten. Woher stammt diese Info denn? Kann ich das nachlesen?
Falkner 10.01.2012
Hab meinen Beitrag diesbezüglich erweitert.
Floyd 10.01.2012
Dank für die Erweiterung. Ich hatte soeben den Code-Translater: http://code2code.net/ gefunden und werde wohl den Code v. Bruce Schneier versuchen zu konvertieren. Mal sehen wie schwierig die Korrektur dann wird.
Falkner 10.01.2012
0
So wirklich geholfen wurde mir hier nicht - auf einer anderen Seite wurde mir innerhalb 20 Minuten richtig geholfen. Keine Ahnung was ich damit sagen will - vielleicht wird es jeder selbst für sich erahnen können!?
10.01.2012
Falkner 795 3 9
Wenn nicht mal Du weißt, was Du damit sagen willst - wie sollen wir es dann erahnen können?
Ich fände es übrigens nett, wenn Du einen Link zu der "anderen Seite" posten würdest. Du hilfst damit anderen, die das gleich Problem haben und hierher kommen (immerhin ist diese Seite derzeit der #1-Treffer bei google.de für "CAST-256 C#"), verschaffst Deinen Helfern dort noch etwas Reputation (die sie sich verdient haben), und wir hier können vielleicht sogar dazulernen, was wir beim nächsten Mal besser machen könnten.
Matthias Hlawatsch 10.01.2012
Hallo Arndt, jede Seite ist nur so gut wie das Engagement ihrer Betreiber und Teilnehmer. Ich möchte dir nicht zu nahe treten, aber deine Frage ist eine typische Fleißaufgabe. Ich hatte mir den C-Code runtergeladen und angeschaut - würde mich ca. eine Stunde kosten zu portieren und dann nochmal mindestens eine Stunde zum testen. Die Zeit hatte ich heute aber nicht. Ein bisschen googlen liefert übrigens noch eine C++ Implementierung: http://www.koders.com/cpp/fid75E946E453ACDBF06CD8ECD89480D423FEF649B7.aspx
puls200 10.01.2012
1
Ob dieser Post nun die feine englische Art ist wag ich aber auch stark zu bezweifeln.

Nichts gegen Kritik, aber auf die Vortragsweise kommt es an.
Floyd 11.01.2012

Stelle deine .net-Frage jetzt!