Hackerboard WikiHaboBlog

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Brauche Hilfe bei DES in Java

Diskussion: Brauche Hilfe bei DES in Java im Forum Cryptography & Encryption, in der Kategorie Security Area; Guten Tag liebe Forummitglieder, ich stecke zur Zeit in der Projektwoche und möchte ein Programm schreiben, welches mittels diverser Chiffrierungsarten ...

Antwort
Alt 12.01.10, 11:49   #1 (permalink)
 
Registriert seit: 12.01.10
Vipertb Leistung: Facit NTK
Likes: 0
Standard 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

Vipertb ist offline   Mit Zitat antworten
Alt 12.01.10, 12:49   #2 (permalink)
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 7
Standard

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.
lookshe ist gerade online   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 12.01.10, 13:42   #3 (permalink)
Themenstarter
 
Registriert seit: 12.01.10
Vipertb Leistung: Facit NTK
Likes: 0
Standard

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
Vipertb ist offline   Mit Zitat antworten
Alt 12.01.10, 13:55   #4 (permalink)
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 7
Standard

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?
lookshe ist gerade online   Mit Zitat antworten
Alt 12.01.10, 14:29   #5 (permalink)
Themenstarter
 
Registriert seit: 12.01.10
Vipertb Leistung: Facit NTK
Likes: 0
Standard

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.
Vipertb ist offline   Mit Zitat antworten
Alt 12.01.10, 15:00   #6 (permalink)
Senior Member
 
Benutzerbild von odigo
 
Registriert seit: 25.12.04
odigo Leistung: 8086odigo Leistung: 8086
odigo eine Nachricht über ICQ schicken
Likes: 50
Standard

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.
odigo ist offline   Mit Zitat antworten
Alt 12.01.10, 15:34   #7 (permalink)
Moderator
 
Benutzerbild von Tarantoga
 
Registriert seit: 11.02.06
Tarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga Quadcore
Likes: 195
Standard

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?
Tarantoga ist offline   Mit Zitat antworten
Alt 12.01.10, 23:02   #8 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

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.
Elderan ist offline   Mit Zitat antworten
Alt 14.01.10, 13:48   #9 (permalink)
Themenstarter
 
Registriert seit: 12.01.10
Vipertb Leistung: Facit NTK
Likes: 0
Standard

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.
Vipertb ist offline   Mit Zitat antworten
Alt 14.01.10, 19:39   #10 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

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?
Elderan ist offline   Mit Zitat antworten
Alt 17.01.10, 11:17   #11 (permalink)
 
Benutzerbild von Ancient
 
Registriert seit: 15.08.05
Ancient Leistung: Facit NTK
Ancient eine Nachricht über ICQ schicken Ancient eine Nachricht über MSN schicken Ancient eine Nachricht über Skype™ schicken
Likes: 0
Standard

Zitat:
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.
Ancient ist offline   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Brauche Hilfe bei DES in Java
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61