Brauche Hilfe bei DES in Java

Guten Tag liebe Forummitglieder,

ich stecke zur Zeit in der Projektwoche und möchte ein Programm schreiben, welches mittels diverser Chiffrierungsarten die Möglichkeit bietet einen Text zu verschlüsseln.

Nun ist der Auftrag erteilt worden eine DES-Verschlüsselung einzubauen.
Allerdings weiss ich überhaupt nicht wie ich das zustande bekommen soll.
Ich habe nur eine leichte Ahnung der Verschlüsselungsart.
Aber ich kanns absolut nicht in einen Java-Code umsetzen. ( muss mit Swing funktionieren ).
Ich hoffe wirklich sehr, dass ihr mir helfen könnt.
Gruß

Torsten
 
Du solltest dir erstmal überlegen, wie du an das ganze rangehst.

Aus dem Wort "Swing" schliesse ich, dass es eine GUI-Anwendung sein soll. Die GUI hat mit der eigentlichen Logik des Programmes aber ersteinmal wenig zu tun.
Für dich wäre der logische Ansatzpunkt, erstmal die Chiffrierung, also die Verschlüsselung umzusetzen. Ihr habt sicherlich durchgesprochen, wie diese funktioniert. Wenn nicht, kann man das auch relativ schnell im Internet (bspw. Wikipedia) tun. Anhand des Ablaufes, sollte sich mehr oder weniger automatisch die Implementierung ergeben (wenn solche Aufgaben gestellt werden, sollte man dazu eigentlich auch in der Lage sein). Anfangs würde ja einfache Konsolenausgabe reichen.
Im zweiten Schritt sollte dann die GUI designed werden, mit nötiger Logik versehen werden und im letzten Schritt dann mit dem vorher programmiierten verknüpft werden.
 
Danke dir für deine Antwort, lookshe.
Diesbezüglich habe ich mich schon im Internet informiert, allerdings fehlt mir das notwendige Know-How, um es in Java zu realisieren.
Ich habe mir bezüglich der Java-Methoden schon mal im Internet nachgeschlagen, aber ich weiss überhaupt nicht was ich machen soll...
Bisher haben wir in der Schule einfache Programme geschrieben und ich dachte mit einem Projekt, welches einfache Chiffrierungen beinhalten soll, habe ich eine gute Wahl getroffen und nun soll ich DES umsetzen in Java aber die Kenntnisse habe ich nicht dafür.
Gibt es hier eventuell jemanden, der so etwas schreiben und dokumentieren kann?
Danke im Vorraus.

Torsten
 
Erstens: Du wirst hier niemanden finden, der das für dich umsetzt, schliesslich sollst du diese Leistung erbringen!

Ansonsten solltest du eventuell mal mit deinem Lehrer sprechen, wenn du Java nicht beherrschst, vielleicht ist er so kulant und du kannst zumindest die Sprache wechseln.
Was habt ihr denn bisher an der Schule programmiert? Es kann ja kaum sein, dass der Lehrer Aufgaben verteilt, die weit über eurem Wissensstand liegen.

Bezüglich fehlendem Know-How:
Mangelt es am Verständnis für Verschlüsselungsalgorithmen?
Mangelt es an Java? Oder speziell nur Bereich GUI?
Oder fängt das ganze schon mit Objektorientierung an?
 
Die Sprache wechseln wird nicht des Rätsels Lösung sein, da ich andere Programmiersprachen bisher nicht gemacht habe.
Bisher haben wir in der Schule nicht sonderlich schwere Programme geschrieben.
Taschenrechner oder einfache Programme mit Swing, nichts Wildes.
Es mangelt eher am Umsetzen von Verschlüsselungsalgorithmen in die Sprache Java.
 
Mal ne ganz blöde Frage: Musst du den Algorythmus zum Verschlüsseln überhaupt selber schreiben? Im Crypto-Paket (javax.crypto) von Java gibts ja schon eine Implementierung für DES. Ich bin immer der Meinung daß man sich nicht mehr Arbeit machen sollte als nötig.

Hier gibts dafür auch ein Beispiel:
http://exampledepot.com/egs/javax.crypto/DesString.html

Ansonsten findest mit Google bestimmt auch eine Implementierung für DES die schon jemand vor dir gemacht hat. Da könntest du die Inspiration holen.
 
Der DES-Algorithmus verschlüsselt den Klartext, soweit ich mich erinnere, mittels Permuation. Permutation lässt sich in Java auch mit den einfachsten Grundkenntnissen umsetzen - Du musst dafür lediglich wissen was if-Anweisungen, for-Schleifen & Arrays sind. Zur Not (als Denkanstoß) lässt sich dazu sicher auch massenhaft Code im Netz finden...

MfG,
Tarantoga

P.S.: Dein Verwendung des Wortes Swing verwirrt mich ein wenig. Du weisst doch das Swing lediglich eine Komponenten-Bibliohek für die Entwicklung grafischer Oberflächen (GUIs) ist?
 
DES in Software Umzusetzen, wenn es noch performant bleiben soll, ist einfach grausam und macht keinen Spaß.

Aber nutze doch einfach schon fertige DES Klassen bzw. lieber fertige AES Klassen, die gibt es wie Sand am Meer.
 
Dem Lehrer wäre es lieber, wenn wir den Algorithmus selber schreiben würde, aber mittlerweile haben wir aus den java libs methoden benutzt, um das einfacher zu schreiben.
Ist halt weniger selbstständige Arbeit, aber anders wäre es für uns nicht realisierbar gewesen, weil wir neben der DES-Verschlüsselung ja auch noch andere gemacht haben und die GUI schreiben mussten.
Ja mit Swing meine ich nur, dass wir das später auf eine grafische Oberfläche übertragen sollen.
 
Hallo,
naja wie gesagt, DES zu implementieren macht keinen Spaß und ist auch nicht gerade einfach, da es überhaupt nicht für Software konzeptiert wurde.

Dann sollte der Lehrer lieber verlangen, einen netten Algorithmus selbst zu implementieren, wie z.B. XTEA, Blowfish oder AES.

Außerdem ist der Sinn der Progammierung eigentlich, möglichst viel vorhandenen Code wiederzuverwenden. Ihr nutzt ja auch diverse Klassen von Java, Swing usw., warum also nicht auch die Verschlüsselungsroutinen nutzen, die Java schon mitliefert?
 
Außerdem ist der Sinn der Progammierung eigentlich, möglichst viel vorhandenen Code wiederzuverwenden. Ihr nutzt ja auch diverse Klassen von Java, Swing usw., warum also nicht auch die Verschlüsselungsroutinen nutzen, die Java schon mitliefert?

Ich nehme an das ist eine rein akademische Übung und der Lehrer will halt sehen das Schüler in der Lage sind einen vorgegebenen Algorithmus in code umzusetzen. Ich mein im Informatikstudium im 1. Abschnitt wollen die Proffs ja auch alle möglichen Algorithmen und Datenstrukturen implementiert haben (Dijkstra, Prim, Kruskal sowie Ringbuffer und (doppelt) gelinkte Listen.
 
Zurück
Oben