Cryptix V3.2

cryptix.tools
Class Scar

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--cryptix.tools.Scar

public class Scar
extends java.lang.Thread

A command line utility to (a) compress, encrypt and asciify files and/or directories (with or without directory recursion), and (b) accomplish the inverse with user-specified option for recreating a source tree directory.

Uses java.zip tools to deflate and inflate data, Cryptix IJCE for the cipher and message digest (used to compute cipher keys from user plain ascii passphrase) algorithms, and a PGP-style Base-64 armour with P. R. Zimmermann 24-bit CRC method (PRZ24 class) for the [de-]asciification.

Hard-wired default values for cipher (Square) and Simple String To Key (S2K) specifier with message digest (RIPEMD-160) algorithms are used. These and other default values can be individually modified for each user by setting the appropriate properties in a scar.properties file placed in the user's home directory.

Current scar properties that the user can alter are:

scar.header
The text that will be enclosed between a pair of ----- to visually indicate the start of an asciified scar. Current default is "BEGIN SCAR ARCHIVE".
scar.comment
A text that will follow the text "Comment: " in a line following scar version information in an asciified scar. Current default is "scar by Cryptix...".
scar.footer
The text that will be enclosed between a pair of ----- to visually indicate the end of an asciified scar. Current default is "END SCAR ARCHIVE."
scar.cipher.algorithm
The name of a symmetric cipher algorithm installed and accessible by the user Java VM. Current default is "Square". Square is a symmetric block cipher algorithm developed by Joan Daemen and Vincent Rijmen .
scar.passphrase
The text to use as the pass-phrase. This pass-phrase will be used as the basis for computing a session key. The algorithms used to generate a session key from the pass-phrase are an implementation of the proposed S2K Simple, Salted, Iterated and Salted-Iterated variations described in the OpenPGP IETF draft document dated November 1997. The current default is "sub rosa."
scar.md.algorithm
The Message Digest algorithm used in the S2K algorithms. "RIPEMD-160" Is the default. RIPEMD-160 is designed by Hans Dobbertin, Antoon Bosselaers and Bart Preneel.
scar.md.salt
A salt value to use in S2K Salted and Iterated-Salted variants. Current value is "Cryptix Development Team".
scar.md.iterations
A positive integer to use in S2K Iterated and Salted-Iterated variants. Current default value is 7. To do: Note: this is an alpha release of scar. The format of encrypted archives may (and probably will) change incompatibly in future releases..

Copyright © 1997, 1998 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.4 $

Author:
Raif S. Naffah

Field Summary
static boolean DEBUG
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Scar()
           
 
Method Summary
static void main(java.lang.String[] args)
           
 void processOptions(java.lang.String[] args)
          Process command line arguments.
 void run()
          main action.
 void unzip(java.util.zip.ZipInputStream zip, java.io.File dest)
          unzip files and/or directories to a destination.
 void zip(java.io.File source, java.util.zip.ZipOutputStream zip, int level)
          Zip files and/or directories to a ZipOutputStream.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEBUG

public static boolean DEBUG
Constructor Detail

Scar

public Scar()
Method Detail

main

public static void main(java.lang.String[] args)

processOptions

public void processOptions(java.lang.String[] args)
Process command line arguments.

run

public void run()
main action.
Overrides:
run in class java.lang.Thread

zip

public void zip(java.io.File source,
                java.util.zip.ZipOutputStream zip,
                int level)
         throws java.io.FileNotFoundException,
                java.io.IOException
Zip files and/or directories to a ZipOutputStream.
Parameters:
source - source file or directory.
zip - destination zip output stream.
level - depth level in the recursion tree of this method. Used to distinguish top level directory from sub- directories (whether to apply recursion or not).
Throws:
java.io.IOException - if operation fails

unzip

public void unzip(java.util.zip.ZipInputStream zip,
                  java.io.File dest)
           throws java.io.FileNotFoundException,
                  java.io.IOException
unzip files and/or directories to a destination.
Parameters:
src - source zip stream.
dest - destination File object.
Throws:
java.io.IOException - if operation fails

Cryptix V3.2

Copyright (C) 1995-2000 The Cryptix Foundation Ltd. All rights reserved.