I finally compiled a Windows-32 version of the SpiralCrypt command line tool. Cross-compilation does not generally allow the required glibc functions (which could be removed at the expense of masking, checking for pipes, and password + standard input) so I've defaulted back to native compilation on Windows itself using DJGPP (http://www.delorie.com/djgpp/,) which is an amazing Windows port of gcc. Sorry about the delay!
Kevin P. Barry
This release of 'spiral' has several notable changes:
- Change of license from LGPL to GPL
- Removal of the Windows source package (although I will provide Windows .exe's once I get a cross compiler going)
- Removal of all named pipe options; pipes are now automatically detected
- New feature allowing "in from one, out to another" with multiple files at once
- Multiple output files with standard input... read more
After several months off, I've released a new update to 'spiral'. This update fixes the "shred" option, which I broke the last release (sorry.) Additionally, I made some updates to command line interpretation so that all options which don't require arguments (such as sizes) can be used more than once. This is a change from 0.9.1 in that options such as "-e" could not be used more than once per command line. As of now, I don't know of any bugs, however I do have a few improvements in mind (nothing official, however.) As always, thank you for your interest in my work!
I made a significant number of changes to the command line tool last week, and I had 0.9.0 packaged up and ready when I decided to sift through the code one last time. I found a few things to improve, plus I made enough additional changes to warrant a complete new release; hence 0.9.1. I'll address the new features of both.
The SixBit tool is no longer a separate part of this project; I've completely integrated it into Spiral. In case you are unfamiliar with that tool; it's intended to convert binary data into text data so that it can be embedded with text documents and email messages. This took some work, so while I was at it I rewrote almost all of the display output. I also added an option to make randomly-generated keys text instead of binary. I added the ability to generate a random key as the only operation in a call to the program. The inability to open a file during a loop was previously considered an "end-of-file" signal, however it isn't anymore. To make this happen, I had to make the loop terminate if a full cycle is made through the files without being able to open any of them; otherwise, the loop would be infinite.... read more
This release of Spiral has several significant changes. The largest visible change is the addition of the "merge data" option, and also the ability to use multiple files when sending to standard output. In both of these situations, multiple sets of data (i.e. files) are considered a single set for the purposes of encryption and/or data property calculations. There is also a loop version of this option, which causes the context to carry over from one loop to the next when using loop processing. I've also added the ability to use a password with data from standard input in the GNU version, as well as verification that the command was associated with a terminal before allowing a password.... read more
This release of 'spiral' introduces the first semi-portable divergence in the project. Included with this release is an additional source file which makes use of a few GNU features which allow masking of passwords when typed into a terminal. I had to modify the portable source code a little for this to work, however all source packages will still include a portable version of 'spiral'.
All future binaries will be built from the GNU sources (including Windows.) If you would like to build the GNU versions yourself, you will need GCC or DJGPP (or something compatible.) I suggest building yourself if possible because you can optimize for your own system and will have an executable about `10-20% the size of a prebuilt binary. The non-GNU versions "should" compile and link with any standard-compliant compiler.... read more
This release contains mostly bug fixes. In one of the last releases, the byte size suffixes stopped working; I fixed this. "Copy" operations didn't work with "-I" or "-O" in Spiral; I fixed this also. I fixed an error in SixBit which caused an exception with data larger than 16KB (don't know how I missed this.) Additionally, SixBit now uses "_" instead of " " for character replacement. As always, thanks for taking an interest in my work!
This release just refines a few things added in 0.8.5. This mostly consists of a more concise definition of what circumstances warrant an 'analyze only' situation and what circumstances warrant a 'copy' situation. No changes affect SixBit in this release, however SixBit 0.1.0 source code is still included in the package. Thanks for your support!
This release of Spiral has a few minor changes, however I've added an additional command line tool to this project; the SixBit 8 <-> 6 Bit Data Converter.
I'm sure you are wondering what good it would do to convert your data to 6 bits. The main reason I developed this tool was to allow users to convert data encrypted by Spiral into something which could be pasted into the text of an email or the like. This tool will convert any data into letters, numbers, spaces, and periods and back again.... read more
This release contains a few options which allow you to redirect the encryption key used to either a file or standard output. I've also added an option to create a random key which doesn't have to be saved directly to a file. I've allowed zero-sized keys, which just causes the program to copy data unchanged. I've also made a few minor changes to things that are allowed and not allowed.
Right now I only have the source packages and the Linux binary posted. I will not have access to my Windows machine for at least another month, but I will post the .exe as soon as I can. Thanks for your support!
This release has a few minor bug fixes that most implementations will not notice. I've also updated a few things in the named pipe examples. Not much new! Thanks for your support!
This is the last update in this recent series. This is mostly a cleanup of all of the changes over the last 6 months; I've made as many improvements and fixes as I could think of, and therefore this should be one of the most stable versions.
I've also changed the check sum algorithm again since it was painfully slow. I don't plan to change it again unless I find bugs. Lastly, I added a loop processing option which allows processing data from the same named pipe indefinitely.... read more
This release has a few new features, plus a large number of code quality improvements. Essentially what I did was go through everything one line at a time looking for bugs. The main features added are the ability to take input from either a named pipe or a file, process, and output to another named pipe or file. I've also added a test only option which does everything except write. This is intended for verifying check sums to validate a key before permanently changing a file. I also added the ability to analyze data in a list of named pipes; before you could only analyze one by using the standard output option (that was kind of a work around.) I added an option to accept a key from standard input. This isn't quite the same as a password; it isn't confirmed, there are no prompts, and it only stops reading when EOF is reached.... read more
If you've downloaded any SpiralCrypt package and have noticed that you can't read the tables in the HTML documents in Internet Explorer; please download the current version of what you are using. For some reason the tables showed up correctly on 4 or 5 other browsers, but not on IE.
Now that the SpiralCrypt command line tool has become more stable and versatile, I felt it was appropriate to start providing binary packages for users who do not wish to compile from source.
I've created an exe for Windows and binaries for x86 Linux and FreeBSD. All 3 are stripped and statically linked, therefore are somewhat larger than if you would have compiled them yourself. The up side is that you should be able to use the executable on any compatible platform.... read more
As has become tradition, I've released another back-to-back update. I saw it fitting to add named pipe variants to the key and random key options. The named pipe variant of the key option extracts the encryption key from the named pipe. The named pipe variant of the random key option sends the randomly-created key to the named pipe. While working on this option, I realized that the random key option was broken. I fixed this option. I also added a dual pipe option which takes input from one named pipe and sends the output to another named pipe. I've also added an HTML tutorial to replace the text tutorial. Thanks for your interest!
This release has several very useful additions. To start with, I added an explicit flag for each option. I added an option which suppresses all program output except for check sums. I think the biggest change was redefining the standard I/O interface. You can now specify either/both/neither. If you use only one (either standard in or standard out), you can interface with one file. I've added an option denoting that this interface file is a pipe, which allows you to take input or send output directly from or to a named pipe without command line redirection. I think the second biggest change is the added ability to cluster single-letter options together (like most Unix tools.) I also started allowing duplicate flags for options which don't require arguments. That just made sense. A few smaller changes I made were reversing the order of the arguments for random keys, and removing the option to use a "B" at the end of a size argument. Incidentally, I drastically modified the help screen. As always, thanks for taking the time to check out my work!
Today I discovered an error in the jpegs which outline the algorithm and function set. THIS ERROR DOES NOT AFFECT THE COMMAND LINE TOOL OR ANY OTHER SOURCE CODE; JUST DOCUMENTATION. PLEASE DELETE ALL PREVIOUS COPIES OF THE ALGORITHM; THEY ARE INCORRECT. The problem occured when I converted the original document to jpeg format; a few things didn't line up right. I've also removed the algorithm from the command line tool package and made it a separate release. Thanks for your patience!
This update has several significant optimizing changes, a few bug fixes, and I altered the check sums a little. The check sums are not compatible with the previous versions. I do not plan to change them again, however. It calculates over twice as fast as the previous version on my machine. Processing files is significantly faster when also calculating check sums and statistics. Although there aren't very many changes to speak of, I highly recommend downloading this release even if you've already downloaded 0.7.1. Thanks for your interest!
I happened to catch 3 minor bugs in 0.7.1 right after I posted it. These are very minor bugs and do not affect encryption at all. They affected the display in very rare cases and did not properly display an error in a relatively rare case. Thanks again for your interest!
Although only one day after the release of 0.6.0, this version has significant enough changes to warrant a new minor version. I greatly underestimated the ease of the major changes in this version, which is why I released 0.6 yesterday.
This release has 2 major changes. The first is the ability to process standard input and send it to standard output. This allows you to encode, decode, and analyze data without storing it in a file first. The second change is I completely rewrote the check sum algorithm. I had to make a minor change to it in order to process standard input, and while I was at it I analyzed its effectiveness. I was a little disappointed, therefore I rewrote the calculations, made them 128 bit, and now show them in hex.... read more
This release contains several significant changes. The most important changes are: 1) I added a statistical analysis of byte distribution within the file, 2) I added an option to shred a file, 3) I added the ability to view a file's check sums and statistics without having to process it, 4) I added the ability to encrypt with a randomly created key. I fixed a few small bugs, and I revised quite a bit of the program output. I added the option to specify KB, MB, etc. when specifying a size on the command line. I made several internal changes also which are outlined in the 'changes' file included in the packages. Check sums and encryption remain 100% compatible. As always, thanks for taking an interest in my work!
This release has only minor changes; it's 100% compatible with the previous version. I've added support for 2GB+ files, fixed a bug that caused '-x' to not work, added '--' flag to end option list, and added a few things to '-v'. I also made major revisions to the source code to make it easier to review and maintain. Thanks for checking it out.
I've reposted the Spiral command line tool for downloading. This is the same version as was previously available. Please be aware of your local legal requirements regarding the importation and use of encryption software; they may differ from the requirements of where I am releasing from (the US). Thanks for your interest.
I've temporarily discontinued the current releases for SpiralCrypt. I am in the process of revising my release strategy since I intend to add additional Linux support and I plan to revise the algorithm documentation. It won't be long before I put them back up, however. Sorry! Thanks for your interest.