public class

NaccacheSternEngine

extends Object
implements AsymmetricBlockCipher
java.lang.Object
   ↳ org.bouncycastle.crypto.engines.NaccacheSternEngine

Class Overview

NaccacheStern Engine. For details on this cipher, please see http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf

Summary

Public Constructors
NaccacheSternEngine()
Public Methods
byte[] addCryptedBlocks(byte[] block1, byte[] block2)
Adds the contents of two encrypted blocks mod sigma
byte[] encrypt(BigInteger plain)
Encrypts a BigInteger aka Plaintext with the public key.
int getInputBlockSize()
Returns the input block size of this algorithm.
int getOutputBlockSize()
Returns the output block size of this algorithm.
void init(boolean forEncryption, CipherParameters param)
Initializes this algorithm.
byte[] processBlock(byte[] in, int inOff, int len)
Process a single Block using the Naccache-Stern algorithm.
byte[] processData(byte[] data)
Convenience Method for data exchange with the cipher.
void setDebug(boolean debug)
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.bouncycastle.crypto.AsymmetricBlockCipher

Public Constructors

public NaccacheSternEngine ()

Public Methods

public byte[] addCryptedBlocks (byte[] block1, byte[] block2)

Adds the contents of two encrypted blocks mod sigma

Parameters
block1 the first encrypted block
block2 the second encrypted block
Returns
  • encrypt((block1 + block2) mod sigma)

public byte[] encrypt (BigInteger plain)

Encrypts a BigInteger aka Plaintext with the public key.

Parameters
plain The BigInteger to encrypt
Returns
  • The byte[] representation of the encrypted BigInteger (i.e. crypted.toByteArray())

public int getInputBlockSize ()

Returns the input block size of this algorithm.

Returns
  • maximum size for an input block.

public int getOutputBlockSize ()

Returns the output block size of this algorithm.

Returns
  • maximum size of the output block produced by the cipher.

public void init (boolean forEncryption, CipherParameters param)

Initializes this algorithm. Must be called before all other Functions.

Parameters
forEncryption if true the cipher is initialised for encryption, if false for decryption.
param the key and other data required by the cipher.

public byte[] processBlock (byte[] in, int inOff, int len)

Process a single Block using the Naccache-Stern algorithm.

Parameters
in the input data
inOff offset into the in array where the data starts
len the length of the block to be processed.
Returns
  • the resulting byte array of the encryption/decryption process.

public byte[] processData (byte[] data)

Convenience Method for data exchange with the cipher. Determines blocksize and splits data to blocksize.

Parameters
data the data to be processed
Returns
  • the data after it went through the NaccacheSternEngine.

public void setDebug (boolean debug)