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:

This method will be used typically in electronic commerce, where the partners (the customer and the seller/provider) usually don't have any other communication with each other, except the process of purchasing.

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:

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

asymmetric encoding
a cryptographic process using different keys in the encoding and decoding process
brute attack
attempting to decipher encrypted data via trying out every possibley key
cipher text
the cryptographically treated (encrypted/ciphered) data; the result of the cryptographic process applied on the plain text
cryptography
technology providing for transforming some data, the plain text into another form, the cipher text, which is intelligable only to those, who possess some special knowledge or authorization to this purpuse
decryption,
deciphering
the process transforming the cipher text back into the original form, the plain text
encryption,
ciphering
the process transforming the original data, the plain text into an unintelligable form, the cipher text
Exif
(Exchangable Image File Format) is a standard of storing JPEG-encoded images in files with special features for images created by digital cameras.
JFIF
(JPEG File Interchange Format) is a standard of storing JPEG-encoded images in files
JPEG
(Joint Photographic Experts Group) is one standard of compressing/encoding still images
JPEG basis
The JPEG-encoded image, which carries (or will carry) embedded data
key,
cryptographic key
the information in addition to the plain text, which is required for the cryptographic process
passphrase
a sequence of characters, which is the basis for generating the key
plain text
The primary source for any cryptographic process; the original, not encrypted data. It should not be confused with the text data type.
steganography
cryptographic technology providing not only for making the plain text unintelligable, but invisible/undetectable as well
symmetric encoding
a cryptographic process using the same key in encoding and in decoding

Home Modified: 2004-03-28