Looking for the latest version? Download Cyberbit (2.7 MB)
Home
Name Modified Size Downloads / Week Status
cyberbit_1_1.zip 2013-04-19 2.7 MB 0
cyberbit_1_1.tar 2013-04-19 3.4 MB 0
README.txt 2013-03-18 9.2 kB 0
cyberbit_1_0.tar.gz 2013-03-10 2.6 MB 0
cyberbit_1_0.zip 2013-03-10 2.6 MB 0
Totals: 5 Items   11.4 MB
INTRODUCTION Cyberbit lets you transmit a secret message to an intended person in an interesting manner. The secret message is an 1-bit deep black & white image. The message can contain written text, a drawing, a secret code etc. Using Visual Cryptography the application splits the secret message into two "shadow images" called <<shares>>. Any of the two shares will be embedded into a "normal" image file called by tradition <<vessel>>. You can use a method of hand to send the two vessels to your correspondent. For instance you can post one vessel image on facebook. The other vessel image can be sent as an attachment of an e-mail. The vessel images can be 8-bit gray-level images or 24-bit deep true-color images. Anyone who can correctly spot the two vessels and knows the dimensions of the image containing the secret message will be able to decrypt the secret message using the Cyberbit application. The application uses Visual Cryptography and a Steganography method called Bit-Plane Complexity Segmentation. Written in as a command line application in Python, Cyberbit allows you to experiment with Visual Cryptography and BCPS. For more information considering the algorithms used see my article in Dr. Dobb's Journal: http://drdobbs.com/security/201804177 LICENSE Copyright (C) 2011 Daniel Stoleru This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, go to http://www.gnu.org/licenses/gpl-2.0.html or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. PREREQUISITES Cyberbit is a Python application, so you'll have to have a Python interpreter installed on your machine. If not, just go to www.python.org and download and install the last Python 2.x version available. NOTE. The application wasn't tested with any Python 3.x interpreter Also, you'll need to install the Numerical Python package - NumPy. Go to http://numpy.scipy.org/ download the NumPy package corresponding to your Python version and operating system. Follow the installation instructions and install the package on your system. Another package you'll need is Python Imaging Library - PIL. PIL is available at: http://www.pythonware.com/products/pil/ Grab the package corresponding to your Python version and operating system, follow the installation instructions and install the package. INSTALLATION Cyberbit doesn't need any special installation procedure. Just download the corresponding archive from https://sourceforge.net/projects/cyberbit/ and unpack it into a directory of your choice. After unpacking the archive you should have the following directory structure into the chosen directory: |. | .. | -> docs | -> img | -> input | -> logs | -> src | -> tmp In the <<src>> directory you'll find the folling Python source code files: bitmap.py compress.py embedwm.py extractwm.py greylevel.py utils.py These files contain the whole development of the Cyberbit application. In the <<input>> subdirectory I included some example files that can be used to test Cyberbit. The logging and tracing information can be found in the <<logs>> subdirectory. Cyberbit will log the embedding/extracting information depending on the operation chosen. Since you'll like to experiment with BCPS, it might be interesting to find out how much information will be written in which regions of the image and in which bit-planes. In the decryption process is important to know if the information is properly extracted and if the secret message can be properly remade. The <<img>> and <<tmp>> subdirectories can contain some temporary files. <<docs>> will contain some documentation. PROGRAM USE You can use Cyberbit for: 1. Encryption --> split the secret message using a 2-out-of-2 Visual Cryptography Scheme and embedd any of the two resulted shares into the dedicated vessel image For doing so open a shell depending on your operating system and call: $ python embedwm.py [options] where Options: -h, --help show this help message and exit -x IMAGE1, --vessel1=IMAGE1 the first vessel you want to embed information in as image file in the format filename.ext -y IMAGE2, --vessel2=IMAGE2 the second vessel you want to embed information in as image file in the format filename.ext -w MARK, --watermark=MARK the message you want to embed. Usually a 1-bit deep bitmap image -l LOGFILE, --log=LOGFILE path to logfile -o OUTNAME, --output=OUTNAME keyword in the outputfiles name -c CMPL, --complexity=CMPL lowest complexity limit -b, --bitplanes show only the bitplanes of the image and exit -t, --istruecolour is a 24-bit true colour image NOTE. 1. You'll have to have the Python interpreter into the PATH environment variable. 2. Use the -t flag if you work with 24-bit true-color images EXAMPLE $ python embedwm.py -x ../input/smandril_gray.pgm -y ../input/slena.pgm -w ../input/vcrypt_message.bmp The application prints some information into the shell. Calling it as in the eaxmple above, you'll become: NOTE: no logfile specified. Set by default to: ../logs/encrypt_130303_162840.log Start processing image ../input/smandril_gray.pgm Format: PPM Size: (256, 256) Mode: L Message size: (176, 176) Start processing image ../input/slena.pgm Format: PPM Size: (256, 256) Mode: L Message size: (176, 176) Very important is the <<Message size>>. You have to send this information to your correspondent in order to enable her to extract the secret information. If the programm runs successfully you'll see on the screen the two vessel images containing the embedded information. Also the files containing the marked images are saved in the <<img>> directory. 2. Decryption --> extract the two shares of the secret information from the vessel images. In a 2-out-of-2 Visual Cryptography Scheme you have to print the two shares onto separate transparencies. Supperimposing the obtained transparencies you'll be able to visually decrypt the secret message. Cyberbit simulates this operation and shows the decrypted message in a separate window. The decryption can be done in the shell calling: $ python extractwm.py [options] where Options: -h, --help show this help message and exit -x VESSEL1, --vessel1=VESSEL1 the first vessel image image specified as filename.ext -y VESSEL2, --vessel2=VESSEL2 the second vessel image image specified as filename.ext -i MAXX, --length=MAXX the length of the embedded image -j MAXY, --width=MAXY the width of the embedded image -l LOGFILE, --log=LOGFILE path to logfile -r TRACEFILE, --trace=TRACEFILE path to tracefile -c CMPL, --complexity=CMPL lowest complexity limit -t, --istruecolour is a 24-bit true colour image EXAMPLE $ python extractwm.py -x ../input/marked_slena_gray.pgm -y ../input/marked_smandril_gray.pgm -i 176 -j 176 NOTE 1. As for embedding, Cyberbit will write some information at command line. For the example call above you'll become: NOTE: no logfile specified. Set by default to: ../logs/decrypt_130303_170619.log NOTE: no trace file specified. Set by default to: ../logs/trace_130303_170619.log Start processing vessel ../input/marked_slena_gray.pgm Format: PPM Size: (256, 256) Mode: L Embedded information successfull extracted! Start processing vessel ../input/marked_smandril_gray.pgm Format: PPM Size: (256, 256) Mode: L Embedded information successfull extracted! 2. Remember the size of the secret message image. This information is known to the person encrypting the information and will be transmited to the correspondent. The size of the secret message image (specified in the parameters -i and -j) is important for the decryption algorithm. Having the size the algorithm can exactly determine if the correct number of squares was extracted (and therefore the algorithm can stop). On the other hand, this information discloses nothing considering the content of the secret message. If the application finishes successfully you'll see on the screen the two marked images, the extracted shares and the reconstructed message. SUPPORTED PLATFORMS Windows - XP/Vista/7 CygWin Linux Sun Solaris
Source: README.txt, updated 2013-03-18

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

No, Thank you