Nevermore PAD Encryption Utility User Guide
Home About Source License Forum Download FAQ Tutorials
How to use the Nevermore Encryption Utility.

This is a video demonstration of Nevermore. However due to time limitations, it's not as detailed as the steps on this web page. Please use both mediums for learning how to use Nevermore.

Welcome to the Nevermore tutorial. Nevermore is a special utility designed to make better use of One Time Pad Encryption. One Time PAD is impossible to crack, but almost as difficult to manage. PAD Keys, called "sequences" in this application. cannot be used twice. This is a hard rule to follow. Sequences must also be transported in the most secure manner possible as well.



Nevermore uses the Blackbird Core encryption applet, and also draws upon Twofish AES for those cases where the PAD Sequences are tranported in an encrypted manner. Nevermore also lets the user know how many usable sequences they have, and if the message size exceeds the available sequence size. However the best available sequences are automatically selected by the program. A unique feature of Nevermore is that is breaks a rule of PAD encryption regarding the size of the key and the message. It can, but only for transportation of new sequences, use an adapated Cipher Block Chaining of a large message using an existing sequence (the largest found), and can automatically detect those cases where an incoming message breaks that rule. In that case, a "transport" of new sequences is detected and the sequences are updated automatically. For an added layer, "encryption groups" (more on that later) using Twofish to protect their sequences automatically have the entire Adapted Stream output encrypted on a second level.

Nevermore is a desktop application that is launched in some cases like a normal application. Some cases being those systems having the Java Runtime Environment installed in such a manner that double-clickikng on the java Archive file (.JAR file) automatically treats it as what is called an "Executable Jar File" and launches it.

There is a file provided for Linux operating systems called Nevermore.desktop This is a file for launching the program in those cases where clicking on it does not work in Linux. However there are various versions of Linux so this file might require some modification, especially if moving it around.

Otherwise on a WinX System with a "broken" shell that does not launch a .JAR file like a program, this simple command should work:


If this does not work, there is a chance that Java is not installed. This can be easily rectified by visiting the Java Website. Still, some systems (especially poorly maintained ones) can be quite stubborn, so if for some reason the java command goes un-recognized on WinX systems, it's because the system is lacking knowledge of the path to Java Runtime.
This is fixed by invoking the path before attempting to run the .JAR file:


Yet the "windowsisms" out there might require:


1. Generating the PAD Sequences

First, to use Nevermore, one needs a file of PAD sequences. These are created by the good old (yet new revised) MINK program. Launching the MINK program, also an executable JAR file, is just as easy. However where MINK is designed as a general PAD Sequence utility, all that is needed in this aspect is for MINK to create a file of PAD Sequences. It would be a good idea at this point to look at the MINK Tutorial.

First, once MINK is launched, select the "Generate PAD Sequences" Option from the File Menu.

This pulls up the respective panel for creating PAD Sequences. Keep in mind that it's a bad idea to create a large number of sequences or extremely large sequences. The only limit to this is the memory of your computer and going too large on creation can slow a machine down or take a very long time. But before that....

What kind of Group is this?

Creating a file of PAD Key sequences is to create an Encryption Group. This PAD Sequence file is of course to be shared with whoever it is intended to be shared with. For the purposes of keeping track, consider this a Encryption Group. It's very important to make sure that all concerned parties intended to be in that group have a copy of the file. Normally, as with PAD Encryption and explained in the PAD tutorial, the file of PAD Sequences must be transported somehow to other members of the group. But what kind of group? A group of rogues and scallywags? A ship of fools? No... It's a question of whether or not the group is an encrypting group or not. What this means, in the scope of Nevermore, is whether or not the PAD Sequences themselves are to be encrpted with Twofish. An Encryption Group that is using the extra layer of Twofish to encrypt the sequences is a Password-using Group. A group that does not is a regular group. This is brought up in this manner because there are differences in the way Nevermore operates for the two different types of groups. It's also highly recommended to use that extra layer of sequence encrytion for added security.

Assuming this is to be a Passsword-using Encryption Group, the panel in MINK is filled out as necessary. The Checkbox marked "Encrypt PADs in Output File" is checked off, and a password is given.

Should the need for a STRONG PASSWORD be reiterated here? Remember, use a weak password, such as an existing dictionary word, and a brute force system will crack it in minutes. Even an alien yet small password can be cracked easily by tables or parrallel number-crunching units. Use as much as the allowed password lenght (32 characters) as possible and if you have to write it down and hide it in your shoe, so be it! If you really want to "Get STRONG", let MINK Generate one for you but be advised, you better record that somehow because it will not be easy to remember, nor will it show actual characters you can write down.

Once this is filled out, Click on the "Generate PAD Keys" Button. If there are no issues, the Number of PADs field should turn green.

Again, if you let MINK create a password for you, it will use characters that are not printable or readable, so you best copy and past it somewhere to a storage medium that is "off site". This is a result of pressing the Generate Key Button. Yes, quite strong, but heavy too. Be advised that if you paste this to a text file, you might lose the characters, possibly from a ASCII versus UTF issue. So test your storage methods.

Now this is ready to be written out to a file, click on the "Save to File" Button and a dialog, the appearance of which will be typical to the Operating System, will appear. You must name the Encryption Group, so choose something descriptive. DO NOT CHANGE THE FILE EXTENSION! Nevermore depends on that information to act accordingly.

Once the file is saved, make sure it's safe.

This file must now be given, through any secure means you can find, to other members of the team. Put it on a USB Thumb Drive perhaps and go visit them. PAD Encryption is best used amongst friends.

You may now quit the MINK Program. You don't need it any longer.
What follows now goes for anyone using Nevermore, whether creator of the file or not, any member of the Encryption Group will use Nevermore in the same manner.

2. Using Nevermore

Now it's time to use Nevermore. All members of the Encryption group should have the file at this point. Nevermore can be started as any Java application.

At first glance, there is not much to Nevermore...

However all that is needed is to take the Encryption Groups file of PAD Key Sequences, and "drop" it onto the application. If the PAD Sequences were encrypted, a small borderless dialog will appear, and the Encryption Group Password must be entered.

A brief note here: the best part about this is that if the password to decrypt the sequences is wrong, the user will not be told of this. Yes this is cruel, but it's only the sequences themselves and not the file that is encrypted. Encrypted or not, or properly decrypted or not, the results will be the same: a list of numbers used to encrypt messages. There is no warning. This is to make things very difficult on those who might want to crack your password. You will not know you got it wrong until you send it to other members of your team and it comes out to them as gibberish. A heavy price to pay? Yes. But so is getting your data compromised. So be careful and put in the work now, or get worked on later. You chose.

Lost? Nevermore has a lot of "Tool Tips". Hold your mouse over any given area and some text will appear that (hopefully) can be of help.

If all goes well, a panel for your Encryption Group will appear on the application main panel. It's simple of course.

What you are looking at now is the "gateway" to the use of the PAD Sequences of your Encryption Group. If you are in more than one group, and have a PAD Key Sequence file from each one, you can put that on this panel at the same time...

You are propably noticing the little text messages on each Encryption Group Panel. The "other team" file has only 5 small PAD Keys in it, while the test group was created (as seen in this tutorial) with 10. Nevermore keeps you informed about how many unused PAD Key Sequences you have left. It's very important to keep track of this. Run out, you are are done and will have to make the trip to get or pass around a new file. When you are getting low in PAD Sequences, you must generate a new series of Keys in Nevermore (NOT MINK) and send the resulting message generated from that - there will be more on that later in this tutorial.

What to do now? Simple. To get started, in this case, you want to encrypt a message perhaps, you can right-click on the panel for the Encryption Group that you intend to send a message to and this menu appears...

Choose "Encrypt a Message" and a new panel appears that will be the encryption panel for the group.

Note that slider control? That's for the Font Size. When messages are decrypted and displayed, the Group Panels that contain the plain text will also get those sliders. They are for the visually impaired.

All that is needed to be done is to put a message in. Of course, as is the case with One Time PAD, you are limited by the size of the PAD Key. So while you type the message, the title of this panel will change to indicate how close you are to the limit.

So far so good...

Hmmm... getting a bit long winded. Remember how in MINK, only 64 character long keys were created?

And with the inability to shut up, eventually the message is too long for the key.

It is up to you to select the size of the PAD Key Sequences, pertaining to the kind of messages you want to send. Short and sweet messages do not require large keys of course. Remember that the "Key size" you selected in MINK when the keys were created pertains the the total number of characters the messages are intended to be. If you find that you are running out of space, then you need to make larger keys.

Once you have a message that can be encrypted, right-click on this encryption panel. Another menu will appear, and you have the option to encrypt for 3 different output styles.

The output style, similar to the Core Blackbird output options for all of the Encryption systems, depends on where you want to put those messages. Nevermore will only decrypt messages in the "flat" output mode. However the others are included in case a message needs to be created for those other mediums (HTML for putting directly into a Web Page, and BBCode for entry into a web forum entry form). If your intended recipients are using Nevermore, use Flat output.

Once selected, the output is displayed. It's easy at this point to get the text. All you need to do is click on the text area with the cypher text and it is automatically put into the system clipboard. No highlight and copy is needed.

You can "test decyrpt" the cipher text by clicking on the main panel, and the text in the clipboard is automatically directed to the Encryption Group Panel and decrypted. Note: this is how all messages are decrypted in Nevermore. Just copy any incoming message, such as from an email, and click on an empty space in the main panel. If the Encryption Group file is loaded (and decrypted with the proper password if a Password-Using Group), the encrypted message will "find its way" to the right group and be decrypted and displayed in the Encryption Group panel.

BEFORE You do anything else, paste the cipher text message into whatever transport medium you intend for sending to the other members of the Encryption Group.

Being just text, you can also encrypt the subject line in an email, just to be irritating. All that the other members of the Encryption Group need to do is copy that text when they get the email, and then, after launching Nevermore and loading their Encryption Group PAD Sequence file (and decrypting the keys properly with the password or do I repeat myself?), they need only click on the main panel and the message will be decrypted.

3. Generating new PAD Key Sequences

Of course you will run out of Sequences. Now down to 8 for this group. It's time to generate new ones but this time, there is no need to use MINK. Simply right-click on the Encryption Group Panel and select "Generate Additional Sequences". A panel similar to the one seen in MINK for the same purpose will appear.

Filling this panel out is similar to the way it's done in MINK, however if this is a Password-Using Encryption Group, that part is already handled, and given that there is already a file of PAD Key Sequences for the group, there is no need to specify any output file. The file from which the Sequences were built is automatically updated when the Generate button is pressed. However there is one important step.

Once Generate is clicked, the panel changes itself to show some of a very important message that must be sent to other members of the encryption group.

At this point, the PAD Key Sequence file on which these steps were performed will be updated, but the files of the other Encryption Group members are not! The message, as seen in the panel, MUST be sent to them or else, without the update, you will be "talking to yourself". You will be encrypting messages with PAD Sequences that they do not have, and they will never be able to decrypt them.

You need only to click in the field to automatically copy the message to the system clipboard - but click on an empty space in the main panel to, as with other messages, "test decrypt" them. Just to be sure.

Notice that the test decrypt worked? This is what other members of the Encryption Group will see. They will not be able to decrypt this message without having already loaded their files into Nevermore, of course. But once they do, they will be able to decrypt it and update their sequence listing. The updates across all team members (making sure EVERYBODY got the message) will be complete.

Once more the importance of the password, if using one, should be pointed out. Your group has the option not to use one. And the message is still encrypted but with a modified stream encrypting application of PAD encryption and this is NOT standard to One Time PAD. Though measures are taken to use Cipher Block Chaining to avoid patterns in the output, and the sequence is still needed to decrypt the update as with any message, that extra layer of Twofish encryption with a very strong password should be taken into consideration.

4. Finishing up.

That is all there is to Nevermore. When you exit this program, your file is automatically updated with the status of each PAD Sequence. So, unlike before, there is no need to use MINK to update the usage information of the file. Nevermore does this automatically on exit, which is possible either by right-clicking the main panel or using the close button (the one with the X on it). Updates to the file are done at the point when such message is received but the status of each sequence waits for the program to exit, so it should be advised not to terminate this program outright (such as using Task Manager or the kill command). You might have noticed that there was only one instance of being asked for a password, in the case of a Password-using Encryption Group. Do not leave Nevermore running.

For proper use of Nevermore, adhere to these steps:

  • Never run out of PAD Sequences - pay attention to how many you have left and generate a few more if you have to.
  • When generating new PAD Key Sequences, be sure to send that encrypted update message to all members of the Encryption Group.
  • Never terminate the program in an abnormal way or the status of the used sequences will not be updated in the file.
  • Do not go too large on the number and or size of the PAD Sequences. There is no software limit in place but your hardware has limitations.
  • Make sure your Encryption Group is a Password Using group, and use the strongest password possible.
  • Though One Time PAD cannot be cracked, failing to adhere to the rules will break your encryption. Never reuse PAD Sequences (though Nevermore is set to avoid that, failing to let it update your sequence status will cause this situation). Never let your Sequence files fall into the wrong hands. and it should also be duly noted, that while One Time PAD is secure, your computer must also be. Like anything else, keystroke loggers, eavedropping measures, etc, will work on the weaknesses of your hardware. Make sure your computer is secure.
  • If the member of an Encryption Group does not receive a message for some time, a previously used PAD Key Sequence might end up being used that could be compromised. To compromise a PAD Key, the cipher text and the plain text must be known. With that the key can easily be calculated and the next message that uses the same key can be decrypted! There it is imperative that decrypted messages not be kept in an unsecure manner, or posted, or even referenced in an open channel or that could compromise the key. In the event that a key is accidentally or carelessly re-used without the plaintext being known, even if the cipher text was on an open channel, the key will still be unknown. DO NOT TAKE CHANCES - never reuse a key and make sure all members of an Encryption Group remain in "the loop" so that the statuses of their PAD Key Sequences remain updated.

And that is Nevermore. Welcome to the world of One Time PAD.





Contact| Webmaster| Hosting
Copyright © 2009