aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java')
-rw-r--r--libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java177
1 files changed, 0 insertions, 177 deletions
diff --git a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java b/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java
deleted file mode 100644
index 32908a67e..000000000
--- a/libraries/spongycastle/core/src/main/j2me/org/spongycastle/crypto/examples/MIDPTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.spongycastle.crypto.examples;
-
-import java.io.*;
-import java.lang.*;
-
-import javax.microedition.midlet.MIDlet;
-import javax.microedition.lcdui.*;
-
-import org.spongycastle.util.test.*;
-import org.spongycastle.util.encoders.*;
-
-import org.spongycastle.crypto.*;
-import org.spongycastle.crypto.paddings.*;
-import org.spongycastle.crypto.engines.*;
-import org.spongycastle.crypto.modes.*;
-import org.spongycastle.crypto.params.*;
-
-/**
- * MIDP is a simple graphics application for the J2ME CLDC/MIDP.
- *
- * It has hardcoded values for the key and plain text. It also performs the
- * standard testing for the chosen cipher, and displays the results.
- *
- * This example shows how to use the light-weight API and a symmetric cipher.
- *
- */
-public class MIDPTest extends MIDlet
-{
- private Display d = null;
-
- private boolean doneEncrypt = false;
-
- private String key = "0123456789abcdef0123456789abcdef";
- private String plainText = "www.bouncycastle.org";
- private byte[] keyBytes = null;
- private byte[] cipherText = null;
- private BufferedBlockCipher cipher = null;
-
- private String[] cipherNames = {"DES", "DESede", "IDEA", "Rijndael", "Twofish"};
-
- private Form output = null;
-
- public void startApp()
- {
- Display.getDisplay(this).setCurrent(output);
- }
-
- public void pauseApp()
- {
-
- }
-
- public void destroyApp(boolean unconditional)
- {
-
- }
-
- public MIDPTest()
- {
- output = new Form("BouncyCastle");
- output.append("Key: " + key.substring(0, 7) + "...\n");
- output.append("In : " + plainText.substring(0, 7) + "...\n");
-
- cipherText = performEncrypt(Hex.decode(key.getBytes()), plainText);
- String ctS = new String(Hex.encode(cipherText));
-
- output.append("\nCT : " + ctS.substring(0, 7) + "...\n");
-
- String decryptText = performDecrypt(Hex.decode(key.getBytes()), cipherText);
-
- output.append("PT : " + decryptText.substring(0, 7) + "...\n");
-
- if (decryptText.compareTo(plainText) == 0)
- {
- output.append("Success");
- }
- else
- {
- output.append("Failure");
- message("[" + plainText + "]");
- message("[" + decryptText + "]");
- }
-
- }
-
- private byte[] performEncrypt(byte[] key, String plainText)
- {
- byte[] ptBytes = plainText.getBytes();
-
- cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(getEngineInstance()));
-
- String name = cipher.getUnderlyingCipher().getAlgorithmName();
- message("Using " + name);
-
- cipher.init(true, new KeyParameter(key));
-
- byte[] rv = new byte[cipher.getOutputSize(ptBytes.length)];
-
- int oLen = cipher.processBytes(ptBytes, 0, ptBytes.length, rv, 0);
- try
- {
- cipher.doFinal(rv, oLen);
- }
- catch (CryptoException ce)
- {
- message("Ooops, encrypt exception");
- status(ce.toString());
- }
- return rv;
- }
-
- private String performDecrypt(byte[] key, byte[] cipherText)
- {
- cipher.init(false, new KeyParameter(key));
-
- byte[] rv = new byte[cipher.getOutputSize(cipherText.length)];
-
- int oLen = cipher.processBytes(cipherText, 0, cipherText.length, rv, 0);
- try
- {
- cipher.doFinal(rv, oLen);
- }
- catch (CryptoException ce)
- {
- message("Ooops, decrypt exception");
- status(ce.toString());
- }
- return new String(rv).trim();
- }
-
- private int whichCipher()
- {
- return 4; // DES
- }
-
- private BlockCipher getEngineInstance()
- {
- // returns a block cipher according to the current
- // state of the radio button lists. This is only
- // done prior to encryption.
- BlockCipher rv = null;
-
- switch (whichCipher())
- {
- case 0 :
- rv = new DESEngine();
- break;
- case 1 :
- rv = new DESedeEngine();
- break;
- case 2 :
- rv = new IDEAEngine();
- break;
- case 3 :
- rv = new RijndaelEngine();
- break;
- case 4 :
- rv = new TwofishEngine();
- break;
- default :
- rv = new DESEngine();
- break;
- }
- return rv;
- }
-
- public void message(String s)
- {
- System.out.println("M:" + s);
- }
-
- public void status(String s)
- {
- System.out.println("S:" + s);
- }
-
-}