Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
ShoupRSAPrivateKeyShare diese Klasse stellt einen durch das Verfahren zum<br />
Teilen von RSA-Schlüsseln nach Shoup (Abschnitt 3.6) entstandenen Teilschlüssel<br />
dar. Sie enthält auch Methoden zum Verteilen eines StrongRSAPrivateCrtKey<br />
nach diesem Verfahren, sowie innere Klassen für die zugehörigen PartialSignature<br />
und PartialDecryption.<br />
RedundantElGamalPrivateKeyShare diese Klasse stellt einen durch das redundante<br />
Verfahren zum Teilen von speziellen ElGamal-Schlüsseln (Abschnitt<br />
3.8) entstandenen Teilschlüssel dar. Sie enthält auch Methoden zum Verteilen<br />
eines ExtendedElGamalPrivateKey nach diesem Verfahren, sowie<br />
eine innere Klasse für die zugehörige PartialDecryption.<br />
KeySharer diese Klasse enthält statische Methoden zum einfachen Zugriff auf<br />
die Key-Sharing-Funktionalität (Erzeugen von Teilschlüsseln, Kombinieren<br />
von Teilsignaturen und -entschlüsselungen). Sie bietet damit eine Fassade<br />
für den Key-Sharing-Teil des Pakets.<br />
X509 diese Klasse enthält statische Hilfsmethoden im Zusammenhang mit X.509-<br />
Zertifikaten. Sie kapselt damit Aufrufe an das ASN1-Codec.<br />
PKCS7 diese Klasse enthält statische Hilfsmethoden im Zusammenhang mit<br />
PKCS7-Dateien. Dies ist ein standardisiertes Format für verschlüsselte<br />
und/oder signierte Daten. Die Klasse kapselt Aufrufe an das ASN1-Codec.<br />
JCA-kompatible Schlüsselkodierung Zur Integration in die JCA war es<br />
von entscheidender Bedeutung, daß die privaten Schlüsselanteile von Komponenten<br />
wie KeyStore und Signature verwendet werden können. Hierzu waren<br />
zwei Maßnahmen notwendig: die Unterstützung der JCA-Schnittstelle PrivateKey<br />
und eine Kodierung gemäß PKCS8. Dies erlaubt es nämlich beispielsweise einem<br />
KeyStore den Schlüssel zu serialisieren und wieder zu rekonstruieren. PKCS8<br />
identifiziert Schlüsselalgorithmen anhand eines Object Identifiers (OID). Der<br />
KeyStore sucht beim Laden von Schlüsseln dann über JCA eine KeyFactory<br />
für diesen OID, die wir folglich ebenfalls implementierten. Der verwendete OID<br />
ist 1.3.6.1.4.1.8301.3.2.99 und entstammt einem der TU Darmstadt zugeordneten<br />
Nummernkreis. Die PKCS8-Kodierung selbst enthält diesen OID und den<br />
Teilschlüssel als serialisiertes Java-Objekt.<br />
5.2.2 Paket keyshare.jca<br />
Das Paket keyshare.jca enthält Hüllen- und Adapterklassen mit denen eine<br />
möglichst große Kompatibilität zur Java Cryptographic Architecture hergestellt<br />
werden soll. Das Paket enthält Implementierungen von Cipher, Signature und<br />
KeyFactory zum Umgang mit Schlüsselanteilen sowie einen JCA-Provider, der<br />
die neuen Algorithmen anmeldet und dadurch verfügbar macht. Darüberhinaus<br />
werden die speziellen Schlüssel, die vom Shoup- und vom redundanten<br />
ElGamal-Key-Sharing-Verfahren benötigt werden, bereitgestellt. Die Struktur<br />
der im folgenden kurz beschriebenen Klassen und Schnittstellen ist in Abbildung<br />
5.3 dargestellt.<br />
54