cryptix.tools
Class MCT
java.lang.Object
|
+--cryptix.tools.MCT
- public final class MCT
- extends java.lang.Object
For a designated symmetric block cipher algorithm, this command generates
and exercises Monte Carlo Tests data for both Encryption and Decryption in
Electronic Codebook (ECB) and Cipher Block Chaining (CBC) modes.
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:
- public static int blockSize();
Return the length in bytes of the cipher's input block.
- public static synchronized Object makeKey (byte[]);
Expand a user-supplied key material into a cipher's session key.
- public static byte[] blockEncrypt (byte[], int, Object);
Encrypt exactly one block of plaintext.
- public static byte[] blockDecrypt (byte[], int, Object);
Decrypt exactly one block of plaintext.
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 $
- Author:
- Raif S. Naffah
Constructor Summary |
MCT()
|
Method Summary |
static void |
main(java.lang.String[] args)
|
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
MCT
public MCT()
main
public static void main(java.lang.String[] args)
Copyright (C) 1995-2000 The Cryptix Foundation Ltd. All rights reserved.