cryptix.tools
public final class MCT extends Object
MCT's output file format is in conformance with the layout described in Section 4 of NIST's document "Description of Known Answer Tests and Monte Carlo Tests for Advanced Encryption Standard (AES) Candidate Algorithm Submissions" dated January 7, 1998.
If the -p argument is not specified, this command assumes that the name of the designated cipher algorithm is also that of its Security Provider. It always tries processing the user's request using Java Reflection API methods on an XXX_Algorithm class, if such a class exists --XXX being the name of the AES candidate algorithm. When such a class exists, it is assumed to include the following static methods:
If an *_Algorithm class was not found, or if found but an exception was thrown during the invocation and/or execution of one of its methods, this command then reverts to using the IJCE API methods for carrying on the user's request.
This duality of functionalities is here for performance reasons since speed is faster with the Reflection API than with the IJCE one --on a Pentium 133MHz, without JIT, using JDK-1.1.5 Reflection API brings more than 10% speed improvement.
Copyright © 1998
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.5 $
Nested Class Summary | |
---|---|
class | MCT.MCT_Key |
Field Summary | |
---|---|
Class | algorithm |
Method | blockSize |
boolean | cbc |
String | cdFileName |
String | ceFileName |
Cipher | cipher |
String | cipherName |
long | decBlocks |
Method | decrypt |
File | destination |
String | dirName |
boolean | ecb Current values of switches as set from the command line arguments. |
String | edFileName |
String | eeFileName |
long | encBlocks |
Method | encrypt |
long | keyCount |
String | keylengths |
int[] | keys |
Method | makeKey |
String | provider |
static String | SUBMITTER |
boolean | useReflection |
static String | VERSION |
Method Summary | |
---|---|
void | cbcDecForKeyIjce(int keysize, PrintWriter pw) |
void | cbcDecForKeyReflect(int keysize, PrintWriter pw) |
void | cbcDecrypt(String decName) |
void | cbcEncForKeyIjce(int keysize, PrintWriter pw) |
void | cbcEncForKeyReflect(int keysize, PrintWriter pw) |
void | cbcEncrypt(String encName) |
void | cbcMCT(String encName, String decName) |
void | ecbForKeyIjce(int keysize, PrintWriter enc, PrintWriter dec) |
void | ecbForKeyReflect(int keysize, PrintWriter enc, PrintWriter dec) |
void | ecbMCT(String encName, String decName) |
static void | halt(String s)
Print an error message to System.err and halts execution returning
-1 to the JVM.
|
static void | main(String[] args) |
static void | notify(String s)
Write a notification message to System.out.
|
void | printUsage() write help text and quit. |
void | processOptions(String[] args) Process command line arguments. |
void | run() main action. |
Parameters: s a message to output on System.err
Parameters: s string to output to System.out.