AES Verschlüsselung (Java)


#1
Hallo,

ich habe das Problem, dass meine Methode zum Entschlüsseln von der Methode zum Verschlüsseln abhängig ist. Heißt, ich muss immer beide zusammen aufrufen, um mein Ziel zu erreichen, aber das wäre Performanceverschwendung. Da die Verschlüsselungsmethode den verschlüsselten String in ein byte-Array schreibt, müsste ich diesen auch bei der Entschlüsselungsmethode wiederverwenden. Jedoch ist es so, dass ich diesen byte-Array als Attribut anlegen musste, sodass die Entschlüsselungsmethode eine Nullpointer Exception schmeißt - was ja auch Sinn ergibt, da der byte-Array null ist. Dass der Fehler darin liegt, ist mir durchaus bewusst, jedoch habe ich keine sinngemäße Lösung dafür gefunden. Demnach wende ich mich an die Community und hoffe, dass mir jemand eine vernünftige Lösung via Codebeispiel bieten kann.

Vielen Dank für eure Hilfe.

Freundliche Grüße
 

Technipion

Erfahrenes Mitglied
#2
Hallo Nico2201,
ich glaube bei AES ist das so, dass man die Verschlüsselungsroutine größtenteils bei der Entschlüsselung recyceln kann. Wie kommst du überhaupt darauf, dass das eine Performanceverschwendung ist? Es wäre bestimmt hilfreich deinen Code zu sehen ;)

Tipp: Da AES so weitläufig eingesetzt wird besitzen viele Systeme mittlerweile Hardwarebeschleunigung dafür. Bibliotheken (wie z.B. OpenSSL) werden speziell darauf ausgelegt solche Unterstützungen zu erkennen und zu benutzen. Für optimale Perfomance bietet es sich also an eine solche Bib zu verwenden.

Gruß Technipion
 
#3
Hallo Technipion,

Wie kommst du überhaupt darauf, dass das eine Performanceverschwendung ist?
Naja, wenn ich die Methode zum Verschlüsseln und zum Entschlüsseln immer wieder aufrufen muss, wäre das ja quasi Verschwendung von Leistung. Wie ich im Internet gelesen habe, soll die Verschlüsselung für den Computer recht anspruchsvoll sein. :unsure: Was du aber wiederum mit deinem Tipp wiederlegt hast. Das wusste ich noch nicht. Vielen Dank!

Es wäre bestimmt hilfreich deinen Code zu sehen ;)
Da es sich nur um eine Übungsaufgabe handelt und ich mich so langsam in den Bereich der Verschlüsselung einarbeiten möchte, habe ich diesen Code verwendet und quasi als Vorlage genutzt. Welches Problem ich damit habe, ist ja bereits in meinem ersten Beitrag beschrieben worden. :)

PS.: Da ich gerade leider nicht die Möglichkeit habe an meinen eigenen Code zu kommen, hoffe ich, dass dir der Code im o.g. Link weiterhelfen wird. (y)

Vielen Dank für weitere Hilfe!

Freundliche Grüße
 

Technipion

Erfahrenes Mitglied
#4
Ich habe mir den Code unter deinem Link angeschaut, aber dabei werden ja gar keine selbst implementierten Methoden verwendet.
Es wird die interne Bibliothek crypto benutzt und dann schlicht
1) ein Schlüssel angelegt
2) ein Text verschlüsselt
3) der verschlüsselte Text wieder entschlüsselt.

Wo siehst du da das Performance-Problem?

Wie ich im Internet gelesen habe, soll die Verschlüsselung für den Computer recht anspruchsvoll sein.
"recht" ist natürlich sehr relativ. Aber grundsätzlich lässt sich sagen, dass ein unnötiger Aufruf einer Verschlüsselungsfunktion natürlich eine Verschwendung von Rechenzeit ist.

Gruß Technipion
 

Neue Beiträge