AMETAS.cipher
Class AsymmetricCipher

java.lang.Object
  extended byAMETAS.cipher.Cipher
      extended byAMETAS.cipher.AsymmetricCipher
Direct Known Subclasses:
RSA

public abstract class AsymmetricCipher
extends Cipher

Abstrakte Basisklasse für asymmetrische Verschlüsselungsalgorithmen. Bei diesen wird zwischen Schlüsseln zum Ver- und Entschlüsseln unterschieden.


Field Summary
 
Fields inherited from class AMETAS.cipher.Cipher
CBC, ECB, m_abCBCBuffer, m_bDebug
 
Constructor Summary
AsymmetricCipher(java.lang.String sAlgorithm)
          Konstruktor.
 
Method Summary
abstract  java.math.BigInteger decrypt(java.math.BigInteger biCipher)
          Methode zum Entschlüsseln eines BigIntegers.
abstract  java.math.BigInteger encrypt(java.math.BigInteger biValue)
          Methode zum Verschlüsseln eines BigIntegers.
static AsymmetricCipher getInstance(java.lang.String sAlgorithm)
          Liefert eine Instanz eines asymmetrischen Verschlüsselungsalgorithmus.
static AsymmetricCipher getInstance(java.lang.String sAlgorithm, java.lang.String sProvider)
          Liefert eine Instanz eines asymmetrischen Verschlüsselungsalgorithmus.
abstract  void setKeys(java.security.PrivateKey privateKey, java.security.PublicKey publicKey)
          Methode zum Setzen von Schlüsseln.
abstract  void setPrivateKey(java.security.PrivateKey privateKey)
          Methode zum Setzen des privaten Schlüssels.
abstract  void setPublicKey(java.security.PublicKey publicKey)
          Methode zum Setzen des öffentlichen Schlüssels.
 
Methods inherited from class AMETAS.cipher.Cipher
blocksize, blocksizeCipher, decrypt, decrypt, decrypt, decrypt, decryptBlock, doBlockAdaptation, encrypt, encrypt, encrypt, encrypt, encryptBlock, getAlgorithm, getCipherInstance, getCipherInstance, getMode, getNumberOfBytes, setDebug, setKey, setMode, undoAdaptation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AsymmetricCipher

public AsymmetricCipher(java.lang.String sAlgorithm)
Konstruktor.

Parameters:
sAlgorithm - Name des Algorithmus.
Method Detail

setKeys

public abstract void setKeys(java.security.PrivateKey privateKey,
                             java.security.PublicKey publicKey)
                      throws java.security.InvalidKeyException
Methode zum Setzen von Schlüsseln. Diese Methode ist von speziellen asymmetrischen Verschlüsselungsalgorithmen zu implementieren.

Parameters:
privateKey - Privater Schlüssel.
publicKey - Öffentlicher Schlüssel.
Throws:
java.security.InvalidKeyException - falls der Schlüssel fehlerhaft ist.

setPublicKey

public abstract void setPublicKey(java.security.PublicKey publicKey)
                           throws java.security.InvalidKeyException
Methode zum Setzen des öffentlichen Schlüssels. Diese Methode ist von speziellen asymmetrischen Verschlüsselungsalgorithmen zu implementieren.

Parameters:
publicKey - Öffentlicher Schlüssel.
Throws:
java.security.InvalidKeyException - falls der Schlüssel fehlerhaft ist.

setPrivateKey

public abstract void setPrivateKey(java.security.PrivateKey privateKey)
                            throws java.security.InvalidKeyException
Methode zum Setzen des privaten Schlüssels. Diese Methode ist von speziellen asymmetrischen Verschlüsselungsalgorithmen zu implementieren.

Parameters:
privateKey - Privater Schlüssel.
Throws:
java.security.InvalidKeyException - falls der Schlüssel fehlerhaft ist.

encrypt

public abstract java.math.BigInteger encrypt(java.math.BigInteger biValue)
                                      throws CipherException
Methode zum Verschlüsseln eines BigIntegers. Diese Methode ist von speziellen asymmetrischen Verschlüsselungsalgorithmen zu implementieren.

Parameters:
biValue - Unverschlüsselte Wert.
Returns:
Verschlüsselter Wert.
Throws:
CipherException - wenn die Verschlüsselung misslang.

decrypt

public abstract java.math.BigInteger decrypt(java.math.BigInteger biCipher)
                                      throws CipherException
Methode zum Entschlüsseln eines BigIntegers. Diese Methode ist von speziellen asymmetrischen Verschlüsselungsalgorithmen zu implementieren.

Parameters:
biCipher - Verschlüsselter Wert.
Returns:
Entschlüsselter Wert.
Throws:
CipherException - wenn die Entschlüsselung misslang.

getInstance

public static AsymmetricCipher getInstance(java.lang.String sAlgorithm)
                                    throws java.security.NoSuchAlgorithmException
Liefert eine Instanz eines asymmetrischen Verschlüsselungsalgorithmus. Diese Methode ist konform zu dem Provider/Engine-Konzept der Java Cryptography Architecture.

Parameters:
sAlgorithm - Name des Algorithmus. Spezifikation siehe "Java Cryptography Architecture API Specification and Reference".
Returns:
Instanz des gesuchten Algorithmus.
Throws:
java.security.NoSuchAlgorithmException - wenn der Algorithmus nicht gefunden oder instantiiert werden konnte.

getInstance

public static AsymmetricCipher getInstance(java.lang.String sAlgorithm,
                                           java.lang.String sProvider)
                                    throws java.security.NoSuchAlgorithmException,
                                           java.security.NoSuchProviderException
Liefert eine Instanz eines asymmetrischen Verschlüsselungsalgorithmus. Diese Methode ist konform zu dem Provider/Engine-Konzept der Java Cryptography Architecture.

Parameters:
sAlgorithm - Name des Algorithmus.
sProvider - Provider, in unserem Fall gibt es nur AMETAS und SUN.
Returns:
Instanz des gesuchten Algorithmus.
Throws:
java.security.NoSuchAlgorithmException - wird geworfen, wenn der Algorithmus nicht gefunden oder instantiiert werden konnte.
java.security.NoSuchProviderException - wird geworfen, wenn der Provider nicht gefunden wurde.