Name | Modified | Size | Downloads / Week |
---|---|---|---|
isc-1.0.1-exe.zip | 2014-07-28 | 366.7 kB | |
ReadMe.txt | 2014-07-27 | 3.8 kB | |
Totals: 2 Items | 370.4 kB | 0 |
ISC - The ISAAC Stream Cipher ISAAC is a cryptographically secure pseudo-random number generator (CSPRNG) and stream cipher. It was developed by Bob Jenkins from 1993-1996 and placed in the Public Domain. ISAAC is fast - especially when optimised - and portable to most architectures in nearly all programming and scripting languages. It is also simple and succinct, using as it does just two 256-word arrays for its state. ISAAC stands for "Indirection, Shift, Accumulate, Add, and Count" which are the principal bitwise operations employed. To date - and that's after more than 20 years of existence - ISAAC has not been broken (unless GCHQ or NSA did it, but they wouldn't be telling). ISAAC thus deserves a lot more attention than it has hitherto received and it would be salutary to see it more universally implemented as a replacement for RC4 and other (broken) ciphers. The latter was, in fact, Bob's primary spur for releasing the ISAAC code. The little program you have here takes Bob's goal and runs with it. ISC lets you use ISAAC to encrypt and decrypt files of any type and messages of arbitrary length on a key phrase of any complexity (the longer the stronger!) Usage: isc -e "plaintext" -k "keyphrase" isc -d "ciphertext" -k "keyphrase" isc -e -f "filename" -k "keyphrase" isc -d -f "filename" -k "keyphrase" Ciphertext must be in hexadecimal form. Files may be of any type and of maximum size 4GB. Double quotes are optional but advisable. Ciphered file naming conventions: Encrypted files END with .isc (example: "myfile.wav.isc") Decrypted files START with isc. (example: "isc.myfile.wav") ISC expects to find its files in the directory from which it is called, so for optimal results you are urged either to add your ISC folder to your system PATH or else copy isc(.exe) to /usr/bin/ (Linux) or C:\Windows. ISC <options> -d Decipher, followed by your ciphertext. -e Encipher, followed by your plaintext. -f File to encipher or decipher. -k Key-phrase, quoted. -h This options screen. -i Information and background. -w GPL Warranty disclaimer. -W GPL Terms and Conditions. Example: > isc -e "quick brown fox" -k "secret key" (encrypt "quick brown fox" on key "secret key") Output: > 082E360D1F7909122019085D58074A Example: > isc -d 082E360D1F7909122019085D58074A -k "secret key" (decrypt 082E360D1F7909122019085D58074A on key "secret key") Output: quick brown fox Example: > isc -e -f "myfile.wav" -k "secret key" (encrypt file "myfile.wav" on key "secret key") Output: > an encrypted file named "myfile.wav.isc" Example: > isc -d -f "myfile.wav.isc" -k "secret key" (decrypt file "myfile.wav.isc" on key "secret key") Output: > a decrypted file named "isc.myfile.wav" Double quotes are essential only when the text, filename or key contains spaces or begins with a hyphen; seldom, if ever, for ciphertext, which is always an unbroken string of hexadecimal digits. Experiment. ISC is programmed in Free Pascal - http://freepascal.org Compile at the command prompt with >fpc isc.pas A Windows executable and a Linux/Posix binary can be found pre-compiled and ready to use in the /bin directory of the distribution archive. Just extract isc(.exe) to the folder of your choice and add that folder to your system PATH. ISC is released under the GNU General Public License, Version 3 and carries no warranty of any kind, either express or implied. Use at your own risk. Feel free to contact me any time to report errors or suggest improvements. Enjoy! C.Kayne cckayne@gmail.com ISC is Copyright (c) Conrad C. Kayne, 2014 ISAAC is Copyright (c) Bob Jenkins, 1996 (http://burtleburtle.net/bob/rand/isaac.html)