See: Description
Package | Description |
---|
ElsieFour (LC4) is a low-tech cipher that can be computed by hand; but unlike many historical ciphers, LC4 is designed to be hard to break. LC4 is intended for encrypted communication between humans only, and therefore it encrypts and decrypts plaintexts and ciphertexts consisting only of the English letters A through Z plus a few other characters. LC4 uses a nonce in addition to the secret key, and requires that different messages use unique nonces. LC4 performs authenticated encryption, and optional header data can be included in the authentication.
The ElsieFour Library consists of programs and classes for performing LC4 encryptions and decryptions and for analyzing the LC4 algorithm. The ElsieFour Library was developed by Professor Alan Kaminsky in the Department of Computer Science at the Rochester Institute of Technology.
System Requirements
Installation
Usage
License
Revision History
The CryptoStat Library requires the following software package:
• Parallel Java 2 Library version 27-Feb-2017 or later — http://www.cs.rit.edu/~ark/pj2.shtml
First install the above software package and set all requisite environment variables (such as PATH, CLASSPATH) as explained in the documentation for the above software package.
There are two versions of the ElsieFour Library distribution, an executable distribution and a source distribution.
Executable distribution. The executable distribution comes in a Java Archive (JAR) file named "LC4_YYYYMMDD.jar", where YYYYMMDD are the year, month, and date. The executable distribution includes the ElsieFour Library class files only. To install the executable distribution, simply store the JAR file somewhere. You may wish to change the file name, say to "LC4.jar".
Source distribution. The source distribution comes in a Java Archive (JAR) file named "LC4src_YYYYMMDD.jar", where YYYYMMDD are the year, month, and date. The source distribution includes the ElsieFour Library class files, source files, and documentation files (Javadoc). To install the source distribution, just unpack the JAR file. The source distribution expands into a subdirectory named "LC4". If you already have a subdirectory of that name which you want to save, be sure to unpack the JAR file in some other directory. Documentation is stored under the directory "LC4/doc"; point your HTML browser to that directory. Java source files and class files are stored under the directory "LC4/lib".
Executable distribution. When compiling and executing Java programs that use the ElsieFour Library, if you have installed the executable distribution, you must set your classpath to include the ElsieFour JAR file and the Parallel Java 2 JAR file. Here is an example of a command for the bash shell to set the classpath to the current directory plus the JAR files (of course, use the proper path names for your system):
export CLASSPATH=.:/home/fac/ark/public_html/parallelcrypto/elsiefour/LC4.jar:/home/fac/ark/public_html/pj2.jar
Here is an example of a command for the csh shell to set the classpath to the current directory plus the JAR files:
setenv CLASSPATH .:/home/fac/ark/public_html/parallelcrypto/elsiefour/LC4.jar:/home/fac/ark/public_html/pj2.jar
Source distribution. When compiling and executing Java programs that use the ElsieFour Library, if you have installed the source distribution, you must set your classpath to include the top-level directory under which ElsieFour's Java class files are stored as well as the Parallel Java JAR file.
The documentation files, Java source files, Java class files,
and CUDA source files
in the ElsieFour Library
("The Library")
are copyright © 2017
by Alan Kaminsky.
All rights reserved.
For further information, contact the author, Alan Kaminsky, at
ark@cs.rit.edu.
The Library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
The Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A copy of the GNU General Public License is provided in the file gpl.txt. You may also obtain a copy of the GNU General Public License on the World Wide Web at http://www.gnu.org/licenses/gpl.html.
Copyright © 2017 by Alan Kaminsky. All rights reserved. Send comments to ark@cs.rit.edu.