diff options
Diffstat (limited to 'libraries/spongycastle/prov/src/main/java/org/spongycastle/pqc/jcajce/provider/mceliece/McEliecePKCSCipherSpi.java')
-rw-r--r-- | libraries/spongycastle/prov/src/main/java/org/spongycastle/pqc/jcajce/provider/mceliece/McEliecePKCSCipherSpi.java | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/libraries/spongycastle/prov/src/main/java/org/spongycastle/pqc/jcajce/provider/mceliece/McEliecePKCSCipherSpi.java b/libraries/spongycastle/prov/src/main/java/org/spongycastle/pqc/jcajce/provider/mceliece/McEliecePKCSCipherSpi.java deleted file mode 100644 index cbabfdcc3..000000000 --- a/libraries/spongycastle/prov/src/main/java/org/spongycastle/pqc/jcajce/provider/mceliece/McEliecePKCSCipherSpi.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.spongycastle.pqc.jcajce.provider.mceliece; - -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; -import java.security.Key; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; - -import javax.crypto.BadPaddingException; -import javax.crypto.IllegalBlockSizeException; - -import org.spongycastle.asn1.pkcs.PKCSObjectIdentifiers; -import org.spongycastle.asn1.x509.X509ObjectIdentifiers; -import org.spongycastle.crypto.CipherParameters; -import org.spongycastle.crypto.Digest; -import org.spongycastle.crypto.digests.SHA1Digest; -import org.spongycastle.crypto.digests.SHA224Digest; -import org.spongycastle.crypto.digests.SHA256Digest; -import org.spongycastle.crypto.digests.SHA384Digest; -import org.spongycastle.crypto.digests.SHA512Digest; -import org.spongycastle.crypto.params.ParametersWithRandom; -import org.spongycastle.pqc.crypto.mceliece.McElieceKeyParameters; -import org.spongycastle.pqc.crypto.mceliece.McEliecePKCSCipher; -import org.spongycastle.pqc.jcajce.provider.util.AsymmetricBlockCipher; - -public class McEliecePKCSCipherSpi - extends AsymmetricBlockCipher - implements PKCSObjectIdentifiers, X509ObjectIdentifiers -{ - // TODO digest needed? - private Digest digest; - private McEliecePKCSCipher cipher; - - public McEliecePKCSCipherSpi(Digest digest, McEliecePKCSCipher cipher) - { - this.digest = digest; - this.cipher = cipher; - } - - protected void initCipherEncrypt(Key key, AlgorithmParameterSpec params, - SecureRandom sr) - throws InvalidKeyException, - InvalidAlgorithmParameterException - { - - CipherParameters param; - param = McElieceKeysToParams.generatePublicKeyParameter((PublicKey)key); - - param = new ParametersWithRandom(param, sr); - digest.reset(); - cipher.init(true, param); - this.maxPlainTextSize = cipher.maxPlainTextSize; - this.cipherTextSize = cipher.cipherTextSize; - } - - protected void initCipherDecrypt(Key key, AlgorithmParameterSpec params) - throws InvalidKeyException, InvalidAlgorithmParameterException - { - CipherParameters param; - param = McElieceKeysToParams.generatePrivateKeyParameter((PrivateKey)key); - - digest.reset(); - cipher.init(false, param); - this.maxPlainTextSize = cipher.maxPlainTextSize; - this.cipherTextSize = cipher.cipherTextSize; - } - - protected byte[] messageEncrypt(byte[] input) - throws IllegalBlockSizeException, BadPaddingException - { - byte[] output = null; - try - { - output = cipher.messageEncrypt(input); - } - catch (Exception e) - { - e.printStackTrace(); - } - return output; - } - - protected byte[] messageDecrypt(byte[] input) - throws IllegalBlockSizeException, BadPaddingException - { - byte[] output = null; - try - { - output = cipher.messageDecrypt(input); - } - catch (Exception e) - { - e.printStackTrace(); - } - return output; - } - - public String getName() - { - return "McEliecePKCS"; - } - - public int getKeySize(Key key) - throws InvalidKeyException - { - McElieceKeyParameters mcElieceKeyParameters; - if (key instanceof PublicKey) - { - mcElieceKeyParameters = (McElieceKeyParameters)McElieceKeysToParams.generatePublicKeyParameter((PublicKey)key); - } - else - { - mcElieceKeyParameters = (McElieceKeyParameters)McElieceKeysToParams.generatePrivateKeyParameter((PrivateKey)key); - - } - - - return cipher.getKeySize(mcElieceKeyParameters); - } - - ////////////////////////////////////////////////////////////////////////////////// - - static public class McEliecePKCS - extends McEliecePKCSCipherSpi - { - public McEliecePKCS() - { - super(new SHA1Digest(), new McEliecePKCSCipher()); - } - } - - static public class McEliecePKCS224 - extends McEliecePKCSCipherSpi - { - public McEliecePKCS224() - { - super(new SHA224Digest(), new McEliecePKCSCipher()); - } - } - - static public class McEliecePKCS256 - extends McEliecePKCSCipherSpi - { - public McEliecePKCS256() - { - super(new SHA256Digest(), new McEliecePKCSCipher()); - } - } - - static public class McEliecePKCS384 - extends McEliecePKCSCipherSpi - { - public McEliecePKCS384() - { - super(new SHA384Digest(), new McEliecePKCSCipher()); - } - } - - static public class McEliecePKCS512 - extends McEliecePKCSCipherSpi - { - public McEliecePKCS512() - { - super(new SHA512Digest(), new McEliecePKCSCipher()); - } - } - - -} |