About Digital Secrecy
 
Cryptographic methods
There is an obvious need to communicate or to keep certain information unknown to the public or to anyone except those, who are intended to know that information. Cryptography is the process of achieving this result.
This is not the right place to discuss the various aspects of cryptography, however some basics need to be treated in order to introduce CryptoBola JPEG.
In the following discussion, concepts/abbreviations/acronyms appearing in this color are explained at the end of this chapter.
Cryptographic processes are changing the form of the original information (the plain text) so that it becomes unintelligable for anybody except for those, who are intended to understand it. This process is called encoding. The result of the encoding is the cipher text. The process of restoring the original form of the information is the decoding or deciphering.
So-called secure methods of encoding and decoding digital information use some information in addition to the original data; this is the cryptographic key, or simply the key. The knowledge of the key is crucial for the decoding process. Everyone who knows this key (and the applicable method) is able to restore the original data.
One of the basic problems of digital cryptographic methods is the communication of the key. If the primary goal of encoding is to communicate the information with someone to the exclusion of all others, then communicating the key itself becomes crucial. This is especially important in cases of those, who can communicate only "openly", for example via Internet. In such cases an asymmetric encoding method will be adopted, using a private/public key pair; the encoding process uses a different key than the decoding. This method does not require the communication of the complete key itself, but it has following disadvantages:
If the cryptographic strength of the encoding (i.e. the secrecy) is more important than the ease of communication, or the goal of encoding is not (or not only) communicating but storing secret data, then symmetric encoding is better than the private/public key scheme: the same key will be used in the encoding and in the decoding process. The cryptographic strength of this method can be as high as required. The disadvantage of this method is in communication, namely that the key itself too has to be communicated somehow.
CryptoBola JPEG adopted a symmetric encryption method. The key will be created from a passphrase, which has to be known by everybody, who wants to decode the data.
 
Steganography
Cryptographic methods described above ensure that the data remains secret. However, analysis of the
cipher text easily reveals that the unintelligable data is in reality the encrypted form of some
presumably intelligeble data, which has been "made secret".
Already this fact alone can pose a problem: sometimes one does not want others to know,
that one has anything to hide.
Another aspect is, that when the fact of encryption is detectable, those, who want to know the
secret information can concentrate their efforts to get unauthorized access to the data by trying
to decipher it somehow.
Steganography is a special kind of cryptography: it makes the presence of secret data undetectable. Imagine this: if the cypher text will be mixed with other, intelligable data (for example with the digital data of an image) undetectably, then those, who are after your secret have to try to recover the data from every image you store or communicate. Millions upon millions of digital images are communicated in Internet every day, in most cases available to anybody; any of them could contain secret data hidden among the original image data.
CryptoBola JPEG is doing just this: it encrypts the original information (plain text) into a digital image (this is the basis image), which is in JPEG form. The speciality of the JPEG form is, that it is not an exact reproduction of the original image data, rather it is a compressed approximation of it (this is the reason, that the JPEG encoding is called a "lossy method"). The compression is achieved by several steps of data reduction and encoding, which together constitute the JPEG-encoding. The degree of data reduction carried out during the encoding is usually called (somewhat laymannish) "compression quality".
Small changes in the JPEG-encoded image data do not cause recognizable effect on the resulting image quality. This, of course depends on several factors:
In case of an image created by a digital camera the size and quality of the image depends on the image sensor, the JPEG quality setting of the camera, the lens, the focusing/image sharpness, etc. Post-processing, like enhancing contrast, changing brightness, etc. results generally in very good bases for embedding.
About the enemies of steganography
Some paranoid governments do not like their citizens having any secrets. Some are trying to outlaw cryptography (except such which can be deciphered by government agencies). However, just the nature of steganography makes enforcing such laws difficult, to say the least.
The newest attack against steganography is, that it will be equated to computer viruses.
Any data embedded in multimedia files is passive; it can not do anything "on its own". CryptoBola JPEG does not do anything with the extracted data, except displaying and/or writing it in a file. Comparing data embedded in images with computer viruses is a ridiculous attempt of government agencies to discourage people from deploying steganographic products.
 
The unique features of CryptoBola JPEG
CryptoBola JPEG determines, which parts (bits) of the JPEG-encoded data play the least significant role in the reproduction of the image, and replaces those bits with the bits of the cipher text (it embeds the cipher text in the image).
The plain text can be any data file (text, program, picture, whatever) or it can be entered in edit-mode directly before the actual embedding takes place.
The degree of maximum distortion to be caused by these changes will be displayed before embedding, and the actual distortion after embedding.
When retrieving (extracting) the data, it can be stored in a file or viewed directly in the extraction dialog.
CryptoBola JPEG stores only the cypher text without any additional information like file name, type, length, etc. The person, who is extracting the embedded data has to know or to determine the type of extracted data. The reason not to store any such information is, that its presence could shorten the effort of brute attacks by giving some clue about the success of the deciphering attempt.
The embedding and special encryption carried out by CryptoBola JPEG does not provide any clues for brute attacks. Not only that the embedded data can not be extracted without the proper key, but the presence of any embedded data can not be confirmed or negated by starting the extraction process with any key.
The extraction process delivers some result with almost any key from almost any JPEG image data, no matter if there is any embedded data in the actual case.
Consequently, a brute attack would have to try to extract data with each possible key from each image and the resulted data would have to be analyzed before determining, that the attempt was futile.
This is an unrivalled feature of CryptoBola JPEG. This method, combined with the high number of possible keys gives CryptoBola JPEG an extra strength against brute breaking attempts.
The process of deciphering consists of several, quite complicated phases, all of which have to be completed before the result can be analyzed. There is no "look ahead" (early recognition of wrong key), saving of deciphering by finding clues is not possible. The required computational power for a successful brute attack makes this method immune against such attacks.
If someone wants to have an even higher degree of cryptographic strength, one can pre-encrypt the data. If several files have to be embedded in a single image (like an archive), the archive-creating process may be used to encrypt (and usually to compress as well) the involved files.
Another unrivalled feature of CryptoBola JPEG is, that it offers applications integrated in the embedding/extraction dialog, for example password management, email/address book, financial records, diary, plain text, formatted text, etc.
These applications provide for subdialogs for entering and processing the data directly in the original dialog, without the need to create intermediate files. This means not only a convenient workflow, but a higher level of secrecy as well: the secret data does not appear in files anywhere; otherwise one would have to clean-up those files; simply deleting a file does not destroy the content on a harddisk or on other media.
See the detailed description of the integrated applications.
The best images for embedding
The best is an own, private color scan of any picture or text. The resulting image data (scan data) is not reproducable, for the same picture/text scanned again after having removed it from and replaced into the scanner yields different scanning data. Color pictures from newspapers, magazines etc. are the very best.
Another source of suitable image is digital photography with some post-processing. Panoramic images (stitched together from several images) can be very large and can have embedding capacity of several megabytes.
Restrictions regarding the JPEG basis
 
Explanations of some concepts and acronyms from the previous discussion
Home Modified: 2004-03-28