org.bouncycastle.pqc.legacy.crypto.mceliece
Class McEliecePointchevalCipher
java.lang.Object
|
+--org.bouncycastle.pqc.legacy.crypto.mceliece.McEliecePointchevalCipher
- All Implemented Interfaces:
- MessageEncryptor
- public class McEliecePointchevalCipher
- extends java.lang.Object
- implements MessageEncryptor
This class implements the Pointcheval conversion of the McEliecePKCS.
Pointcheval presents a generic technique to make a CCA2-secure cryptosystem
from any partially trapdoor one-way function in the random oracle model. 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. |
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.
McEliecePointchevalCipher
public McEliecePointchevalCipher()
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)
throws java.lang.IllegalArgumentException
- Return the key size of the given key object.
- Parameters:
key
- the McElieceCCA2KeyParameters object- Returns:
- the key size of the given key object
- Throws:
java.lang.IllegalArgumentException
- if the key is invalid
decryptOutputSize
protected int decryptOutputSize(int inLen)
encryptOutputSize
protected int encryptOutputSize(int inLen)
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
-