javax.crypto - Cipher Objekte - Sevice Provider matching?

schegga_B

Mitglied
Ich versuche, die Implementierungen des Quellcodes zu finden. Zum Beispiel, wenn ich das Cipher-Objekt so initialisiere:

Java:
Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");

wie kann ich die tatsächliche Implementierung des verwendeten AES-Algorithmus und des CTR-Modus finden?

Wenn ich den Quellcode von Cipher.java nachschlage, können Sie sehen, dass die getInstance()-Methode einige Service-Provider verwendet. Ich vermute, dass die Zeile:

Code:
List<Service> services = GetInstance.getServices(cipherServices);

verantwortlich ist für die Zuordnung von "AES/CTR/NoPadding" zum erstellten CipherSpi-Objekt.

Aber jetzt stecke ich fest und weiß nicht, was los ist. Wie funktioniert das? Wo finde ich den Quellcode zu AES und CTR? Wird es den Klassen in diesem .../sun/crypto/provider Ordner zugeordnet? Wie funktioniert diese Zuordnung? Wo kann ich sehen, was welcher Eingabe zugeordnet ist? Was ich auch herausfinden möchte, ist, ob der CTR-Modus eine Art von Parallelismus verwendet.
 

Zurück
Oben