Source
Home About Source License Forum Download FAQ Tutorials
Version: 0.9Blackbird Project Source Code.

Source code for Blackbird can be found here. For distributions go to Downloads. Surely as there are additions and improvements to this project the source code will change. So please check back often to see if the latest greatest version is available. There is no "daily build".


Notes about the software:

Blackbird is a Java Applet. It must be used in a browser to function, when served up by a web page. The main applet body is quite small, as the "rules" for the program itself deem that as much of the encryption for each type or algorithm to be self contained in a class that represents the algorithm (or API to a 3rd party system). What the applet does mainly is process the needs and actions of each class or module. The only direct link to each class is on creation and inclusion of the class into a main (and private) vector.
The applet also displays, controls, and responds to a menu that appears when the applet experiences a right-button mouse-click event. The additional controls that appear as a result of these actions come from the seperate classes, and such control panels are "owned" by those classes. That is, once created, the applet "let's go" of it, and it is persistent until the user closes it. The tutorials section covers how to use each control.



For the IDE-Generated documentation of Blackbird, Click on this Link
Or go here for MINK source code
Crow source code can be found here

Blackbird, Crow, and MINK are licensed under GPL and offered "as is". Clicking on the link below to download is implied as agreement with terms and conditions of GPL, the additional terms of 3rd party modules, and accepting the software "as is".

Blackbird(Netbeans Project file)------------zip
tar
MINK (Netbeans Project file)------------zip
tar
Crow (Netbeans Project file)------------zip
tar
Nevermore (Netbeans Project file)------------zip
tar
DropPanel (used by Nevermore) (Netbeans Project file)------------zip
tar

The classes and their roles:

  • Blackbird.java
    The heart of the matter, the main Java Applet body. Also, in the Netbeans IDE, the file to "run" when testing.
  • BlackbirdAboutPanel.java
    The applet has it's own simple panel that simply displays a banner image.
  • CM.java
    This class contains the API calls necessary to implement use of the CodeMeter runtime system. Only licensors and end users of CodeMeter can use this class, as the API calls will not otherwise respond without the runtime installed and a CodeMeter device present wherein the actual encryption and decryption operations are performed.
  • EncryptionEntity.java
    This is an interface implemented by all encryption classes in Blackbird, and all future classes must use this interface for Blackbird only calls these functions through a casts Object. Blackbird only knows each class by the interface, and everything else is in the particular class. What goes on inside of the class is another matter over which the main applet has little control.
  • PAD.java
    This encryption class was written for Blackbird. As such, One time PAD encryption has certain cumbersome requirements and this was put together in hope that this un-crackable encryption system can see more common use.
  • PADKey.java
    This decribes an object for fields that pertain to the data management and data structure needs of One Time PAD.
  • ROT13.java
    Yes, the one and only, classic ROT13 encryption. If you came into this web page looking for an example, perhaps for an introduction to array operations for a "Programming 101" class, then congratulations, you found it.
  • Twofish.java
    This is another class that was found freely available on the web and adapted for use in Blackbird. However, while much of the algorithm is left intact, the original version had to be modified. The algorithm, as required by the license, is left intact and the source code notes the requirements. But for Blackbird, it neede to have a Block-chaining encryption with some additional functions added for this process, and naturally the EncryptionEntity interface had to be implemented. Please note the license in the source code for the proper credits of this class.
  • WK.Java
    This class is the WibuKey, and Securikey, implementation of the API needed to access the runtime of said encryption devices. Like CodeMeter, all of the actuall, and proprietary encryption/decryption calls occur inside of the device, and this class has only the code needed to make use of this hardware. None of this will be useful of not a licensed user of WibuKey or Securikey.





Contact| Webmaster| Hosting
Copyright © 2008