Bouncy Castle Cryptography Library 1.79

org.bouncycastle.pqc.legacy.crypto.mceliece
Class McElieceKobaraImaiCipher

java.lang.Object
  |
  +--org.bouncycastle.pqc.legacy.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 McEliece-Type Cryptosystems and their Security", technical report. https://www.degruyter.com/document/doi/10.1515/JMC.2007.009/html


Field Summary
static java.lang.String OID
          The OID of the algorithm.
static byte[] PUBLIC_CONSTANT
          A predetermined public constant.
 
Constructor Summary
McElieceKobaraImaiCipher()
           
 
Method Summary
 int getKeySize(McElieceCCA2KeyParameters key)
          Return the key size of the given key object.
 void init(boolean forEncryption, CipherParameters param)
           
 byte[] messageDecrypt(byte[] input)
           
 byte[] messageEncrypt(byte[] input)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OID

public static final java.lang.String OID
The OID of the algorithm.

PUBLIC_CONSTANT

public static final byte[] PUBLIC_CONSTANT
A predetermined public constant.
Constructor Detail

McElieceKobaraImaiCipher

public McElieceKobaraImaiCipher()
Method Detail

init

public void init(boolean forEncryption,
                 CipherParameters param)
Specified by:
init in interface MessageEncryptor
Following copied from interface: org.bouncycastle.pqc.crypto.MessageEncryptor
Parameters:
forEncrypting - 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

messageEncrypt

public byte[] messageEncrypt(byte[] input)
Specified by:
messageEncrypt in interface MessageEncryptor
Following copied from interface: org.bouncycastle.pqc.crypto.MessageEncryptor
Parameters:
message - the message to be signed.

messageDecrypt

public byte[] messageDecrypt(byte[] input)
                      throws InvalidCipherTextException
Specified by:
messageDecrypt in interface MessageEncryptor
Following copied from interface: org.bouncycastle.pqc.crypto.MessageEncryptor
Parameters:
cipher - the cipher text of the message
Throws:
InvalidCipherTextException -  

Bouncy Castle Cryptography Library 1.79