Научная статья на тему 'A Software Model of Masking Hidden Message in Steganography Tasks'

A Software Model of Masking Hidden Message in Steganography Tasks Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
42
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
software model / HUGO stegosystem / Arnold`s cat map / Baker`s map / Pearson correlation coefficient / natural noise / chaotic coefficient / chaotic maps / steganology / программная модель / стегосистема HUGO / карта кота Арнольда / карта Бейкера / коэффициент корреляции Пирсона / естественный шум / коэффициент хаотичности / хаотические карты / стеганология

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Kustov V. N., Grokhotov A. I., Golovkov E. V.

The problem of developing a software model of masking a hidden message in HUGO stegosystems under natural noise in the communication channel using discrete chaotic Arnold cat map and Baker map, which are iterative reversible discrete chaotic transformations, is considered. All stages of software model development are considered in detail, such as the choice of the development environment, the composition of software modules and their purpose, screenshots of graphical interfaces for various modes of operation of the model. In the software model to estimate the chaotic state of a hidden message represented by a digital still image, the authors introduce the chaotic coefficient, a numerical indicator of the entropy of the probability of disordered pixels. In the developed software model, the authors propose a method for determining the maximum value of the chaotic coefficient corresponding to the maximum chaotic state of the hidden image. Testing the software model shows the practical indistinguishability of the transformed hidden message from the natural noise in the communication channel and significantly increases the safety of HUGO stegosystems.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Программная модель маскировки скрытого сообщения в задачах стеганографии

Рассматривается проблема разработки программной модели маскировки скрытого сообщения в стегосистемах HUGO в условиях естественного шума в канале связи с использованием дискретной хаотической карты кота Арнольда и карты Бейкера, которые являются итеративными обратимыми дискретными хаотическими преобразованиями. Подробно рассмотрены все этапы разработки программной модели, такие как выбор среды разработки, состав программных модулей и их назначение, скриншоты графических интерфейсов для различных режимов работы модели. В программной модели для оценки хаотического состояния скрытого сообщения, представленного цифровым неподвижным изображением, введен коэффициент хаотичности — числовой показатель энтропии вероятности неупорядоченных пикселей. В разработанной программной модели предложен метод определения максимального значения коэффициента хаотичности, соответствующего максимальному хаотическому состоянию скрытого изображения. Тестирование программной модели показывает практическую неотличимость преобразованного скрытого сообщения от естественного шума в канале связи и значительно повышает безопасность стегосистем HUGO.

Текст научной работы на тему «A Software Model of Masking Hidden Message in Steganography Tasks»

DOI: 10.24412/2413-2527-2022-432-52-63

Russian version of the article © V. N. Kustov, A. I. Grokhotov, E. V. Golovkov is published

in Intelligent Technologies in Transport, 2022, No. 1 (29), Pp. 45-57. DOI: 10.24412/2413-2527-2022-129-45-57.

A Software Model of Masking Hidden Message

in Steganography Tasks

Grand PhD V. N. Kustov, A. I. Grokhotov, E. V. Golovkov Emperor Alexander I St. Petersburg State Transport University

Saint Petersburg, Russia kvnvika@mail.ru, grohotov.aleksei@mail.ru, jyk22@mail.ru

Abstract. The problem of developing a software model of masking a hidden message in HUGO stegosystems under natural noise in the communication channel using discrete chaotic Arnold cat map and Baker map, which are iterative reversible discrete chaotic transformations, is considered. All stages of software model development are considered in detail, such as the choice of the development environment, the composition of software modules and their purpose, screenshots of graphical interfaces for various modes of operation of the model. In the software model to estimate the chaotic state of a hidden message represented by a digital still image, the authors introduce the chaotic coefficient, a numerical indicator of the entropy of the probability of disordered pixels. In the developed software model, the authors propose a method for determining the maximum value of the chaotic coefficient corresponding to the maximum chaotic state of the hidden image. Testing the software model shows the practical indistinguishability of the transformed hidden message from the natural noise in the communication channel and significantly increases the safety of HUGO stegosystems.

Keywords: software model, HUGO stegosystem, Arnold's cat map, Baker's map, Pearson correlation coefficient, natural noise, chaotic coefficient, chaotic maps, steganology.

Introduction

Steganography is a specific field of scientific activity related to the creation and research methods of concealment and detection of information transmission. Like cryptography, steganography has also existed since ancient times. Nevertheless, this is where the analogies end, especially in the field of theory. Over the past quarter of a century, a new discipline has been created and is successfully developing. It is mathematical steganography or steganology, in which mathematical models of stegosystems are studied.

If we consider the new trends in modern steganography, we can list the following distinctive features:

1. The increasing use of still digital photographs as covering objects with their preliminary transformation using discrete transformations in combination with already known ste-ganography methods.

2. Research on the creation of new stegosystems with increased secrecy of data transmission.

3. Increased attention to taking into account the presence of interference in communication channels and ways to combat them.

4. Active use of discrete chaotic transformations of hidden messages to mask them under natural noise in the data channel in order to increase the security of HUGO stegosystems.

5. Wide application of new self-orthogonal noise-resistant codes for encoding covering objects with embedded hidden messages when transmitting them over highly noisy communication channels.

6. Increased attention to new developments of efficient multi-threshold decoders with optimal energy consumption characteristics, speed, and reliability of decoding processes.

7. The transition from the preliminary cryptographic transformation of the hidden message before embedding it in the covering object to the use of cryptographic changes directly in the algorithm of embedding the hidden message.

8. Active expansion of research in the field of synthesis of highly undetectable stegosystems, the so-called HUGO-systems.

In this article, the authors focused on discrete chaotic transformations of a hidden message to disguise it as natural noise in the communication channel. Users in electronic document management systems can implement such methods to increase the level of security of confidential documents transmitted in the communication channel.

Discrete transformations of covering objects

and hidden messages in steganography problems

Steganography methods using a fixed digital image as a covering object consist of two broad classes: the first class of methods introduces a secret message into the spatial area of the covering object. The second class of methods does this in the frequency domain. The first class of methods modifies the spatial area of the covering object, for example, its pixels. However, these methods are subject to certain graphical transformations of the covering object, such as zooming out or zooming in, noise, compression, and other changes that make it impossible to extract the hidden message.

The second group of methods embeds hidden messages into the frequency spectrum of the covering object. This group of methods uses preliminary discrete transformations of the frequency spectrum of the covering object into the low-frequency and high-frequency parts of the spectrum. The embedding of a secret message is usually carried out in the high-frequency region of the spectrum. The researcher can use this

group of methods for various formats of covering objects. The following discrete transformations are applied:

• Discrete Cosine Transform (DCT);

• Discrete Hadamard Transform (DHT);

• Discrete Wavelet Transform (DWT);

• Discrete Fourier Transform (DFT);

• Singular Value Decomposition (SVD).

It should be noted that discrete DCT and DWT transformations are most commonly used. These methods have been successfully applied to develop widely used compression algorithms for still images JPEG2000 and JPEG.

As the authors have already noted above, in modern ste-ganography, to increase the security of stegosystems, researchers have increasingly begun to use discrete chaotic transformations for hidden messages. Chaotic discrete transformations belong to the field of chaos theory research.

Chaos theory is a branch of mathematics that deals with systems that exhibit chaotic behavior under certain conditions. Even for the random behavior of some deterministic systems, the concept of chaos is applicable. In this case, this behavior is called deterministic chaos. It is also referred to as a branch of mathematics called deterministic chaos theory.

It is generally accepted to use the concept of entropy as the primary measure of the system's randomness. The concept of entropy plays an important role in physics and mathematics. There are various approaches to the definition of entropy, developed and described in detail in the works [1-7]. There are known applications in which entropy is used as statistical estimation of data constructed using observations. For example, such estimates are helpful in feature selection theory and detect texture inhomogeneities, signal-to-noise ratios, etc. [1-7].

The reversibility in discrete time of chaotic processes is currently well studied and proven. Any chaotic process can proceed both in the forward and reverse direction, i. e. reversible.

Systems with a high entropy value are more disorganized than those with a low one. There are many possible states in disordered systems, and there is a slight possibility of configuration in ordered systems.

At first glance, according to the second law of thermodynamics, a closed system should tend to an increasingly disordered state, i. e., to chaos. However, along with these processes, it is possible to observe reverse transitions from chaos to order at a higher level.

Breaking the order leads to the destruction of orderliness and, ultimately, leads to a structureless, disordered form of

existence of a system with maximum entropy of the system, i. e. chaos. However, no matter how chaotic it may seem, the system always represents some structure. Then chaos can act as an overcomplicated orderliness.

Thus, in a closed system, there is always a transition from Order to Chaos (O ^ C) in the process of chaotic transformations. That is, there is an alternation of changes: C^O^C^O^... etc.

A chaotic transformation (decomposition or mapping) is usually used for a formal description of deterministic chaos. There are about 200 different chaotic transformations (chaotic maps), and their number is constantly growing.

The list of discreet chaotic maps that can be used for chaotic transformations of hidden messages is given in Table 1.

Table 1

The list of chaotic maps that can be used for chaotic transformations of hidden messages

Specifications

Map Name Spatial Number

dimension of parameters

2D Lorentz System 2 1

Arnold's Cat Map 2 2

Baker's Map 2 2

Chaotic Pool Map 2 1

Bogdan map 2 3

Circle Map 1 2

Clifford Fractal Map 2 4

The De Jong Fractal Map 2 4

Discretized Circular

Van der Pol System

Duffing Map 2 5

Dyadic Transformation 1 0

Fractal-Dream System 2 0

Gingerbread Map 2 0

Map of Oenone 2 2

Horseshoe Map 2 1

Poincare Return Map 2 3

Chaotic maps are classified according to the following classification criteria (Figure 1):

1. Time-domain: continuous, discrete;

2. Spatial domain: real, rational, complex, discrete;

3. Number of spatial dimensions: 1, 2, 3, arbitrary;

4. Number of parameters: 0, 1, 2, 3, 4, 6, 9, 10, 18, variable.

Fig. 1. Classification of chaotic maps

Discrete chaotic transformations of hidden messages presented in still images disguise them as natural noise in a ste-ganography communication channel.

To convert a hidden message presented as a still digital image is necessary to translate it into a form that closely resembles noise in a communication channel. It is usually done using discrete chaotic maps.

Researchers should emphasize that to use a chaotic discrete mapping to mask a hidden message under natural noise, it must, among other things, have the property of encrypting (ensuring confidentiality) a two-dimensional object. When performing a chaotic mapping by the user, a secret key must be generated, and using the key ensures that the mapping is reversible. In addition, the mapping must be deterministic, finite, and easily computable.

For the study, the authors chose chaotic displays of the Arnold's Cat Map (ACM) and Baker's Map (BM) to mask hidden messages under natural noise.

ACM and BM have the following values for the listed classification features:

• time-domain — discrete;

• spatial domain — discrete;

• number of spatial dimensions — 2;

• number of parameters — 2.

Let us take a closer look at these two discrete chaotic transformations.

Chaotic display of the Arnold's cat map

In discrete chaotic maps, ACM is known as the chaotic transformation on the torus surface. Vladimir Arnold first proposed ACM.

Researches can formally describe ACM as a chaotic two-dimensional transformation by the following formulas:

p' = (2p + q) mod 1, q' = (p + q) mod 1.

In matrix form, these relations have the following shape:

12 11

0| \P\

L „il^l mod 1= I1 1l I1 "I LI mod 1. Il 1||q| |0 1||1 1||P|

In these ratios, the sign « ' » shows the dynamics of changes in parameter values at a sequential time step.

Since the surface of the torus is usually an ACM space, the change in the values of each parameter is limited to a range from zero to one. Usually, it is a square with sides equal to one, with coordinates q and p. For ACM, this is its graphic illustration. ACM got its name because Vladimir Arnold illustrated it with resembling a cat head (Figure 2).

Note that the image subjected to AFM always retains its area and is usually used to describe the dynamics of chaotic processes.

We transform the hidden message using the ACM algorithm. As shown in Figure 3 at iteration 35, the hidden message is almost indistinguishable from noise. The iteration number can be used as a key to recover a hidden message on the recipient side.

Fig. 3. Iterative transformations of a hidden message using ACM up to 35 iterations

Chaotic display of Baker's map The Baker's Map is a chaotic mapping of a unit square into itself in dynamical systems theory. The transformation is named after the kneading operation that bakers apply to the dough. The dough is cut in half, and the two halves are folded on top of each other and compressed. BM can be represented as a two-way shift operator of a lattice model with two states. BM is topologically conjugate to the Horseshoe map. In physics, a chain of related BM transformations is used to model deterministic diffusion. As in many deterministic dynamical systems, BM is studied by its action on the space of functions defined on the unit square. BM defines an operator in the function space known as the map transfer operator. BM is an exactly solvable model of deterministic chaos. In this model, the eigenfunctions and eigenvalues of the transfer operator can be defined by researchers explicitly in the form of the following relations:

) f(2p, <?/2) if 0 <p <1/2 (P , <? )= I r2 _ 2„ 1

I (2p, q/2) II 0 Sp < 1/2

: I (2 - 2p, 1 - q/2) if 1/2 S p < 1.

BM is a reversible transformation. It is easy to show that the inverse transformation for the Baker map is performed according to the following relations:

(p'/2,2q') if 0 <p' <1/2

(pa) = ( ^ ) i

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

q) 1(1 — p'/2,2 - 2q') i

if 1/2 < p' <1.

The dynamics of transformations of the hidden message by the Baker's map is shown in Figure 4.

Fig. 2. Graphical representation of ACM

Fig. 4. Dynamics of hidden message transformations according to Baker's map up to 35 iterations

Intellectual Technologies on Transport. 2022. No 4

The coefficient of randomness

as a measure of disorder When performing chaotic transformations, a significant issue is searching for the optimal level of chaotic change of a hidden message. The authors suggest using the randomness coefficient Kh. for this purpose. The search task is reduced to determining the iteration number of the chaotic transformation of the hidden message at which Kh. reaches its maximum (the state of maximum randomness). That is:

K°hpt = max Kh

for i = 1,..., m,

where Kh. is the value of the randomness coefficient at iteration number i, m is the total number of iterations performed.

At each iteration of the chaotic transformation, the current value of Kh. is determined from the ratio:

Kh, =

K„

y

^pixel

where K„

the total number of successful environment

randomness checks is for all pixels of the hidden message image at iteration i, and Kpixei is the total number of pixels in the hidden message.

A check is considered successful for checking the randomness of the environment, as a result of which the condition is met for the pixel Bp being checked (located in the center of the environment):

Bp *

Tii=iBi

(1)

where Bi is pixel i from the environment, n is the number of pixels in the environment.

By checking condition (1), it is possible to determine whether the environment is homogeneous (ordered) or turbulent (chaotic).

The various forms of the environment (neighborhood) used by the authors in the experiment are shown in Figure 5.

square(15)

rectangledS, 10)

111 111 111

octagon(7, 4)

J

i 1

[ I

4

diamcnd[7}

vàk

Fig. 5. Neighborhood shapes used

Before performing the first iteration, the initial value The results of calculating the functions Kh. = f(i) and

Ksuccesst is calculated for the initial state of the hidden mes- e = f (i) for the ACM algorithm using the neighborhood

sage. Then, in each case of condition (1), the value of Ksuccess. disk(7) are shown in Figure 6. increases by 1.

1 N f V I > I 1

f I

O.S5

0.80

0.75 0.70

BP QÜ T

i

40 60

Iteration

Khi = /CO E = f (0

Fig. 6. The results of calculating the functions Kh. = f(i) and E = f (i)

Intellectual Technologies on Transport. 2022. No 4

The same functional dependencies for the BM algorithm have a similar appearance, and the author omits them. The maximum values of Kh. and E are 0.9873422728531308 and 3.349067973898346, respectively, for the hidden message in the form shown in Figure 3 for iteration 35. The hidden message in this iteration is indistinguishable from natural noise. The Pearson correlation coefficient for these dependencies is 0.9904321037457637.

Development of a software model for masking still

digital objects in this section, the authors present a prototype of a software model for implementing the masking process of digital still images on the way from the sender to the recipient using their discrete transformations.

In this model, it is advised to perform a preliminary conversion of the file into a form that resembles noise in many ways, which makes it possible to increase the system's security. In the event of a leak of a secret message, it will be possible to restore it only with the private key with which the image is converted initially.

Description of the software environment

The authors used the NetBeans IDE integrated development environment to implement the software model.

The NetBeans IDE project is supported and sponsored by oracle, but an independent community of enthusiastic developers (NetBeans Community) and NetBeans Org. develop NetBeans.

The latest versions of NetBeans IDE support refactoring, profiling, highlighting syntactic constructions with color, auto-completion of typed structures on the fly, and many predefined code templates.

The NetBeans IDE development environment allows you to develop applications in various programming languages. For example, Java, Python, PHP, JavaScript, C, C++, Ada, and several others.

To write the code of the software model, the authors used the Java programming language.

The general graphical interface of the development environment is shown in Figure 7.

.it Ap.irhp NctRc.ir •-, II : h 1. iïle ¿dit ifiew iiiiviyile Source Rsfctor jjuri iiebuy .Erefile learn loo's Jéflndow Help

tbsci* ■oc - a >-itÉ.-o■

Swrch (Orl 11) "

Project» X Files Services

^ CM

iH jfl Source Packages H <Uefdulti!dcfc4ue> h Bfi tcst-pnQ *■■ rwW-png

cat4,lingencryptdecrypt L main.)ivï i-M (.uri.mvLOfnpdity.tdt^nridl H-ffi rontrollfrc

■■ ¡CL MainControllfr.Java

¿Ç Iiridgenit.ei.jdVd Utils ,)iVè 2 ««vie.«

I— ^ EncrjfptDecrypt.java

MalnCon*.roller.Java - Navigator >: —

Memberi v |<eni|Ay>

B-MdlnCwiliLiller a

O Mflini lintrolliff m a in winrifHv malr Q Do(String type) Q Do_Max() : Siring

Q Do_decrvi*0

© Do_sa«() : boolean

r.hiywplnvagpO O setCount('".tr1ng count)

N : Integer SnUSPdlterri : SLriiiy

a rrminl ' t»rinn t__>

□ j a & m ¿s

-kve

Swrce

11 23

Q

g

IrridgeCho<»er.jd*s

la a

InwgçPttnel.^vd x ] dE OpetdlioriPdnel-jivd x Piogien...

MdiriCocitiuller.jdMd x Inw<jeFifter-t.iVd * EnuyiADeuyiA.idVd x û History I*

piitillr class MAlaController ■.

private CperationCanel par.*lj

private final Hair.Window c.d.nWindow;

privai« ImagePanel input!Rag©Panel*

private rinal rmagcPanel rcaultlragePaneli

public ButteredTmage i nputTrtage;

public Inteqernn inputMatrix,"

public integer vf

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

public Integer lu

private Integer Ms

private Strir.q ■¡maqe-Narae;

private final String snBSEattern = " . * [/YWV] • *" I public Opera Li ont'an el opexdliunPdr.eli public String count - "O"|

public MainController(HainWindou mainWindow, OperationPar.el aperatiorLEanel # ImagePanel inputlmaqeFanel, iraaç» this.nainwindow = mainWindcw; Lhis .-Jip J LllUd'.::. L'dHO 1 - inpliL ImdgfcjPdliel J tliis»rcsultTnagePar.el - rcsultlmagePancli

operationPanel. g et Brows eB lit ton().addActiorLictener<(ActionEvent e> > { this.choose-mage()i

m

outpul - Run<eat| x

Fig. 7. The general graphical interface of the development environment

Description of the programming language

Java is a strongly typed object-oriented programming language. Sun Microsystems Company developed it. Oracle company later absorbed sun Microsystems company.

Characteristic features of Java:

1. The language is easy to use, and it has fixed bugs from other languages. For example, pointers are not used.

2. Object-oriented language.

3. Steady language. Java programs are insured against many errors.

4. Safe language.

5. Network (distributed language).

6. Architecture-independent (platform-independent) language.

7. interpreted.

8. Portable.

9. High-performance.

10. Multithreaded.

11. Dynamic.

Structure of the developed software The structure of the developed software package is shown in Figure 8.

Fig. 8. The structure of the developed software package

Main.java is the main class, creates objects of auxiliary classes, and calls the corresponding methods.

MainController.java is a class that implements event handling for various user actions. It also developed methods for creating interface panels for the user. The main methods of the class are:

• chooselmage (): responsible for processing user actions when selecting an image. Also converts the source object into an array of bytes;

• Do(): The method calls the encrypt encryption function and displays the image on the panel after each iteration;

• Do_Max (): The method is started when the button is pressed, which starts the process of converting the image until it returns to its original state;

• Do_decrypt (): The method calls the decrypt encryption function and displays the image on the panel after each iteration;

• Do_save (): The method saves the converted image to the directory specified by the user.

ImageFilter.java class that checks the format of the selected image for conversion.

EncryptDecrypt.java - this is the main class implementing the discrete chaotic transformation algorithm. Main methods of the class:

• ACM(): the main method of this class, which implements an algorithm for masking images into noise;

• ACM_Max (): the method implements the processing of the event that the user initiates by clicking on the button to transform the image until it returns to its original state;

• Compare(): an auxiliary method for ACM_Max (), checks for compliance, after each iteration of the transformation, of the transformed object with the original image.

ReconstructImage.java is a class that implements methods for converting an image in png or jpeg format into an array of bytes.

Let us proceed to consider the block diagram of the program interface (see Figure 9).

The class is responsible for the main user window Main-Window.java. On top of the main window, windows are drawn on which the original image and the image after the transformation are displayed. The class is responsible for this panel ImagePanel.java. At the bottom of the window, there is

Fig. 9. Block diagram of the program interface

a toolbar with the main user functionality. The class is responsible for this panel OperationPanel.java.

The following built-in libraries were used during the development process (see Figure 10):

1. AWT (Abstract Window Toolkit) is a built-in library in Java for working with graphical objects, used to draw the user interface.

2. IO (input/output) is a built-in library in Java for organizing input/output streams, used to read an image file and draw it on the user panel.

3. Net is a built-in library in Java for organizing connections, used to load an image file from the file system into the program.

4. Util is a built-in library in Java for manipulating system components.

5. ImageIO is a built-in library in Java for loading and unloading graphic images to and from the buffer, used for intermediate saving of the converted image.

6. Swing is a built-in library in Java for working with the graphical shell.

The structure of the software being developed

To implement the simulation, an algorithm was developed that reflects the sequence of actions necessary to perform.

Selecting a steel digital object to mask into noise. In the software model, it is possible to use two image formats: PNG and JPEG.

PNG stands for Portable Network Graphics file and adheres to lossless compression.

Fig. 10. List of used libraries

Unlike JPEG, saving a digital file in PNG format does not reduce its quality. PNG format is proper when images have a transparent background (for example, a company logo).

They can be used as video overlays or when combining two or more images as layers.

The JPEG or JPG file format is a standard extension for digital images. JPEG files come from all digital cameras that you can use on different platforms. JPEG is the acronym of the Joint Photographic Expert Group — after the name of the developer organization.

When you take an image with the camera, at a minimum, you will get an image in JPEG format.

The advantage is that you can edit raw images repeatedly without losing quality.

JPEG image files are used for the immediate exchange of images.

Figure 11 shows a block diagram describing the logic of the software module at the stage of selecting the source image.

The first step of working with the software module is to select an object for conversion. The user has the option to choose between two image formats, png or jpeg. These actions take place through the user interface. After selecting an object, the program checks the image format. If it satisfies the condition, then the conversion object is passed to the Encrypt module.

private void choose Image() {

ImageChooser imageChooser = new ImageChooserQ;

File input Image File = imageChooser.getSelectedFile();

Figures 12 show a flowchart describing the operation of the ACM() method. This method masks the original image into noise.

private Integer[ ][ ] ACM(integer[ ][ ] matrix) {

Integer[ ] hasil = new Integer[2]; Integer[ ][ ] result = new Integer[N(|[N(|; int number;

Fig. 11. The image reading

number = 1;

for (int i = 0; i < number; i++) { for (int a = 0; a < N; a++) { for (int b = 0; b < N; b++) { hasil[0] = (1*a + 1*b) % N;

hasil[1] = (1*a + 2*b) % N; result[a][b] = matrix[hasil[0]][hasil[1]];

Figure 13 shows the output of the converted image to the user interface.

Fig. 12. A loop that transforms the original image into a matrix

for (int i = 0; i < result Image.getWidthO; i++) { for (int j = 0; j < resultImage.getHeight(); j++) { resultImage.setRGB(i, j, result[i][j]);

this.result Image Panel.setlmage(resultlmage);

Fig. 13. Output of the resulting image to the panel

Screenshots of the software package Figure 14 shows the user interface of the developed software package. After launching the program, the user gets to the main application window.

Next, click Browse. After clicking on this button, the event handler will display a menu window on the main panel. The user will be prompted to select a transformation object from the file system of the personal computer see Figure 15.

Fig. 24. Programming interface of the initial user window

Fig. 35. Image selection

Suppose that the user has selected the image shown in Figure 16. The selected image will be displayed on the left side of the user main panel.

There is a toolbar at the bottom of the window. This panel prompts the user to perform the following actions.

An empty field for entering the number of iterations — after entering a number in this field that will indicate the number of iterations, the program will start converting the image and display the result in the right part of the panel.

Arrows pointing to the right and left — after clicking on these toolbar elements, one iteration of the image transformation will be performed.

Figure 17 shows the state of the image panel after the 114 iterations. In the right part of the panel, the drawing has turned into almost natural noise.

In Figure 18, the user re-entered the number of iterations 114 in the input field, and the result of the program is displayed in the right part of the panel. It should be noted that after 228 iterations, this image takes its original form. Thus, the transformation process is reversible.

Image Encrypt Decrypt

Browse _ < karate unlil original image reappears 0 Save

Fig. 46. The original image

Image Encrypt Decrypt

| Browse | [l14| ~| [ < | [ > | [ Itarate until original image reappears | 228 | Save ~j

Fig. 57. The state of the image panel after the 114 iteration

Image Encrypt Decrypt

' 5 ^ — ^ \ ^^ÊM v ¿^Ê ^ÊÊ B I^Hi V i 1 jft ^ \>M i khwt 5 1

I tar ate until original image reappears | 228 | Save |

Fig. 68. The state of the image panel after the 228 iterations

Conclusion

Thus, in this article, the authors have considered and solved the problem of optimal masking of a hidden message under natural noise in the communication channel. Two discrete chaotic transformations of ACM and VM are investigated to do it. As a measure of randomness, it is proposed to use the randomness coefficient, which is easily calculated and is comparable to entropy. The task of optimizing the masking of a hidden message, thus, is reduced to finding an iteration at which the randomness coefficient takes the maximum value. The final result of the author's work is the development of a software package for discrete transformations of hidden messages represented by still images to a form indistinguishable from natural noise. The software package developed by the authors is carefully illustrated with screenshots.

References

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Benguigui L. The Different Paths to Entropy, European Journal of Physics, 2013, Vol. 34, No. 2, Pp. 303-321.

DOI: 10.1088/0143-0807/34/2/303.

2. Peng H., Long F., Ding C. Feature Selection Based on Mutual Information: Criteria of Max-Dependency, Max-Relevance, and Min-Redundancy, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, Vol. 27, Is. 8, Pp. 1226-1238. DOI: 10.1109/TPAMI.2005.159.

3. Pál D., Póczos B., Szepesvári C. Estimation of Rényi Entropy and Mutual Information Based on Generalized Nearest-Neighbor Graphs, Advances in Neural Information Processing Systems 23 (NIPS 2010): Proceedings of the 24th Annual Conference on Neural Information Processing Systems, Vancouver, Canada, December 06-09, 2010. New York, Curran Associates Inc., 2019, Pp. 1849-1857.

4. Archer E. W., Park I. M., Pillow J. W. Bayesian Entropy Estimation for Countable Discrete Distributions, The Journal of Machine Learning Research, 2014, Vol. 15, Pp. 2833-2868.

5. Hall P., Morton S. C. On the Estimation of Entropy, Annals of the Institute of Statistical Mathematics, 1993, Vol. 45, No. 1, Pp. 69-88. DOI: 10.1007/BF00773669.

6. Miller E. G. A New Class of Entropy Estimators for Multi-Dimensional Densities, Proceedings of the 28th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP '03), Hong Kong, China, April 06-10, 2003, Vol. 3. IEEE, 2003, Pp. 297-300.

DOI: 10.1109/ICASSP.2003.1199463.

7. Sricharan K., Wei D. Hero III A. O. Ensemble Estimators for Multivariate Entropy Estimation, IEEE Transactions on Information Theory, 2013, Vol. 59, Is. 7, Pp. 4374-4388. DOI: 10.1109/TIT.2013.2251456.

Б01: 10.24412/2413-2527-2022-432-52-63

Русскоязычная версия статьи © В. Н. Кустов, А. И. Грохотов, Е. В. Головков опубликована в журнале «Интеллектуальные технологии на транспорте». 2022. № 1 (29). С. 45-57. Б01: 10.24412/2413-2527-2022-129-45-57.

Программная модель маскировки скрытого сообщения в задачах стеганографии

д.т.н. В. Н. Кустов, А. И. Грохотов, Е. В. Головков Петербургский государственный университет путей сообщения Императора Александра I

Санкт-Петербург, Россия kvnvika@mail.ru, grohotov.aleksei@mail.ru, jyk22@mail.ru

Аннотация. Рассматривается проблема разработки программной модели маскировки скрытого сообщения в стего-системах HUGO в условиях естественного шума в канале связи с использованием дискретной хаотической карты кота Арнольда и карты Бейкера, которые являются итеративными обратимыми дискретными хаотическими преобразованиями. Подробно рассмотрены все этапы разработки программной модели, такие как выбор среды разработки, состав программных модулей и их назначение, скриншоты графических интерфейсов для различных режимов работы модели. В программной модели для оценки хаотического состояния скрытого сообщения, представленного цифровым неподвижным изображением, введен коэффициент хаотичности — числовой показатель энтропии вероятности неупорядоченных пикселей. В разработанной программной модели предложен метод определения максимального значения коэффициента хаотичности, соответствующего максимальному хаотическому состоянию скрытого изображения. Тестирование программной модели показывает практическую неотличимость преобразованного скрытого сообщения от естественного шума в канале связи и значительно повышает безопасность стегосистем HUGO.

Ключевые слова: программная модель, стегосистема HUGO, карта кота Арнольда, карта Бейкера, коэффициент корреляции Пирсона, естественный шум, коэффициент хаотичности, хаотические карты, стеганология.

Литература

1. Benguigui, L. The Different Paths to Entropy // European Journal of Physics. 2013. Vol. 34, No. 2. Pp. 303-321. DOI: 10.1088/0143-0807/34/2/303.

2. Peng, H. Feature Selection Based on Mutual Information: Criteria of Max-Dependency, Max-Relevance, and Min-Redundancy / H. Peng, F. Long, C. Ding // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2005. Vol. 27, Is. 8. Pp. 1226-1238.

DOI: 10.1109/TPAMI.2005.159.

3. Pal, D. Estimation of Rényi Entropy and Mutual Information Based on Generalized Nearest-Neighbor Graphs / D. Pal, B. Poczos, C. Szepesvari //Advances in Neural Information Processing Systems 23 (NIPS 2010): Proceedings of the 24th Annual Conference on Neural Information Processing Systems (Vancouver, Canada, 06-09 December 2010). — New York: Curran Associates Inc., 2019. — Pp. 1849-1857.

4. Archer, E. W. Bayesian Entropy Estimation for Countable Discrete Distributions / E. W. Archer, I. M. Park, J. W. Pillow // The Journal of Machine Learning Research. 2014. Vol. 15. Pp. 2833-2868.

5. Hall, P. On the Estimation of Entropy / P. Hall, S. C. Morton // Annals of the Institute of Statistical Mathematics. 1993. Vol. 45, No. 1. Pp. 69-88. DOI: 10.1007/BF00773669.

6. Miller, E. G. A New Class of Entropy Estimators for Multi-Dimensional Densities // Proceedings of the 28th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP '03), (Hong Kong, China, 06-10 April 2003). — Vol. 3. — IEEE, 2003. — Pp. 297-300.

DOI: 10.1109/ICASSP.2003.1199463.

7. Sricharan, K. Ensemble Estimators for Multivariate Entropy Estimation / K. Sricharan, D. Wei, A. O. Hero III // IEEE Transactions on Information Theory. 2013. Vol. 59, Is. 7. Pp. 4374-4388. DOI: 10.1109/TIT.2013.2251456.

i Надоели баннеры? Вы всегда можете отключить рекламу.