TVs. Consoles. Projectors and accessories. Technologies. Digital TV

Binary secret writing (based on open press materials). Questions worth Googling. Increasing the reliability of data concealment and stopping it

Steganography

Classification of steganography

At the end of the 90s, several areas of steganography emerged:

  • Classic steganography
  • Computer steganography
  • Digital steganography

Classic steganography

cute ink

One of the most common methods classical steganography is the use of sympathetic (invisible) ink. Text written with such ink appears only under certain conditions (heating, lighting, chemical developer, etc.) Invented back in the 1st century AD. e. Philo of Alexandria, they continued to be used both in the Middle Ages and in modern times, for example, in letters from prisons of Russian revolutionaries. In the Soviet school curriculum, a literature course taught the story of how Vladimir Lenin wrote with milk on paper between the lines, see Stories about Lenin. The milk developed when heated over a flame.

There are also inks with chemically unstable pigments. What is written with this ink looks like something written with a regular pen, but after a certain time the unstable pigment decomposes, and not a trace remains of the text. Although text can be reconstructed from deformation of the paper when using a regular ballpoint pen, this disadvantage can be eliminated by using a soft writing unit, like a felt-tip pen.

Other steganographic methods

  • writing on the side of a deck of cards arranged in the agreed order;
  • recording inside a boiled egg;
  • “slang ciphers”, where words have a different determined meaning;
  • stencils, which, when placed on the text, leave only significant letters visible;
  • knots on threads, etc.

Currently under steganography most often understand hiding information in text, graphic or audio files by using special software.

Steganographic models

Steganographic models- used for general description steganographic systems.

Basic Concepts

In 1983, Simmons proposed the so-called. "the problem of prisoners." Its essence is that there is a person at large (Alice), a prisoner (Bob) and a guard Willie. Alice wants to transmit messages to Bob without the security guard's intervention. This model makes some assumptions: it is assumed that before the conclusion, Alice and Bob agree on a code symbol that will separate one part of the text of the letter from the other part in which the message is hidden. Willie has the right to read and change messages. In 1996, at the Information Hiding: First Information Workshop conference, a unified terminology was adopted:

  • Steganographic system (stegosystem) is a combination of methods and tools used to create a covert channel for transmitting information. When constructing such a system, it was agreed that: 1) the enemy represents the work of the steganographic system. Unknown to the enemy is the key with which you can find out about the existence and content of the secret message. 2) If an adversary discovers the presence of a hidden message, he should not be able to extract the message until he has the key. 3) The enemy does not have technical or other advantages.
  • Message is a term used for the general name of the hidden information being transmitted, be it a sheet of milk, a slave's head, or a digital file.
  • Container - this is the name of any information used to hide a secret message. An empty container is a container that does not contain a secret message. A filled container (stegocontainer) is a container containing a secret message.
  • Steganographic channel (stegochannel) is the transmission channel of the stegocontainer.
  • Key (stegokey) - a secret key needed to hide the stegocontainer. There are two types of keys in stegosystems: secret and public. If the stegosystem uses a secret key, then it must be created either before the exchange of messages, or transmitted over a secure channel. A stegosystem that uses a public key must be designed in such a way that it is impossible to obtain a private key from it. In this case, we can transmit the public key over an unsecured channel.

Computer steganography

Computer steganography- a direction of classical steganography, based on the features of the computer platform. Examples - steganographic file system StegFS for Linux, hiding data in unused areas of file formats, character substitution in file names, text steganography, etc. Here are some examples:

  • Using reserved fields of computer file formats - the essence of the method is that the part of the extensions field that is not filled with extension information is filled with zeros by default. Accordingly, we can use this “zero” part to record our data. The disadvantage of this method is the low degree of secrecy and the small amount of transmitted information.
  • Method of hiding information in unused places on floppy disks - when using this method, information is written to unused parts of the disk, for example, on track zero. Disadvantages: low performance, transmission of small messages.
  • Method of use special properties format fields that are not displayed on the screen - this method is based on special “invisible” fields to obtain footnotes and indexes. For example, writing in black font on a black background. Disadvantages: low performance, small amount of transmitted information.
  • Using the features of file systems - when stored on a hard drive, a file always (not counting some file systems, for example, ReiserFS) occupies an integer number of clusters (minimum addressable volumes of information). For example, in the previously widely used file system FAT32 (used in Windows98 //) standard cluster size - 4 KB. Accordingly, to store 1 KB of information on the disk, 4 KB of information are allocated, of which 1 KB is needed to store the saved file, and the remaining 3 are not used for anything - accordingly, they can be used to store information. Disadvantage of this method: ease of detection.

Digital steganography

An image of a tree with another image hidden in it using digital steganography. The image is hidden by removing all but the least significant two bits from each color component and then normalizing it.

Cat image extracted from tree image above

Digital steganography- a direction of classical steganography based on hiding or embedding additional information into digital objects, causing some distortion of these objects. But, as a rule, these objects are multimedia objects (images, video, audio, textures of 3D objects) and introducing distortions that are below the sensitivity threshold of the average person does not lead to noticeable changes in these objects. In addition, digitized objects, which are originally analog in nature, always contain quantization noise; further, when reproducing these objects, additional analog noise and nonlinear distortions of the equipment appear, all this contributes to greater invisibility of hidden information.

Algorithms

All algorithms for embedding hidden information can be divided into several subgroups:

  • Working with the digital signal itself. For example, the LSB method.
  • “Soldering in” hidden information. In this case, the hidden image (sound, sometimes text) is superimposed on top of the original. Often used for embedding digital watermarks.
  • Using the features of file formats. This may include recording information in metadata or various other unused reserved fields in the file.

Based on the method of embedding information, stegoalgorithms can be divided into linear (additive), nonlinear and others. Algorithms for additive information embedding involve linear modification of the original image, and its extraction in the decoder is carried out using correlation methods. In this case, the digital painting is usually combined with the container image, or “fused” into it. Nonlinear information embedding methods use scalar or vector quantization. Among other methods, methods that use the ideas of fractal image coding are of particular interest. Additive algorithms include:

  • A17 (Cox)
  • A18 (Barni)
  • L18D (Lange)
  • A21 (J. Kim).
  • A25 (S. Podilchuk).

LSB method

LSB(Least Significant Bit, least significant bit) - the essence of this method is to replace the last significant bits in the container (image, audio or video recording) with bits of the hidden message. The difference between empty and filled containers should not be perceptible to human perception.

The essence of the method is as follows: Let's say there is an 8-bit grayscale image. 00h (00000000b) means black, FFh (11111111b) means white. There are 256 gradations in total (). Also assume that the message is 1 byte - for example, 01101011b. When using 2 least significant bits in pixel descriptions, we need 4 pixels. Let's say they are black. Then the pixels containing the hidden message will look like this: 000000 01 00000010 00000010 00000011 . Then the color of the pixels will change: the first - by 1/255, the second and third - by 2/255, and the fourth - by 3/255. Such gradations, not only invisible to humans, may not be displayed at all when using low-quality output devices.

LSB methods are unstable to all types of attacks and can only be used if there is no noise in the data transmission channel.

Detection of LSB-coded stego is carried out by anomalous characteristics of the distribution of values ​​of the range of low-order bits of digital signal samples.

All LSB methods are generally additive (A17, L18D).

Other methods for hiding information in graphics files focus on lossy file formats, such as JPEG. Unlike LSB, they are more resistant to geometric transformations. This is achieved by varying wide range image quality, which makes it impossible to determine the source of the image.

Echo methods

Echo methods are used in digital audio steganography and use irregular spaces between echoes to encode a sequence of values. When imposing a number of restrictions, the condition of invisibility for human perception is observed. The echo is characterized by three parameters: initial amplitude, degree of attenuation, delay. When a certain threshold is reached between the signal and the echo, they mix. At this point, the human ear can no longer distinguish between these two signals. The presence of this point is difficult to determine and depends on the quality of the original recording and the listener. The most commonly used delay is around 1/1000, which is quite acceptable for most recordings and listeners. Two different delays are used to indicate logic zero and one. They should both be less than the listener's ear sensitivity threshold to the received echo.

Echo methods are resistant to amplitude and frequency attacks, but not resistant to time attacks.

Phase encoding

Phase encoding(phase coding, phase coding) - also used in digital audio steganography. The original sound element is replaced by a relative phase, which is the secret message. The phase of consecutive elements must be added in such a way as to preserve the relative phase between the original elements. Phase coding is one of the most effective methods of hiding information.

Spread spectrum method

Message Embedding Method consists in the fact that a special random sequence is embedded in a container, then, using a matched filter, this sequence is detected. This method allows you to embed a large number of messages in a container without them interfering with each other. The method is borrowed from broadband.

Attacks on stegosystems

An attack on a stegosystem is an attempt to detect, extract, and change a hidden steganographic message. Such attacks are called steganalysis, similar to cryptanalysis for cryptography. The ability of a steganographic system to resist attacks is called steganographic strength. The simplest attack is subjective. The image is carefully examined and the sound recording is listened to in an attempt to find signs of the existence of a hidden message in it. Such an attack is successful only for completely unprotected stegosystems. This is usually the first step in opening the stegosystem. The following types of attacks are distinguished.

  • Attack on a known full container;
  • Known embedded message attack;
  • Attack based on selected hidden message;
  • Adaptive attack based on selected hidden message;
  • Attack based on the selected filled container;
  • Known empty container attack;
  • Attack based on a selected empty container;
  • An attack based on a well-known mathematical model of a container.

Let's look at some of them:

Attack on a known full container- the attacker has one or more stegos. In the case of several stegos, it is considered that the recording of hidden information was carried out by the sender in the same way. The attacker's task is to detect the presence of a stego channel, as well as access to it or determine the key. With the key, other stego messages can be revealed.

Attack based on a well-known mathematical model of a container- the attacker determines the difference between the suspicious message and the model known to him. For example, let the bits within an image sample be correlated. Then the lack of correlation can serve as a signal of the presence of a hidden message. In this case, the task of the message implementer is not to violate the statistical patterns in the container.

Known empty container attack- if an attacker knows an empty container, then by comparing it with the intended stego, the presence of a stego channel can be established. Despite the apparent simplicity of the method, there is a theoretical justification for the effectiveness of this method. Of particular interest is the case when the container is known to us with some error (this is possible when noise is added to it).

Steganography and digital watermarking

To increase resistance to distortion, noise-resistant coding is often used or wideband signals are used. The initial processing of the hidden message is done by the precoder. An important preliminary processing of the digital waveform is the calculation of its generalized Fourier transform. This increases noise immunity. Primary processing is often performed using a key to increase secrecy. Then the watermark is “packed” into the container (for example, by changing the least significant bits). Here, the features of human image perception are used. It is widely known that images have enormous psychovisual redundancy. The human eyes are like a low-pass filter that allows small elements of the image to pass through. Distortions are least noticeable in the high-frequency region of images. The implementation of CVS should also take into account the properties of human perception.

In many stegosystems, a key is used to write and read digital digital images. It may be intended for a limited number of users or be secret. For example, a key is needed in DVD players so that they can read digital exhibitions contained on discs. As is known, there are no stegosystems in which different information would be required when reading a watermark than when writing it. The stegodetector detects digital watermarks in a file protected by it, which could possibly have been changed. These changes may be due to the effects of errors in the communication channel, or intentional interference. In most stegosystem models, the container signal can be considered as additive noise. In this case, the task of detecting and reading a stego message is no longer difficult, but does not take into account two factors: the non-randomness of the container signal and requests to preserve its quality. Taking these parameters into account will allow us to build better stegosystems. To detect the existence of a watermark and read it, special devices are used - stegodetectors. To make a decision about the presence or absence of a watermark, they use, for example, the Hamming distance, the intercorrelation between the received signal and its original. In the absence of an initial signal, more sophisticated statistical methods come into play, which are based on building models of the class of signals being studied.

Application of steganography

In modern printers

Steganography is used in some modern printers. When printed, small dots are added to each page containing information about the time and date of printing, as well as the printer serial number.

Application of digital steganography

From the framework of digital steganography came the most popular legal direction - embedding digital watermarks (watermarking), which is the basis for copyright protection systems and DRM (Digital rights management) systems. Methods in this direction are configured to embed hidden markers that are resistant to various container transformations (attacks).

Semi-fragile and fragile digital digital signatures are used as an analog digital signature, providing storage of information about the transmitted signature and attempts to violate the integrity of the container (data transmission channel).

For example, Digimarc's developments in the form of plugins for the Adobe Photoshop editor allow you to embed information about the author into the image itself. However, such a mark is unstable, as are the absolute majority of them. The Stirmark program, developed by scientist Fabien Petitcolas, successfully attacks similar systems, destroying stags.

Alleged use by terrorists

An example showing how terrorists can use avatars to convey hidden messages. This image contains the message "The boss said we should blow up the bridge at midnight.", encrypted using http://mozaiq.org/encrypt using the character combination "växjö" as the password.

Rumors about the use of steganography by terrorists have surfaced since the publication of two articles in USA Today on February 5, 2001 - "Terrorists are hiding instructions online" and "Terrorist groups are hiding behind web encryption." On July 10, 2002, the same newspaper published the article “Militants Cover the Web with Jihad Links.” This article reported that terrorists were using photographs on eBay to convey hidden messages. Many media outlets reprinted these reports, especially after the September 11 terrorist attacks, although this information was not confirmed. The USA Today articles were written by foreign correspondent Jack Kelly, who was fired in 2004 after it was discovered that the information was fabricated. On October 30, 2001, The New York Times published the article “Disguised Terrorist Messages May Be Hiding in Cyberspace.” The article suggested that al-Qaeda used steganography to hide messages in images and then transmitted them via email and Usenet in preparation for the September 11 attacks. In the terrorist training manual “Technological Mujahid, training manual for Jihad" there is a chapter on the use of steganography.

Alleged use by intelligence agencies

  • The notorious Greek millionaire Aristotle Onassis several times used a pen with sympathetic ink when signing contracts.
  • In the film "Genius" the main character - the character of Alexander Abdulov - deceives the police by writing a confession in sympathetic ink.

Links

Software implementations

  • OpenPuff: Double Steganography, Bmp, Jpeg, Png, Tga, Pcx, Aiff, Mp3, Next, Wav, 3gp, Mp4, Mpeg I, MPEG II, Vob, Flv, Pdf, Swf

Articles

  • Review of programs for searching materials hidden by steganography

Other

  • Steganography (Russian) by Johannes Trithemius

What else is steganography?

Over the past few years, intelligence activity has increased significantly. Their rights regarding methods of obtaining information have also increased; now they have the right to read your personal correspondence.
It’s good if you only communicate with aunts or buddies from the chat. What will happen when, while analyzing your correspondence, they come across the password for
some foreign server or will they read how you brag to a friend about your latest defacement? These letters can become evidence of a crime and serve
an excellent reason to initiate a criminal case... Well, how
perspective? Not very... Therefore it should
carefully hide the contents of such correspondence. This is exactly what steganography does, and if it is used with elements of cryptography, only the addressee who knows the scheme for extracting protected information can read the letter.
text.

The name steganography comes from two Greek words
- steganos (secret) and graphy (record), so it can be called secret writing. The main task of steganography: hiding the very fact of the existence of a secret message. This science arose in Egypt. It was used to transmit a variety of government information. For these purposes, they shaved the slave's head and gave the poor guy a tattoo. When hair
grew back, the messenger was sent on his way :)

But nowadays no one uses this method anymore (or
still use it?), modern steganographers use invisible ink, which can be
visible only after a certain chemical treatment, microfilms, conventional arrangement of characters in a letter, secret communication channels and much more.

Computer technologies for hiding information also do not stand still and are actively developing. Text or even a file can be hidden in a harmless letter, image, melody, or in general in all transmitted data. To understand this process, let’s figure out how to hide information
information so that they don’t even see it
availability.

Text document.txt

Using steganography to transmit information through text data is quite difficult.
This can be implemented in two ways (although the idea is the same for both cases):

1. Use letter case.
2. Use spaces.

For the first option, the process is as follows: let us need to hide the letter “A” in the text “stenography”. To do this, we take the binary representation of the character code “A” - “01000001”. Let a lowercase symbol be used to denote a bit containing a one, and an uppercase symbol for a zero. Therefore, after applying the mask “01000001” to the text “stenography”, the result will be “sTenogrAphy”. We did not use the ending “phy” because 8 bytes are used to hide one character (a bit for each character), and the length of the line is 11 characters, so it turned out that the last 3 characters are “extra”. Using this technology, you can hide a message of N/8 characters in text of length N. Since this solution cannot be called the most successful, the technology of data transmission through gaps is often used. The fact is that the space is indicated by a character with code 32, but in the text it can also be replaced with a character with code 255 or TAB at worst. Just like in the previous example, we transmit the bits of the encrypted message using plain text. But this time 1 is a space and 0 is a space with code 255.

As you can see, hiding information in text documents not reliable as it can be easily noticed. Therefore, other, more advanced technologies are used...

GIF, JPG and PNG

You can hide text in an image more securely. Everything happens on the principle of replacing the color in the image with one close to it. The program replaces some pixels, the position of which it calculates itself. This approach is very good because determining the technology for hiding text is more difficult than in the previous example. This approach works not only with text information, but also with images. This means that you can without special problems nastya.gif can be placed in the image
pentagon_shema.gif, of course, if their size allows it.

The simplest example of using images in steganography is the third task from ““. It can be solved quite simply and
You can get the hidden message without much effort. First you need to copy it to the clipboard, then set the fill color for the right key to the background color of the image
(blue). The next step is to clean up the drawing and fill it with black. To complete this operation simply
paste an image from the clipboard, only the blind will not see the inscription “WELL DONE!”

Technology of using images as
container provides much broader capabilities than text documents.
As I said, when using
graphic formats, it becomes possible to hide not only text messages,
but also other images and files. The only condition is that the volume of the hidden picture should not exceed the size of the storage image. For these purposes, each program uses its own technology, but they all boil down to replacing certain pixels in the image.

A good example of using steganography would be an Internet browser.
Camera/Shy, from
famous hacker team Cult of Dead
Cow. In appearance, it resembles a regular Internet browser, but when you enter a web resource, all GIF images are automatically scanned for hidden messages.

MP3 and everything you hear

But perhaps the most beautiful solution is the use of audio formats
(I recommend MP3Stego for work). This is due
something that most people wouldn't even think of,
that music may contain hidden information. To place a message/file in MP3 format, redundant information is used, the presence of which
determined by the format itself. When using
other audio files you need to make changes to
sound wave, which may have a very small effect on the sound.

Other solutions

Documents can be used for steganography Microsoft Word, RTF format can also be used as a message container. There are a number of utilities that are capable of transferring files via empty packets using
the same shorthand solutions. With this technology, one bit of the copied file is transmitted in one packet, which is stored in the header of the transmitted packet. This technology does not provide high speed data transmission, but has a number
advantages when transferring files through firewalls.

Steganography is a fairly powerful tool for maintaining data confidentiality. Its use has long been recognized as effective in protecting copyrights, as well as any other information that can be
considered intellectual property. But especially
effective use of steganography with elements of cryptography. This approach creates
two-level protection, hacking which is very difficult if
is generally possible...

Continuation of the series of stories about steganography and steganalysis. Under the cut, particularly interested citizens will be able to find a formal introduction to steganography and steganalysis, as well as some information about what currently exist steganography algorithms for working with images, as well as a description of several steganographic programs. Naturally, not all programs are described. Moreover, not all methods of hiding information in images are described. Well, what can you do, a year ago I knew less about this than I do now. My more up-to-date notes will appear later.

1 . REVIEW OF EXISTING PROGRAMS AND ALGORITHMS FOR HIDING INFORMATION IN COMPUTER IMAGES

1.1 Algorithms for hiding information in computer images

Unlike cryptographic protection, designed to hide the content of information, steganographic protection is designed to hide the fact of the presence of information.

Methods and means by which you can hide the fact of the presence of information are studied by steganography (from the Greek - secret writing). Methods and techniques for introducing hidden information into electronic objects relate to computer steganography /7/.

The main steganographic concepts are message and container . Message m Î M, called secret information, the presence of which must be hidden, where M– the set of all messages. Container b Î Bcalled unclassified information that is used to hide messages, where B– the set of all containers. Empty container (original container) this is a container b, not containing a message, filled container(result container) b m is a container b containing a message m.

Steganographic transformation is usually called dependenciesF And F -1

F: M´ B´ K® B, F -1 : B´ K® M, (1)

which match the triple (message, empty container, key from the set K ) container-result, and a pair (filled container, key from the set K ) original message, i.e.

F(m,b,k) = b m,k ,F -1 (b m,k) = m, where m Î M, b, b mÎ B,kÎ K.(2)

A steganographic system is called (F, F-1, M, B, K)– a set of messages, containers and transformations connecting them.

Analysis of computer steganography methods used in practice allows us to determineThere are the following main classes:

1. Methods based on the availability of free areas in the presentation/storage of data.

2. Methods based on redundancy of data presentation/storage.

3. Methods based on the use of specially developed data presentation/storage formats.

We emphasize that methods for introducing hidden information into objects depend, first of all, on the purpose and type of object, as well as on the format in which the data is presented. That is, for any format for representing computer data, own steganographic methods can be proposed.

In this work, only raw raster images of the format are considered as containers. BMP or image format BMP with a palette. Let's look at the most typical algorithms that work with these two types of computer images.

BMP c24 or 32 bits per pixel /5/.

The simplest method in this case is to sequentially replace the message bits with the least significant bits of some value color RGB or parity bits of full values RGB . When embedding a message into an image, all 3 (or 4, where the fourth channel is the transparency channel) color channels of each pixel, or any one channel can be used. In the latter case, the channel is usually used blue, since the human eye is least susceptible to it. Naturally, such a small change in color is impossible for human vision to perceive. There are modifications of this method, which are obtained by increasing the number of bits embedded in one pixel of the image. The advantage of such methods is an increase bandwidth container, the ability to hide a larger message. However, at the same time, it increases quite quicklyThe probability of detecting message transmission using visual or statistical steganalysis is determined.

To improve this method, you can use a user-defined password. This password is used to initialize a pseudo-random number generator, which generates pixel numbers whose URBs are to be replaced with message bits. This method complicates both visual and statistical steganalysis. In addition, even if the very fact of transmitting a message is detected, it will not be as easy to retrieve it as in the case of embedding a message without using a password.

Stegoalgorithms using image format BMP c256-color palette /3/.

Let us consider the most typical algorithm in this case EzStego , which takes its name from the program of the same name in which it was implemented.

EzStego first sorts the palette so as to minimize the differences between neighboring colors. After this, the message bits are embedded in the NZB of the color indices of the sorted palette. Original algorithm EzStego embeds bits sequentially, but injection can also be used along a pseudo-random password-dependent path generated by a pseudo-random number generator. Let us describe the algorithm in more detail.

Originally EzStego sorts palette colors c0 , c 1 , . . . , c P− 1 , P ≤ 256 in a loop c π(0) , c π (1) , . . . , c π (P− 1) , π (P ) = π (0) so that the sum of the distances is small. In the last expression π – rearrangement of sorting. To receiveThe final permutation can use several options, for example, sorting by the value of the brightness component of each pixel or an approximate solution of the traveling salesman problem on a graph whose vertices will be palette elements. Set of couplesE, in which the colors will be exchanged for each other during the implementation process, there will be

E= ( (c π (0) , c π (1)), (c π (2) , c π (3)), ... , (c π (P− 2) , c π (P− 1)) ). (3)

Using a stego key (password), a pseudo-random path is generated through the pixels of the image. For each pixel along this path its color c π (k) is replaced by color c π (j) , Wherej– index k, in which its SVB is replaced by a message bit. This step is repeated until all message bits are embedded or until the end of the image file is reached.

1.2 Programs for hiding information in computer images

Nowadays, there are already quite a large number of programs that use steganography and computer images as containers. Let's look at some of them, the most common. All these programs mainly use the algorithms described above, based on the injection of a message into the container's NBZ.

Using the programS-Tools (Steganography Tools)(Figure 1), having the status freeware , you can hide information in a graphic or sound file. Moreover graphic file After that, you can calmly view it and listen to the audio one. The utility does not require installation, just unpack the archive and run the file s-tools. exe . The program archive takes up only about 280 KiB .

Figure 1 – Main program windowS- Tools

The technology of the program is such that the encrypted data is first compressed, and only then directly encrypted. The program can use several different data encryption algorithms depending on the user’s desire, including some of the best algorithms - DES , which today no longer meets modern safety requirements, Triple DES and IDEA . The last two algorithms provide high level protecting data from decryption (not a single case of decryption of information encrypted using these methods has been recorded so far).

The process of encrypting information is very simple: To do this, just use the explorer Windows drag graphic or sound file into the program window. Information about the size of the file that can be hidden will appear in the lower right corner of the program. At the next stage, you need to drag the file with information onto the image, enter the password, select varencryption iant and determine the hiding method. After some time, the program will display a second picture with a conditional name hidden data

which already contains hidden information. Then you should save the new picture with the iconretinal name and extension gif or bmp by selecting the command " Save as".

To decrypt information, you need to drag a picture with hidden information into the program window, select from context menu called by pressing the right mouse button, the command “ Reveal ", then enter the password - and the screen will appear additional window with the name of the hidden file.

Program Steganos Security Suite (Figure 2) is also quite popular program, superior in qualityS- Tools, but not free. Given software product is a universal set of tools necessary to protect information.

Figure 2 – Main program windowSteganos

The program allows you to organize virtual encrypted disks and encrypt messages email, securely delete files from hard drive and much more. Most of the features providedSteganos, built-in steganographic methods. At

When encrypting a file, you can additionally select a container (image format BMP, JPEG or WAV audio file ), which will embed a pre-compressed and encrypted file. Regarding the format BMP the program allows you to use images only in True Color.

Program Secur Engine(Figure 3) allows you to simply encrypt files using cryptographic methods, and embed them in format containers BMP, JPEG, WAV . It is possible to choose one of 6 encryption algorithms, one of which is the domestic GOST algorithm.

Figure 3 – Main program window Secur Engine

The entire process of hiding and encryption is done in a wizard form. The user is asked to sequentially select the files that he needs to hide, the encryption algorithm, the container file into which the data will be embedded, and the name of the resulting container with the embedded message.

In the next series, the most interesting thing will finally appear - a description of steganalysis algorithms. However, as the present shows, it is not so interesting. There are more interesting things in this science.

Steganography is the science of hidden transmission of information by keeping the very fact of transmission secret. Unlike cryptography, which hides the contents of a secret message, steganography hides the very fact of its existence. Steganography is usually used in conjunction with cryptography methods, thus complementing it.

The advantage of steganography over pure cryptography is that the messages do not attract attention. Messages whose encryption is not hidden are suspicious and may be incriminating in themselves in countries where cryptography is prohibited. Thus, cryptography protects the content of the message, and steganography protects the very fact of the presence of any hidden messages.

In order not to burden the reader, I will limit myself to the use of formulas and other strict mathematical calculations. The list of sources used contains links to books where the mathematical model of the steganosystem is described in detail. The article is divided into two parts:
1. Theoretical: diagram of a typical steganosystem;
2. An example of a specific steganosystem (based on JPEG images) and a diagram of its implementation.

Description of the steganosystem

Let's consider block diagram typical steganosystem. IN general case The steganosystem can be considered as a communication system.

The main steganographic concepts are message and container. A message is classified information, the presence of which must be hidden. A container is unclassified information that can be used to hide a message. The message and container can be either plain text or multimedia files.

An empty container (or the so-called original container) is a container that does not contain hidden information. A filled container (result container) is a container that contains hidden information. One of the requirements that is set is that the resulting container should not be visually distinguishable from the original container. There are two main types of container: streaming and fixed.

A stream container is a sequence of bits that changes continuously. The message is embedded in it in real time, so the encoder does not know in advance whether the container is large enough to transmit the entire message. In one container large size Multiple messages can be embedded.

The main problem is performing synchronization, determining the beginning and end of the sequence. If there are sync bits, packet headers, etc. in the container data, then hidden information may follow immediately after them. The complexity of organizing synchronization is an advantage from the point of view of ensuring transmission secrecy.

In a fixed container, the dimensions and characteristics of the latter are known in advance. This allows you to perform data nesting in an optimal (in a certain sense) way. Next we will consider fixed containers.

Before attaching a message to a container, it must be converted into a specific form convenient for packaging. In addition, before packing into a container, to increase security classified information the latter can be encrypted with a fairly strong cryptographic code. In many cases, it is also desirable that the resulting steg message be resistant to distortions (including malicious ones).

During the transmission process, sound, image or any other information used as a container may undergo various transformations (including using algorithms with data loss): changing the volume, converting to another format, etc. - therefore, for To maintain the integrity of the embedded message, it may be necessary to use error-correcting code (noise-correcting coding). The initial processing of the hidden information is performed by the precoder shown in the figure.

It should be noted that to increase the security of the embedding, pre-processing is often performed using a key.

Packing a message into a container (taking into account the format of the data representing the container) is done using a stegan encoder. Nesting occurs, for example, by modifying the least significant bits of the container. In general, it is the algorithm (strategy) for entering message elements into a container that determines steganography methods, which in turn are divided into certain groups, for example, depending on the file format that was selected as the container.

Most steganosystems use a key to pack and retrieve messages, which predetermines a secret algorithm that determines the order in which the message is inserted into the container. By analogy with cryptography, the type of key determines the existence of two types of steganosystems:

  • with a secret key – one key is used, which is determined before the steganogram is exchanged or transmitted over a secure channel;
  • With public key– different keys are used to pack and unpack a message, which differ in such a way that it is impossible to obtain one key from the other using calculations, so one of the keys (public) can be freely transmitted over an insecure channel.

A pseudorandom sequence generator (PSG) of bits can be used as a secret algorithm. A high-quality PSP generator, oriented for use in information security systems, must meet certain requirements. Let's list some of them:

  • Cryptographic strength is the inability of the attacker to predict the next bit based on the previous ones known to him with a probability different from 1/2. In practice, cryptographic strength is assessed using statistical methods.
  • Good statistical properties - the PSP in its statistical properties should not differ significantly from a truly random sequence.
  • Long period of formed sequence.
  • Efficient hardware and software implementation.

A statistically (cryptographically) secure PSP generator must meet the following requirements:

  • not a single statistical test determines any patterns in the PSP, in other words, does not distinguish this sequence from a truly random one;
  • when initialized with random values, the generator generates statistically independent pseudo-random sequences.

It should be noted that the method of randomly selecting the interval between embedded bits is not very effective. The hidden data must be distributed throughout the container, so a uniform distribution of bin lengths (smallest to largest) can only be approximately achieved, since there must be confidence that the entire message is embedded (that is, fits into the container).

The hidden information is entered in accordance with the key into those bits whose modification does not lead to significant distortion of the container. These bits form what is called a quilt path. By “significant” we mean a distortion that leads to an increase in the likelihood of revealing the presence of a hidden message after steganalysis.

A steganographic channel is a channel for transmitting a result container (in general, the existence of a channel as, strictly speaking, a recipient is the most generalized case, since a filled container can, for example, be stored by the “sender”, who has set himself the goal of limiting unauthorized access to certain information. In this case, the sender acts as the recipient).

The steganodetector detects the presence of hidden data in a container (possibly already modified). There are steganodetectors designed only to detect the presence of an embedded message, and devices designed to extract this message from the container - steganodecoders.

So, in the steganosystem, two types of information are combined in such a way that they are perceived differently by fundamentally different detectors. One of the detectors is a system for isolating a hidden message, and the other is a person.

The message embedding algorithm in the simplest case consists of two main stages:

  1. Embedding a secret message into the original container in a steganocoder.
  2. Detection (extraction) of a hidden encrypted message from the result container in a steganodetector (decoder).

About JPEG

In our work we will implement a steganosystem based on JPEG. JPEG is a lossy image compression method. It does an excellent job of compressing continuous-tone images in which close pixels tend to have similar colors, but it doesn't do a very good job with two-level black-and-white images.

First, let's briefly look at the JPEG algorithm, more detailed description and examples can be found in the books cited in the sources. The encoder of 8-bit RGB images can be described in seven points (an array of image components is supplied as input):

  1. Color space conversion. A color image is converted from RGB to a luminance/chrominance representation. The eye is sensitive to small changes in pixel brightness, but not chroma, so a significant amount of information can be removed from the chroma component to achieve high compression without noticeable visual deterioration in image quality. This step is optional, but it is very important since the rest of the algorithm will work independently on each color component. Without color space conversion, much information cannot be removed from the RGB components, preventing much compression.
  2. Subsampling. For more efficient compression color image is broken into large pixels. Pixel enlargement is either not done at all (enlargement 1hv1 or “4:4:4”), or done either in a 2:1 ratio horizontally and vertically (enlargement 2h2v or “4:1:1”) or in proportions 2:1 horizontally and 1:1 vertically (enlargement 2h1v or “4:2:2”).
  3. Connection into blocks. The pixels of each color component are collected into 8x8 blocks called Minimum Coded Units. If the number of rows or columns of the image is not a multiple of 8, then the bottommost row and rightmost column are repeated the required number of times.
  4. Discrete cosine transform. A discrete cosine transform (DCT) is applied to each data unit, resulting in 8x8 blocks of data unit frequencies. They contain the average pixel value of the data units and the following corrections for high frequencies. This allows the data to be presented in a form that allows for more efficient compression.
  5. Quantization. Each of the 64 frequency components of the data units is divided by a special number called quantization coefficients (QC), which is rounded to the nearest integer. Here information is irretrievably lost. But in our encoder this step is omitted to increase the amount of recorded information (i.e. all quantization coefficients are equal to one, JPEG quality is 100%).
  6. Lossless compression. All 64 quantized frequency coefficients of each data unit are encoded using a combination of RLE and the Huffman method.
  7. Adding headers and writing to a file. The last step is to add a header from the used JPEG parameters and output the result to a compressed file.

The algorithm is symmetric, so the encoder will do the opposite.

Steganography in JPEG

Let's start looking at a steganosystem based on JPEG images. It is based simplest method LSB (Least Significant Bit, least significant bit).

The essence of the LSB method is that in most cases a person is not able to notice changes in the last bit of the color components of the image. In fact, LSB is noise, so it can be used to embed information by replacing the less significant bits of the image pixels with bits of the secret message. The method works with raster images presented in an uncompressed format (for example, BMP). The main disadvantage of the method is its high sensitivity to the slightest distortion of the container.

In our steganosystem we will use DCT LSB steganography. The main difference is that the data is written not in color components, but in discrete cosine transform coefficients. Let's look at the encoder circuit (the decoder does everything the same, but in reverse order).

At the input: color image, hidden data, password.
Output: JPEG image with hidden data.

  1. Key generation. For the encoder to work, 2 keys are required: a quilt key and a crypto key. Let's take the SHA-256 hash of the user-entered password. We will use the first 16 bytes for the steg key, the second for the crypto key.
  2. Text pre-processing (precoder). We take the hash sum of the crypto key again and get new 32 bytes, which will already be used to encrypt the data. We encrypt the data using the AES-256 algorithm.
  3. Let's start encoding the image. We carry out the first 4 steps of the previously discussed JPEG algorithm.
  4. Instead of the fifth step (quantization) of the JPEG algorithm, we hide our data.
    • Format analyzer. To make the interference in the image unnoticeable, we will conduct a “visual” analysis. Each last bit of the block coefficient is inverted and the PSNR metric for the original and modified blocks is calculated. If the metric value is less than 55 dB, then this block no recording is made. Because at metric values ​​greater than 40 dB, images are considered almost identical to the human eye, then at 55 dB the difference will definitely be invisible to the eye.
    • Quilt path. The stegan key is represented in binary form, and each block is assigned a corresponding bit of the binary sequence (modulo). If the bit is equal to one, then the block is used for writing, if it is zero, then it is discarded.
    • Steganocoder. We carry out the standard LSB procedure for each 8x8 block: we write data to each element whose value is greater than one.
  5. We continue executing the JPEG algorithm (lossless compression and writing to a file).

Conclusions and Conclusion

Using the given diagram of the steganosystem, you can easily write a program. The source code for my implementation can be found on GitHub. The program cannot be called a full-fledged one, rather an alpha version, but the main functionality is implemented in it. The fourth point is implemented for the encoder, and for the decoder. Ready-made implementations of JPEG, SHA-256, AES-256 are taken as a basis.

Encoding-decoding

Void jpeg_encoder::code_block(int component_num) ( DCT2D(m_sample_array); load_quantized_coefficients(component_num); double psnr = 0; for (int i = 0; i< 64; i++) { if (m_coefficient_array[i] >1) ( short t = m_sample_array[i]; bit_stream::write_bit(t, bit_stream::read_bit(t) == 1 ? 0: 1); psnr += (t - m_sample_array[i]) * (t - m_sample_array [i]); ) ) psnr /= 64; if (psnr != 0) psnr = 20 * log10(255 / sqrt(psnr)); else psnr = 70; if (psnr > 55) ( for (int i = 0; i< 8; i++) { for (int j = 0; j < 8; j++) { if (m_coefficient_array >1) ( int bits = bitstr->get_next_bit(); if (bits != -1) ( bit_stream::write_bit(m_coefficient_array, bits); ) bitr++; ) ) ) ) if (m_pass_num == 1) code_coefficients_pass_one(component_num) ; else code_coefficients_pass_two(component_num); ) void jpeg_decoder::transform_mcu(int mcu_row) ( jpgd_block_t* pSrc_ptr = m_pMCU_coefficients; uint8* pDst_ptr = m_pSample_buf + mcu_row * m_blocks_per_mcu * 64; for (int mcu_block = 0; mcu_block< m_blocks_per_mcu; mcu_block++) { idct(pSrc_ptr, pDst_ptr, m_mcu_block_max_zag); double psnr = 0; for (int i = 0; i < 64; i++) { if (pSrc_ptr[i] >1) ( short t = pDst_ptr[i]; bit_stream::write_bit(t, bit_stream::read_bit(t) == 1 ? 0: 1); psnr += (t - pDst_ptr[i]) * (t - pDst_ptr [i]); ) ) psnr /= 64; if (psnr != 0) psnr = 20 * log10(255 / sqrt(psnr)); else psnr = 70; if (!done && psnr > 55) ( for (int i = 0; i< 8; i++) { for (int j = 0; j < 8; j++) { if (pSrc_ptr] >1) ( int bits = bit_stream::read_bit(pSrc_ptr]); if (bitstr->set_next_bit(bits) == -1) ( done = true; int size = bitstr->get_readed_size(); char* str = new char ; bitstr->get_data(str); str = ""; m_stparams->stego_data = str ) ) ) ) pSrc_ptr += 64; pDst_ptr += 64; ) )

In conclusion, here are the characteristics of the resulting product:

  • JPEG (DCT LSB) steganography;
  • Two-level information protection;
  • Using SHA-256 to generate keys;
  • Symmetric text encryption AES-256;
  • Up to 30% of hidden information from the container size, depending on the type of image;
  • Lack of noise immunity.

Sources and additional links

  1. Kokhanovich G.F., Puzyrenko A.Yu. Computer steganography. Theory and practice. – K.: “MK-Press”, 2006.
  2. D. Salomon. Compression of data, images and sound. Moscow: Techno-sphere, 2004.
  3. Vatolin D., Ratushnyak A., Smirnov M., Yukin V. Data compression methods. Archive device, image and video compression. - M.: DIALOG-MEPhI, 2003.

I think everyone has heard of steganography at least once. Steganography (τεγανός - hidden + γράφω - I write, literally “hidden writing”) is interdisciplinary the science and art of transmitting hidden data, inside others, not hidden data. The hidden data is usually called stego message, and the data that contains stego message called container.

There were many different articles on Habrahabr about specific algorithms information steganography, for example DarkJPEG, “TCP steganography”, and of course, beloved by all students during course design, “LSB algorithm” (for example LSB steganography, Steganography in GIF, Cotfuscation of executable.net code)

There are countless steganographic methods. At the time of this writing, at least 95 steganography patents have already been published in the United States, and at least 29 patents have been published in Russia. Most of all I liked the patent Kursh K. And Lav R. Varchney "Food steganography"(“Food steganography”, PDF)

A picture from a “food” patent to attract attention:

However, after reading a decent number of articles and works devoted to steganography, I wanted to systematize my ideas and knowledge in this area. This article is purely theoretical and I would like to discuss the following questions:

  1. Purposes of Steganography- in fact there are three of them, not one.
  2. Practical application of steganography- I counted 15.
  3. The place of steganography in the 21st century- I believe that from a technical point of view modern world already prepared, but "socially" Steganography is still “lagging.”

I tried to summarize my research on this issue. (This means there is a lot of text)
I hope for reasonable criticism and advice from the habro community.

Purposes of Steganography

Target is an abstract task regarding which a scientific theory and methodology for achieving this goal are developed. No need to be confused target And application. Target extremely abstract, unlike applications.

As I said before, there are three goals in steganography.

Digital fingerprints (Digital Fingerprint)

This type of steganography implies the presence various steganographic message tags for each copy container. For example, COs may be applicable to protect an exclusive right. If, using some algorithm, the adversary is able to extract the CO from the container, then it is impossible to identify the enemy, but until the adversary learns to forge the CO, he will not be able to distribute the protected container without detection.

Thus, when extracting a CO, a third party (i.e., an adversary) can pursue two goals:

  1. removing the central heating unit from the container ( "weak target");
  2. replacement of one central heating center with another central heating center ( "strong goal").

An example of a CO is the sale of electronic books (for example, in *.PDF format). When paying for a book and sending it to the recipient, you can *.pdf insert information about e-mail; IP; data entered by the user, etc. Of course, these are not fingerprints or DNA analysis, but, you see, this is better than nothing. Perhaps in Russia, due to a different culture and a different, historically established, attitude towards exclusive rights, this use of steganography is irrelevant; but, for example, in Japan, where downloading torrent files can lead to imprisonment, the use of steganographic centers is more likely.

Steganographic watermarks (SVZ) (Stego Watermarking)

Unlike the CO, the SVZ implies the presence identical tags for each copy container. In particular, SVZ can be used to confirm copyright. For example, when recording on a video camera, you can intersperse information about the recording time, video camera model, and/or the name of the video camera operator into each frame.
If the footage falls into the hands of a competing company, you can try to use the SVZ to confirm the authorship of the recording. If the key is kept secret from the camera owner, then using the SVZ you can confirm the authenticity of photos and/or video images. By the way, our colleague in the shop, Dmitry Vitalievich Sklyarov, successfully broke steganography on some Canon camera models. The problem was really a hardware one, Dmitry Vitalievich did not touch the quilt itself, nevertheless, he steganographically “proved” the authenticity of Stalin with the iPhone.

Photo of Stalin with an iPhone, taken by D.V. Sklyarov (with correct SVZ)


Hidden Data Transfer (SDT)

This is the “classical” goal of steganography, known since the time of Aeneas Tacticus (Αινείας ο Τακτικός, see his work containing simple steganographic techniques:). The task is to transmit data so that the enemy does not realize that the message has appeared.

In modern Russian-language works devoted to steganography, the term is often used DWW (Digital Watermarks). This term means either SVZ or central heating center. (And sometimes SVZ and DH at the same time, and even in one article!) Nevertheless, when implementing DH and SVZ, the problems and tasks that arise are fundamentally different! Indeed, SVZ on all copies electronic document is the same, but the CO on all copies of documents is different. For this reason, for example, conspiracy attack fundamentally impossible in SVZ! At least for this reason, it is necessary to distinguish between SVZ and CO. I strongly advise anyone who is going to work in the field of steganography not to use the term digital signature in their speech.

This seemingly obvious idea still causes confusion among many. A similar point of view on the need to distinguish between SVZ and CO was expressed by such well-known “steganographers” in narrow circles as Cachin, Petitcolas, Katzenbeisser.

For each of these three goals, you should develop your own criteria for the strength of a steganographic system and formal information-theoretical models for achieving them, because The meaning of using steganography is different. The fundamental difference between SVZ and CO is written above. But maybe it makes sense to combine SPD with the central heating center or with SVZ? No! The point is that the meaning of the SOP is the hidden data transfer itself, and the CO and SVZ are intended to protect the container itself. Moreover, the very fact of the existence of a CO or SVZ may not be secret, unlike most tasks for SPD. In particular, for this reason, talking about the possibility of constructing a perfect stegosystem (according to Cachen) for the implementation of central or central control for most practical problems does not make any practical sense.

4. Protection of the exclusive right (PR)

A possible application is the Holographic Versatile Disc (HVD). (However, there is a point of view that this technology was initially “stillborn”) The HVBs currently being developed can contain up to 200 GB of data per cartridge. These technologies are supposed to be used by television and radio broadcasting companies to store video and audio information. The presence of COs inside the correction codes of these disks can be used as a primary or additional means to protect licensing rights.

Another example, as I wrote earlier, is online sales information resources. This could be books, films, music, etc. Each copy must contain a CO for personal identification (at least indirectly) or a special mark to verify whether it is a licensed copy or not.

The company amazon.com tried to realize this goal in 2007-2011. Quote from artty from the article “Protecting” mp3 files on amazon.com:

In Russian: the downloaded file will contain a unique purchase identifier, date/time of purchase and other information (...).

It was not possible to download these compositions directly (Amazon swears and says that it can only sell them in the United States). I had to ask my American friends and after a while I had the same song in my hands, but downloaded independently by two different people from different Amazon accounts. The files looked exactly the same, the size was the same down to the byte.

But because Amazon wrote that it includes a download identifier in each mp3 and some other data. I decided to check the two existing files bit by bit and immediately found differences.

5. Copyright protection (CPR)

In this case, each copy of the content is protected with one sign. For example, this could be a photograph. If a photograph is published without the photographer’s permission, saying that he is not the author of this work, the photographer can try to prove his authorship using steganography. In this case, each photograph should include information about serial number camera and/or any other data that allows you to “link” a photograph to one single camera; and through the camera, the photographer can try to indirectly prove that he is the author of the photo.

6. Protection of document authenticity (POA)

The technology may be the same as for copyright protection. Only in this case, steganography is used not to confirm authorship, but to confirm the authenticity of the document. A document that does not contain a CVZ is considered “not real”, i.e. fake. Dmitry Sklyarov, already mentioned above, was solving the opposite problem. He found a vulnerability in a Cannon camera and was able to fake the authenticity of a photo of Stalin with an iPhone.

7. Individual fingerprint in EDMS (CO)

IN system electronic document management (EDMS) you can use an individual fingerprint inside *.odt, *.docx and other documents when the user works with them. To do this, special applications and/or drivers must be written that are installed and run on the system. If this task is completed, then using individual fingerprint it will be possible to identify who worked with the document and who did not. Of course, in this case it is stupid to make steganography the only criterion, but as an additional factor in identifying participants working with a document, it can be useful.

8. Watermark in DLP systems (SVZ)

Steganography can be used for preventing information leaks(Data Leak Prevention, DLP). Unlike individual fingerprint in EDMS, in this application of steganography, when creating a document containing a confidential nature, a certain mark is inserted. In this case, the label does not change, regardless of the number of copies and/or revisions of the document.

In order to remove the tag you need a key. The stegokey, of course, is kept secret. The DLP system, before approving or refusing to release a document externally, checks the presence or absence of a watermark. If the sign is present, then the system does not allow sending the document outside the system.

9. Hidden transmission of control signal (SPT)

Let's assume that the recipient is some system (for example, a satellite); and the sender is the operator. In this case, steganography can be used to deliver any control signal to the system. If the system can be in different states and we want the enemy not to even realize that the system has moved to another state, we can use steganography. Using only cryptography, without steganography, can give the enemy information that something has changed and provoke him into unwanted actions.

I think no one will argue that in the military sphere this task is incredibly relevant. This task may also be relevant for criminal organizations. Accordingly, law enforcement agencies should be armed with a certain theory on this issue and promote the development of programs, algorithms and systems to counter this use of steganography.

10. Steganographic botnet networks (SBN)

To be pedantic, this application can be considered a special case hidden transmission of a control signal. However, I decided to highlight this application separately. My colleague from TSU sent me a very interesting article by some Shishir Nagaraja, Amir Houmansadr, Pratch Piyawongwisal, Vijit Singh, Pragya Agarwal And Nikita Borisov"and “Stegobot: a covert social network botnet”. I’m not an expert on botnet networks. I can’t say whether this is a crapshoot or an interesting feature. I’ll just hear the opinion of the habra community!

11. Confirmation of the reliability of the transmitted information (CO).

The stego message in this case contains data confirming the correctness of the transmitted container data. As an example, this could be a checksum or a hash function (digest). The task of verifying validity is relevant if the adversary has a need to falsify container data; for this reason this application should not be confused with document authenticity protection! For example, if we are talking about a photograph, then the protection of authenticity is proof that this photograph is real, not faked in Photoshop. We seem to be protecting ourselves from the sender himself (in this case, the photographer). If the authenticity is confirmed, it is necessary to organize protection from third parties (man in the middle), which has the ability to forge data between the sender and recipient.

This problem has many classical solutions, including cryptographic ones. Using steganography is another way to solve this problem.

12. Funkspiel (“Radio Game”) (SPD)

From Wikipedia:

Definition of Funkspiel

Radio game (tracing copy from German Funkspiel - “radio game” or “radio play”) - in the practice of intelligence of the 20th century, the use of radio communications to misinform enemy intelligence agencies. For a radio game, a radio operator or double agent captured by counterintelligence and converted is often used. The radio game allows you to simulate the activities of a destroyed or never-existed intelligence network (and thus reduce the enemy’s activity in sending new intelligence officers), transmit disinformation to the enemy, obtain information about the intentions of his intelligence agencies, and achieve other intelligence and counterintelligence goals.

The possibility of failure and subsequent radio play was taken into account when planning reconnaissance operations. Various signs in the radiogram were specified in advance, by the presence or absence of which one could understand that the radio operator was working under the control of the enemy.

Stego message in this case contains data indicating whether the information is worth accepting container seriously. It can also be some kind of hash function or simply a pre-set sequence of bits. It can also be a hash function of the start time of the transmission (In this case, to eliminate the problem of time desynchronization between the sender and recipient, the time should be taken with an accuracy of minutes or even hours, and not with an accuracy of seconds or milliseconds).

If the stego message fails validation, the container should be ignored by the recipient, regardless of its contents. In this case, steganography can be used to misinform the enemy. For example, the container could be a cryptographic message. In this case, the sender, wanting to mislead the enemy, encrypts the data with some compromised cryptographic key known to the enemy, and the stego message is used to prevent the recipient from accepting a false container.

Let's assume that the enemy has the ability to destroy the CO. In this case funkspiel can be used against the interests of the sender. The recipient, without finding the label, will not ignore the received container. Perhaps in some practical decisions it is reasonable funkspiel use with confirmation of authenticity. In this case, any information that does not contain a reliability mark is ignored; and accordingly, for a radio game you should simply not include the tag in the message.

13. Inalienability of information (INI)

There are a number of documents for which integrity is important. This can be done by backing up data. But what to do if there is a need to have documents in such a form that it is impossible to separate one information from other information? An example is medical photographs. For reliability, many authors suggest including information about the patient’s name, surname and other data inside the images. See for example the book "Information Hiding Techniques for Steganography and Digital Watermarking" by Stefan Katzenbeisser and Fabien A. P. Petitcolas:

An excerpt about the use of steganography in medicine. from the book ""Information Hiding Techniques for Steganography and Digital Watermarking""

The healthcare industry and especially medical imaging systems may benefit from information hiding techniques. They use standards such as DICOM (digital imaging and communications in medicine) which separates image data from the caption, such as the name of the patient, the date, and the physician. Sometimes the link between image and patient is lost, thus, embedding the name of the patient in the image could be a useful safety measure. It is still an open question whether such marking would have any effect on the accuracy of the diagnosis but recent studies by Cosman et al. revealing that lossy compression has little effect, let us believe that this might be feasible. Another emerging technique related to the healthcare industry is hiding messages in DNA sequences. This could be used to protect intellectual property in medicine, molecular biology or genetics.

Similar arguments can be made about modern astronomy. Here is a quote from Russian astronomer Vladimir Georgievich Surdin ( link to video):

I envy those who are now entering science. Over the past 20 years, we [astronomers] have generally been marking time. But now the situation has changed. Several telescopes of completely unique properties have been built in the world. They see almost the entire sky and receive enormous amounts of information every night. Suffice it to say that over the previous 200 years, astronomers have discovered several thousand objects. (...) This is 200 years! Today, every night we discover three hundred new objects in the solar system! This is more than a person could write down in a catalog with a pen. [per day]

Just think, every night there are 300 new objects. It is clear that these are various small space asteroids, and not the discovery of new planets, but still... Indeed, would it be reasonable to embed information about the time of shooting, location of shooting and other data directly into the image? Then, when exchanging images between astronomers, scientists could always understand where, when and under what circumstances a particular image was taken. You can even insert information without a key, believing that there is no enemy. Those. use steganography only for the sake of “not alienating” the images themselves from additional information, hoping for the honesty of users; perhaps this would be much more convenient than accompanying each photo with information.

From the world computer games You can cite WoW. If you take a screenshot of the game, a SVZ is automatically implemented containing the user name, the time the screenshot was taken (accurate to the minute and IP) and the server address.

14. Steganographic distraction (?)

As the name of the task suggests - distract the enemy's attention. This task can be posed if there is any other reason for using steganography. For steganographic distraction It is necessary that the generation of stegocontainers be significantly “cheaper” (in terms of machine and time resources) than detection of steganography by the enemy.

Roughly speaking, steganographic distraction somewhat reminiscent of DoS and DDoS attacks. You divert the enemy's attention away from the containers that actually contain something valuable.

15. Steganographic Tracking (STD)

This application is somewhat similar to step 7 individual fingerprint in EDMS, only the goal is different - to catch the criminal who is “leaking” the information. An example can be given from the real world marked banknotes(“marked money”). They are used law enforcement agencies, so that a criminal who has received money for any illegal activity cannot later claim that he had this money before the transaction.

Why not adopt the experience of “real colleagues” into our virtual world? Thus steganographic tracking Reminds me of something like a honeypot.

Forecast about the future of steganography in the first quarter of the 21st century

Having read fifty different articles on quilting and several books, I will venture to express my opinion on steganography. This opinion is just my opinion and I do not impose it on anyone. Ready for constructive criticism and dialogue.

Thesis. I believe that the world is technically ready for steganography, but culturally, modern information society not yet ripe. I think that in the near future (2015-2025) something will happen that may in the future be called " steganographic revolution“… This may be a little arrogant statement, but I will try to substantiate my point of view with four points.

First. At the moment there is no unified theory of steganography. A top secret stegosystem (according to Cashen) is of course better than nothing, but in my opinion this is a black and white photograph of the tail of a spherical virtual horse in a vacuum... Mittelholzer tried to slightly improve the results of Christian Cashen, but so far this is a very broad theory.

The lack of a unified theory is an important obstacle. It has been mathematically proven that the Vernam cipher (= “one-time pad”) cannot be cracked, for this reason the connection between V.V. Putin and Barack Obama are carried out precisely with the help of this algorithm. There is a certain theory that creates and studies abstract (mathematical) cryptographic objects (Bent functions, LFSR, Facestyle cycles, SP sets, etc.). There is a zoo of terms and models in steganography, but most of them are unfounded, incompletely studied, or far-fetched.

Nevertheless, there are already certain shifts in this direction. Modest attempts are already being made to use steganography, if not as the main or even the only solution, then as an auxiliary tool. A huge shift in theory has occurred over the past fifteen years (2000-2015), but I think this could be a separate post, it’s hard to say in a nutshell.

Second. Steganography - science interdisciplinary! This is the first thing any aspiring steganographer should understand. If cryptography can abstract away from hardware and solve exclusively problems in the world of discrete mathematics, then a steganographer must study the environment. Although, of course, there are a number of problems in the construction of cryptosystems, for example, side-channel attacks; but this is not the fault of the quality of the cipher. I think that steganography will evolve in line with the development of the study of the environment in which hidden messages are transmitted. Thus, it is reasonable to expect the emergence of “chemical steganography”, “steganography in images”, “steganography in error-correcting codes”, “food steganography”, etc.

Starting around 2008, everyone realized this. Not only mathematicians-cryptographers, but also linguists, philologists, and chemists became interested in steganography. I think this is a positive change that speaks volumes.

Third. The modern virtual world is oversaturated with texts, pictures of cats, videos, and so on and so forth... On one YouTube site every minute Over 100 hours of video uploaded! Just think every minute! How many minutes have you been reading this lengthy opus?.. Now multiply this number by 100! That's how many hours of different videos appeared on YouTube alone during this time!!! Can you imagine it? But this is a huge “ground” for hiding data! That is, “technically” the world has been ready for steganography a long time ago. And to be honest, I am deeply confident that steganography and countering steganography will in the near future become as pressing a problem as the BigData Colossus problem...

This information ceased to be secret, if my memory serves me correctly, only in the 2000s. Another historical example is the RSA algorithm, which was invented at the end of WWII by British cryptographers. But, for obvious reasons, the military classified the world's first asymmetric encryption algorithm and the palm went to Diffie, Helman, and then Rivest, Shamir and Adleman.

Why am I saying this? The point is that in information security everything is invented minimum twice: once “closed”, and the second time “open”; and in some cases even more than twice. This is fine. I think steganography is also waiting (it’s no longer possible).

In modern Western literature, for some reason, many scientists who proposed very interesting ideas in 1998-2008 “disappeared” (that is, stopped publishing). (eg Peter Weiner, Michelle Elia). A roughly similar situation existed before the invention of atomic weapons... Who knows, perfect stegosystems may have already been invented and they are being successfully used by the GRU and/or the NSA? And we, finishing reading this post and looking at our wristwatches, calculate how many more hours of purring cats have been uploaded by millions of users on YouTube and whether there are cats with correspondence from terrorists among them; commands for a botnet network or RT-2PM2 drawings encrypted with the Vernam cipher.



Related publications