KyrCrypt Documentation

(last updated 03/28/2011)
 
It is suggested that first-time users of this application read the documentation in its entirety.


Also, please note that this documentation contains over thirty high-quality screenshots. These images may take awhile to download, so you may wish to leave this page loading for several minutes before embarking on a read-through.


Download the program from DonationCoder.com


Other URLs from which KyrCrypt can be downloaded
1 2 3 4 5 6 7 8 9


KyrCrypt antivirus report at FileCluster.com


FindMysoft.com - Fast and free software download directory

Other programs by this developer

Table of Contents

Introduction
The First Time You Run KyrCrypt
The Initial Form
Encryption/Decryption Progress
Selecting Multiple Files
Handling File Shortcuts
Program Start Options
Clean Output Directory
 


Introduction

KyrCrypt is donationware created by DonationCoder.com member kyrathaba. Its function is to encrypt/decrypt individual files or entire directories of files using 168-bit TripleDES encryption. It offers an optional virtual keyboard for entering passwords with the mouse or touchpad, so that the actual computer keyboard doesn't have to be utilized for this purpose, thereby negating the threat of keyloggers.

Authored in early 2011, KyrCrypt was written in C# against the .NET Framework version 4.0. The development machine was a Dell Inspiron 1545 laptop computer running Windows 7 Home Premium, 64-bit, with 4 Gb of RAM. The software has not been tested by the author against earlier versions of Windows, but should run okay on Windows Vista and Windows XP. The program has not been ported to other operating systems.

A note regarding screenshots: You may note that some screenshots in this documentation display, in the form titlebar, a program version that is earlier than the actual program you have downloaded and installed. In such instances you can disregard the discrepancy. I took screenshots and worked on documentation throughout the development process, but you can trust that any screenshots that appear in this documentation are accurate in terms of the menus and controls they show.



[Table of Contents]

The First Time You Run KyrCrypt

The first time you run KyrCrypt after installation, the program will create the /Kyrathasoft/KyrCrypt/ directory structure within your User directory's /AppData/Roaming/ subdirectory. The program uses this directory structure for storing needed program data. The default output directory for files encrypted or decrypted by the program is:

"C:/Users/[your User name]/AppData/Roaming/Kyrathasoft/KyrCrypt/output"

However, you can opt to output these files to other locations, as I will demonstrate a little further on in the documentation.



[Table of Contents]

The Initial Form

To open one of your files in KyrCrypt, simply use the File >> Open menu item, as indicated in the image shown to the left. When the file dialog appears, you can select the file you want, and then click the Open button to open the file:

With the exception of System files and files located in a Program Files directory, KyrCrypt should open your files without any problems. Once you've selected a file with the file dialog, you'll be prompted to supply a password:

The program requires a password that is between one and twelve characters in length. Naturally, it is better to create a longer password than a shorter one. By placing a checkmark in the checkbox, you can unmask the password-mask, so that the password is clearly visible to you (and to anyone who might be looking over your shoulder). By default, the password is masked.

When you are satisfied with your password, simply click the "Use this password" button, and the file-operation will commence. If the file you opened has a .kpt extension, KyrCrypt will identify it as a KyrCrypt-encrypted file, and will attempt to decrypt it. Otherwise, KyrCrypt assumes the file is to be encrypted. It salts your password (to make dictionary attacks against your encrypted file(s) less likely to succeed) and uses the result to encrypt your file using 168-bit TripleDES symmetrical encryption. You'll get a confirmation message box showing that your password has been noted and that the program will use it. Important: the password you use to encrypt is NOT stored within the encrypted file. Thus, when decrypting, the program does NOT somehow ensure that the supplied password is the same as the one that was used to encrypt. The upshot of this is that if you supply a different password to decrypt than the one that was used to encrypt, you'll get a 'decrypted' file that is 'giggerish'.

                                      


Although in most cases you won't even be aware of any lag while the program loads the files-to-be-processed from a temp-file, in some cases you might. For example, in testing the program, I loaded over 17,000 files from a directory and its many subdirectories. It took close to a minute to load these files into a string List data-structure for processing by the encrypting/decryption methods. Also, I tested the program with fairly large files. One was a 1.06 Gb zip archive. Very large files can lag the program somewhat.

In instances such as those described above, the program will indicate the need for you to be patient and wait for it to process and continue:

Notice in the above screenshot the Wait cursor and the label (both circled in red), which indicate to the end-user that the program is not hanging, and to simply be patient.

If for some reason you're in the password form, and you change your mind and do not wish to proceed with a file-operation, you can click the Cancel button. This will close the password form, and will return you to the main form of the program.



[Table of Contents]

Encryption/Decryption Progress

Once a file-operation begins, the progress bars, the elapsed-time label, and the form's title bar, will all serve to keep you informed of the file-operation's progress.

Examine the screenshot below, and notice the information that is conveyed. The title bar gives the name of the currently processing file in quotation marks, and shows the percentage of that file that has been processed thus far. There are two progress bars. The top progress bar is labeled "File progress", and corresponds to how much of the current file has been processed. The bottom progress bar is labeled "Batch progress" and corresponds to the percentage of the entire batch or job that has been completed. When you're only operating on a single file, the top and bottom progress bars will show identical progress, naturally. But when you're processing multiple files, the top progress bar will proceed from 1% to 100% for each file, while the bottom progress bar increments more slowly.

A label shows time elapsed in the file-operation, even down to fractions of a second. In the screenshot below, the label indicates that a total of 1 minute, 15 seconds, and 632 milliseconds have elapsed. Techie note: the time elapsed label only updates when the ProgressChanged event fires on the BackgroundWorker thread on which the file-operation is executing, so you won't notice a perfectly smooth incrementing of the milliseconds count.


Important: I've not yet shown you how to process multiple files. We'll get to it.


When a file-operation on a single file, or batch of files, completes, you'll get a message box giving information about the completed file-operation:

The following information is included:




 



[Table of Contents]

Assigning Output Location

The default output location for your processed files is "C:/Users/[your User name]/AppData/Roaming/Kyrathasoft/KyrCrypt/output", as we discussed in The First Time You Run KyrCrypt. The program creates the following subdirectories within the output directory:

As you can see, the program creates subfolders for (1) encrypted files, (2) decrypted files, and (3) backups of original files -- all within the output folder. Also, by default, the program will open the output folder after a file-operation completes. It does this by invoking Windows Explorer.

Remember the example I showed earlier, where I was encrypting a 1.06 Gb zipped archive file? Pictured on the left is that file after it is encrypted. Notice that the extension .kpt has been appended to the filename. This extension is what tells KyrCrypt that it's dealing with a KyrCrypt-encrypted file.

If we were to open the "backups" folder, we'd find the following file:

Notice that the backup file (a backup of the original file) has a .bak extension. By default, the program will create a backup file before encrypting a file, although you can disable this option if you wish.

In this particular example, the "decrypted" folder is empty, because we weren't decrypting a file. Rather we were encrypting.



As we've seen, the output folder has the following path: "C:/Users/[your User name]/AppData/Roaming/Kyrathasoft/KyrCrypt/output". This is because that is the default option set in our program:

If we instead selected the "Same Directories As Input Files" option, then each output file in a batch file operation would be written to the very same directory as that from which the input file was read.

Clicking the "User-Selected Directory" option will bring up a Folder Browse dialog, permitting the user to select a directory of his or her choice. The output directory, and its subdirectories, will then be created in the selected directory when a file-operation occurs.

In the next section, we'll see how to specify multiple files for a batch job.








[Table of Contents]

Selecting Multiple Files

It's possible to select multiple files for an encryption/decryption operation. I will demonstrate each. Please note that KyrCrypt doesn't care if you mix encrypted and unencrypted files in the same batch job. It will simply encrypt the unencrypted files (those missing the .kpt extension) and will unencrypt KyrCrypt-encrypted files (those with the .kpt extension).

Now let's practice opening multiple files within a given directory. KyrCrypt's file-open dialog is multi-select, meaning you can select more than one file before clicking the dialog's Open button. To select multiple files, you hold down either the Control key or the Shift key and then click on the files you want. Holding down the Ctrl key, you can select one file at a time by clicking on it, regardless of whether or not the file is adjacent to any other selected files in the list. Using the Shift button, you can click on the first and last file you want to select. Those two files, and every file in between them in the list, will be selected:

 
 
 
 
 
← Holding down the Control key, I click first on file "readonly.txt", then on "upcoming appointments.doc".  
 
 
 
 
 
 


 
 
 
 
 
← Holding down the Shift key, I click first on file "readonly.txt", then on "upcoming appointments.doc". Notice that this has the effect of also selecting the file located in between them in the files list, i.e., shortcut "Trchlght2.exe".  
 
 
 
 
 

There is an alternate way to feed the program the files you wish to operate upon. You can drop the files, or entire folders of files, on the main form. Try it. Drop (a) a single file, or (b) select and then drag multiple files, or (c) drag a folder containing files to the main form. You can even drag files and folders in the same drag-operation, dropping them on the main form.

When you do such a drag-drop, the resulting password dialog that appears will show the number of files that were dropped on the form. Here is a screenshot showing the result when I drag-drop my screenshots folder onto the program's main form:

←You should experiment with the program's drag-drop functionality. You will quickly determine that when folders are dropped on the form, any subfolders are recursed into, and their files added as well. If you need or desire finer-grained control over this recursing-behavior (for instance, if you want to recurse into some folders, but take the top-level files only in other folders, you can use the program's Scheduler (discussed later).




[Table of Contents]

KyrCrypt Handles Shortcuts to Files

The program handles shortcuts by dereferencing them to find the path to the file they are meant to reference.

Note: KyrCrypt will reject the "Trchlght2.exe" shortcut file in the above example, but only because it references a file that is located in a Program Files subdirectory:

In contrast, the program will accept the shortcut shown in the screenshot below and to the right, and the file it references will be processed, because the program can tell that it isn't a Program Files file.







What if the file that the shortcut references has been moved or deleted? In that case, our file dialog catches the problem when you click the Open button:


[Table of Contents]

Pre- and Post- File Operation Actions

You can set up a few optional pre- and post- file operation actions. By default, the following two are set for you:

Backup files before encrypting - This is a wise option to set. It's pretty much standard tech-wisdom to backup a file before doing anything for which there is even a remote chance of file corruption. Therefore, it's advisable to set this option.

Delete encrypted files after decryption - This option is available for the simple reason that you probably won't want the encrypted file anymore; why else did you decrypt it? Setting this option simply allows the program to automatically delete the encrypted version of a file after you've decrypted it back to its original binary.

Additional options:

Delete file after encrypting - Note the second option in the screenshot below. If you enable this option, no backup of the original file is created. Additionally, the original file is deleted after it is encrypted, so that only the encrypted version of the file remains. The program attempts to prevent the recovery of the original file even by file-recovery utilities. In the interest of candor, I'll confess that I've not exhaustively tested this feature, but I did test it against three freeware and one commercial file-recovery utility. Be careful not to forget the password if you choose to use this option, because decrypting the file in KyrCrypt is likely the only way to recover the original.

Zip-archive encrypted files: the fourth and final option you see in the screenshot is the ability to place all encrypted files into a single .zip archive container. This is just a handy feature in case you want to upload the files to a website, or back them up to a thumb drive. It keeps them all together, handily, in one container file.



[Table of Contents]

Program Start Options

The next options we'll briefly review are the Program Start options. These are located under the third menu item under the Options menu:

The first options, Preserve Form Location Across Runs, should be enabled if you wish the form to start-up at a screen location other than the default, which is CenterScreen. With this option enabled, when you start the program, the main form of the program will appear wherever you last left it.

The next option, Start Program When Windows Launches should be self-explanatory. Many programs, both freeware and commercial, offer this feature. Why might you want this program to start with Windows? Perhaps you have a list of passwords that you need access to each time you use Windows. In that case, having the program running can be handy so that you can quickly and easily decrypt the encrypted passwords file. Or, perhaps you want the program to run in the background, sitting out of the way in the system tray, so that scheduled jobs will run when they attain their launch window.

The Start Program Minimized To System Tray option just ensures that the program starts quietly without intruding on your awareness. It'll just quietly run in the background, available if you click on its icon in the system tray.



[Table of Contents]

Clean Output Directory

Selecting the Clean Output Directory option causes the output directory to be cleaned of any unencrypted files from the /unencrypted/ output subdirectory, and any encrypted files from the /encrypted/ output subdirectory.

However, it does not touch any backup files in the /backups/ output subdirectory, nor any zip archives in the /archived/ output subdirectory. This is because, presumably, users should want to keep backup files, and archive files which were specifically created for archiving processed files. However, if the user does want to delete backup and archive files as well, it's simply. Just double-click on the program's main form. This will open the output subdirectory in Windows Explorer. At that point, simply, delete the desired backup and archive files, or delete those two subdirectories entirely (they'll be recreated later-on, as needed.

It should be noted that, when this menu item is checked, both unencrypted and encrypted files are deleted from their respective subdirectories immediately. And, as long as this item is left enabled, the program will check those output subdirectories each time the program starts, deleting any files it finds there.

This option is not set, by default. However, as with the other program options, if you set it, it will be persisted across multiple program runs. It is recommended that you leave this option disabled until you gain some familiarity with the program.