AMETAS.cipher
Class AMETASSC

java.lang.Object
  extended byAMETAS.cipher.Cipher
      extended byAMETAS.cipher.SymmetricCipher
          extended byAMETAS.cipher.AMETASSC

public class AMETASSC
extends SymmetricCipher

Implementierung des AMETASSC-Algorithmus.


Field Summary
 
Fields inherited from class AMETAS.cipher.Cipher
CBC, ECB, m_abCBCBuffer, m_bDebug
 
Constructor Summary
AMETASSC()
          Konstruktor.
AMETASSC(AMETASSCKey sckey)
          Konstruktor, dem der Schlüssel übergeben wird.
 
Method Summary
 int blocksize()
          Liefert die Blockgröße für unverschlüsselte Daten.
 int blocksizeCipher()
          Liefert die Blockgröße für verschlüsselte Daten.
 void decryptBlock(byte[] abyBlockCipher, int nOffsetCipher, byte[] abyBlockPlain, int nOffsetPlain)
          Entschlüsselt das Feld abyBlockCipher ab der Position nOffsetCipher für blocksizeCipher() viele Bytes und kopiert die entschlüsselten Bytes in das Feld abyBlockPlain an die Stelle nOffsetPlain.
 void encryptBlock(byte[] abyBlockPlain, int nOffsetPlain, byte[] abyBlockCipher, int nOffsetCipher)
          Verschlüsselt das Feld abyBlockPlain ab der Position nOffsetPlain für blocksize() viele Bytes und kopiert die verschlüsselten Bytes in das Feld abyBlockCipher an die Stelle nOffsetCipher.
 void setKey(java.security.Key sckey)
          Setzt den Schlüssel.
 
Methods inherited from class AMETAS.cipher.SymmetricCipher
getInstance, getInstance
 
Methods inherited from class AMETAS.cipher.Cipher
decrypt, decrypt, decrypt, decrypt, doBlockAdaptation, encrypt, encrypt, encrypt, encrypt, getAlgorithm, getCipherInstance, getCipherInstance, getMode, getNumberOfBytes, setDebug, setMode, undoAdaptation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AMETASSC

public AMETASSC()
Konstruktor. Setzt den Namen des Algorithmus und initialisiert einige Werte.


AMETASSC

public AMETASSC(AMETASSCKey sckey)
         throws java.security.InvalidKeyException
Konstruktor, dem der Schlüssel übergeben wird.

Throws:
java.security.InvalidKeyException - falls der Schlüssel fehlerhaft ist.
Method Detail

blocksize

public int blocksize()
Liefert die Blockgröße für unverschlüsselte Daten.

Specified by:
blocksize in class Cipher
Returns:
Blockgröße.

blocksizeCipher

public int blocksizeCipher()
Liefert die Blockgröße für verschlüsselte Daten.

Specified by:
blocksizeCipher in class Cipher
Returns:
Blockgröße.

setKey

public void setKey(java.security.Key sckey)
            throws java.security.InvalidKeyException
Setzt den Schlüssel.

Specified by:
setKey in class Cipher
Parameters:
sckey - Schlüssel vom Typ AMETASSCKey.
Throws:
java.security.InvalidKeyException - falls der Schlüssel fehlerhaft ist.

encryptBlock

public void encryptBlock(byte[] abyBlockPlain,
                         int nOffsetPlain,
                         byte[] abyBlockCipher,
                         int nOffsetCipher)
                  throws CipherException
Verschlüsselt das Feld abyBlockPlain ab der Position nOffsetPlain für blocksize() viele Bytes und kopiert die verschlüsselten Bytes in das Feld abyBlockCipher an die Stelle nOffsetCipher. Achtung: Der Platz, der in dem CipherArray für die Daten gebraucht wird, beträgt blocksizeCipher(). Dies ist bei AMETASSC allerdings äquivalent zu der Blockgröße des Klartextes.

Specified by:
encryptBlock in class Cipher
Parameters:
abyBlockPlain - Das zu verschlüsselnde Bytefeld.
nOffsetPlain - Position, ab der die Verschlüsselung beginnen soll.
abyBlockCipher - Feld, in das der verschlüsselte Block kopiert werden soll.
nOffsetCipher - Position im Feld, an die der verschlüsselte Block kopiert werden soll.
Throws:
CipherException - wenn ein Verschlüsselungsproblem auftrat. Dies kann beim z.B. beim Fehlen eines Schlüssels oder bei einem falschen Datenformat geschehen.

decryptBlock

public void decryptBlock(byte[] abyBlockCipher,
                         int nOffsetCipher,
                         byte[] abyBlockPlain,
                         int nOffsetPlain)
                  throws CipherException
Entschlüsselt das Feld abyBlockCipher ab der Position nOffsetCipher für blocksizeCipher() viele Bytes und kopiert die entschlüsselten Bytes in das Feld abyBlockPlain an die Stelle nOffsetPlain. Der Platz, der in dem Klartext-Feld für die Daten gebraucht wird, beträgt blocksize() und ist äquivalent zu der Blockgröße des verschlüsselten Felds.

Specified by:
decryptBlock in class Cipher
Parameters:
abyBlockCipher - Zu entschlüsselndes Bytefeld.
nOffsetCipher - Position, ab der die Entschlüsselung beginnen soll.
abyBlockPlain - Feld, in das der entschlüsselte Block kopiert werden soll.
nOffsetPlain - Position im Zielfeld, an die der entschlüsselte Block kopiert werden soll.
Throws:
CipherException - wenn ein Verschlüsselungsproblem auftrat. Dies kann beim z.B. beim Fehlen eines Schlüssels oder bei einem falschen Datenformat geschehen.