org.bouncycastle.pqc.crypto.mceliece
Class McElieceKobaraImaiCipher
java.lang.Object
org.bouncycastle.pqc.crypto.mceliece.McElieceKobaraImaiCipher
- All Implemented Interfaces:
- MessageEncryptor
public class McElieceKobaraImaiCipher
- extends java.lang.Object
- implements MessageEncryptor
This class implements the Kobara/Imai conversion of the McEliecePKCS. This is
a conversion of the McEliecePKCS which is CCA2-secure. For details, see D.
Engelbert, R. Overbeck, A. Schmidt, "A summary of the development of the
McEliece Cryptosystem", technical report.
Field Summary |
static java.lang.String |
OID
The OID of the algorithm. |
static byte[] |
PUBLIC_CONSTANT
A predetermined public constant. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OID
public static final java.lang.String OID
- The OID of the algorithm.
- See Also:
- Constant Field Values
PUBLIC_CONSTANT
public static final byte[] PUBLIC_CONSTANT
- A predetermined public constant.
McElieceKobaraImaiCipher
public McElieceKobaraImaiCipher()
init
public void init(boolean forSigning,
CipherParameters param)
- Specified by:
init
in interface MessageEncryptor
- Parameters:
forSigning
- true if we are encrypting a signature, false
otherwise.param
- key parameters for encryption or decryption.
getKeySize
public int getKeySize(McElieceCCA2KeyParameters key)
- Return the key size of the given key object.
- Parameters:
key
- the McElieceCCA2KeyParameters object
- Returns:
- the key size of the given key object
initCipherDecrypt
public void initCipherDecrypt(McElieceCCA2PrivateKeyParameters privKey)
messageEncrypt
public byte[] messageEncrypt(byte[] input)
throws java.lang.Exception
- Specified by:
messageEncrypt
in interface MessageEncryptor
- Parameters:
input
- the message to be signed.
- Throws:
java.lang.Exception
messageDecrypt
public byte[] messageDecrypt(byte[] input)
throws java.lang.Exception
- Specified by:
messageDecrypt
in interface MessageEncryptor
- Parameters:
input
- the cipher text of the message
- Throws:
java.lang.Exception