Keywords

1 Introduction

In the modern competitive world, the significance and price of information are steadily growing up. Hence, the information is often encrypted when transmitted by various ways from a transmitter to a receiver in order to prevent it from unauthorized access. The latter necessity strongly ushers one to the use of cryptographic techniques within information systems, the most popular of which are the Data Encryption Standard (DES) [1], Advanced Encryption Standard (AES) [2], and the Rivest-Shamir-Adleman (RSA) cryptosystem [3]. However, the new super-computers and the technologies of network and neural computing that have appeared in the 2000th, conduct to the reevaluation of the previous cryptographic systems that had been thought to be highly reliable. Because of that, the development of new principles for the generation of new cryptosystems is very reasonable.

At present, the majority of cryptosystems exploit integer numbers for their keys. Moreover, the longer the key, the more hacking-proof is the cryptosystem because it becomes more difficult to fit the key by solving an appropriate factorization problem. The shift from integers to reals, or even more, to real functions makes the task of code breaking (hacking) much more complicated, which promises to enhance the cryptosystem’s reliability (resistance property).

In this paper, we study such a new tool for classifying and declassifying both an analog signal and a signal in the form of a sequence of symbols from the specified alphabet [5]. Such a cryptosystem is built with the use of derivative disproportion functions (DDF) [5, 6]. The input symbols are encrypted by the sum of real functions (keys) weighted with randomly selected coefficients. Owing to the derivative disproportion functions, one has a possibility of recognizing which functions had been involved to encrypt the signal. The latter permits the receiver to decode the encrypted symbols even though the randomly selected weights of the key functions are unknown. The latter fact allows the considered topic to fit well into the area of solving problems under uncertainty.

Moreover, the derivative disproportion functions (DDF) are accepted in a steadily growing list of areas of applications under uncertainty, such as the identification of quasi-stationary dynamic objects [7, 8], and pattern recognition [9].

The rest of the paper is organized as follows. Sections 2 and 3 introduce the derivative disproportion functions (DDF) thus specifying the problem. The decoding algorithm is presented in Sect. 4, while Sect. 5 considers numerical examples and the results of numerical experiments. Sections 6 and 7 argue the proposed cryptosystem’s robustness and the requirements to the disproportion key functions, respectively. The paper is finished with the conclusions (Sect. 8) and the list of references.

2 Derivative Disproportion Functions (DDF)

The brand-new ways of classifying information can be generated with the use of derivative disproportion functions (DDF). Disproportion functions related to the derivatives and to the values were developed and examined by the authors in the previous publications [5, 6].

The derivative disproportion functions (DDF) are exercised in order to identify (label, tag) relevant real functions. The DDFs permit to quantitatively estimate the degree of a deviation of a numerical function from the specified functions (like, e.g., power function \( y = k \cdot x^{n} \)) for any fixed value of the argument, regardless of the associated parameters (like, for example, multiplier k for the power function). Here, \( n \ge 1 \) is an integer.

Definition 1.

The derivative disproportion function (DDF) of order n of the function \( y = y\left( x \right) \) with respect to x (\( x \ne 0 \)) is defined as follows:

$$ @d_{x}^{\left( n \right)} y = \frac{y}{{x^{n} }} - \frac{1}{n!} \cdot \frac{{d^{n} y}}{{dx^{n} }} . $$
(1)

In the particular case of \( n = 1 \) (order 1), Eq. (1) of the derivative disproportion is easily reduced to:

$$ @d_{x}^{\left( 1 \right)} y = \frac{y}{x} - \frac{dy}{dx} . $$
(2)

As one could expect, for the linear function \( y = kx \), its DDF of order 1 is zero for any value of the coefficient k. The symbol @ is chosen to designate the operation of determination of disproportion. The symbol “d” is selected to refer to the function’s derivative as the main object of disproportion calculated. Finally, the left-hand side of Eq. (2) reads “at d one y with respect to x”.

If a function is reported in a parametric form, the n-th order derivative disproportion function (DDF) defined by Eq. (1) is determined by applying the rules of calculation of \( {{d^{n} y} \mathord{\left/ {\vphantom {{d^{n} y} {dx^{n} }}} \right. \kern-0pt} {dx^{n} }} \) under the parametric dependence of y on x. In particular, the first-order derivative disproportion of the function defined parametrically as \( y = \psi \left( t \right) \) and \( x = \varphi \left( t \right) \) (where t is the parameter and \( \varphi \left( t \right) \ne 0,\,\varphi '\left( t \right) \ne 0 \) for all t) has the form

$$ @d_{x}^{\left( 1 \right)} y = @d_{\varphi \left( t \right)}^{\left( 1 \right)} \psi \left( t \right) = \frac{y}{x} - \frac{{y'_{t} }}{{x'_{t} }} = \frac{\psi \left( t \right)}{\varphi \left( t \right)} - \frac{\psi '\left( t \right)}{\varphi '\left( t \right)}. $$
(3)

It is clear that if \( \psi \left( t \right) = k\varphi \left( t \right) \) for some constant k, its derivative disproportion defined by Eq. (3) equals zero on the (shared) domain of the functions \( y = \psi \left( t \right) \) and \( x = \varphi \left( t \right) \).

Lemma 1.

Each derivative disproportion function (DDF) of order n has the following properties:

  1. 1.

    Multiplying the function y by any scalar m results in multiplying its DDF by the same scalar.

  2. 2.

    The order n derivative disproportion function (DDF) of a sum (difference) of functions equals the sum (difference) of their DDFs.

  3. 3.

    For the linear function \( y = kx \), its derivative disproportion of order 1 is zero for any value of the coefficient k.

Proof.

It is readily verified by simple algebraic manipulations with the use of Definition 1.

Remark 1.

In other words, the operator \( @d_{x}^{\left( n \right)} \) defined on the space \( C^{n} \left( \varOmega \right) \) of n times continuously differentiable real functions is linear on this space.

3 The Problem’s Statement

Examine a communication system (channel) transmitting symbols (signals) encoded with a cryptosystem \( \mathcal{K} \) based on the key functions \( f_{i} = f_{i} \left( t \right), \) each defined on a (time) interval \( t \in \left[ {0,T_{i} } \right],T_{i} > 0,i = 1, \ldots ,m \). The functions are assumed to be smooth and n times (continuously) differentiable. A symbol transmitted at the time moment t is encrypted with the sum of (at least two) key functions with possible time delays (shifts) \( \tau_{i} \in \left[ {0,T_{i} } \right],i = 1, \ldots ,m. \)

For example, if the transmitted symbol is encrypted by the (weighted) sum of two key functions \( f_{p} {\text{ and }}f_{q} ,1 \le p,q \le m, \) the signal transmitted through the communication channel has been encoded as

$$ y\left( t \right) = k_{p} f_{p} \left( {t + \tau_{p} } \right) + k_{q} f_{q} \left( {t + \tau_{q} } \right),k_{p} > 0,k_{q} > 0. $$
(4)

We assume that an invader (intruder, hacker, etc.) who may have found unauthorized access to the channel is not aware of either the key functions \( f_{i} \) or their time delays (shifts) \( \tau_{i} \), or the coefficients \( k_{i} , \, i = p,q. \)

On the receiver’s side of the communication system (channel), the complete list of key functions and their delays is known, but which of them (and with what weights) are involved in the received signal coded as in Eq. (4) is to be yet detected. The identification of these functions and their weights in Eq. (4) allows one to work out the received symbol \( y\left( t \right) \).

The problem of identifying both the key functions and their weights in Eq. (4) is solved by the algorithm presented in the next section.

4 The Algorithm’s Description

The problem in question is by no means easy to solve because the key functions and their weights can be detected only approximately (uncertainty environment). The received message \( y\left( t \right) \) is unfolded in time, so the exact or approximate derivatives of this function are necessary. When one works with discrete data, e.g., \( y\left( t \right) = \left( {y\left( {t_{0} } \right),y\left( {t_{1} } \right), \ldots ,y\left( {t_{N - 1} } \right)} \right)^{T} \), then the desired approximate “derivative” of the (discrete) function \( y\left( t \right) \) is estimated by a special approximation method, similar to that by Gregory-Newton (cf., [4]).

The initial first version of our algorithm is technically quite burdensome, and due to the space restriction, we present here its description only for \( m = 3 \) (the complete version can be found in [6] and other publications of the authors).

The main idea of the general algorithm is as follows: if the key functions’ delays (shifts) \( \tau_{i} ,i = 1 \ldots ,m \), are known, we may represent the received message \( y\left( t \right) \) as the sum of all key functions with (yet unknown) weights \( k_{i} \):

$$ y\left( t \right) = \sum\limits_{i = 1}^{m} {k_{i} f_{i} } \left( {t + \tau_{i} } \right) . $$
(5)

Next, we have to identify these weights at the present moment t. The coefficients will be equal to zero for those functions that are not really involved in the encoded signal Eq. (5).

As we mentioned above, the algorithm will be described only for the case \( m = 3 \). In general, the algorithm consists of m steps (that is, 3 in our case).

Step 1. Select randomly one of the key functions, for instance, the first one \( f_{1} = f_{1} \left( {t + \tau_{1} } \right) \). By making use of Eq. (3), estimate the derivative disproportion function (DDF) value for the signal \( y\left( t \right) \) and denote it as \( F_{01} \left( t \right): = @d_{{f_{1} }}^{\left( 1 \right)} y\left( t \right) \). Besides, the DDF values F21(t) and F31(t) are calculated for the key functions \( f_{2} \left( {t + \tau_{2} } \right) \) and \( f_{3} \left( {t + \tau_{3} } \right) \) with respect to \( f_{1} \left( {t + \tau_{1} } \right) \). Owing to the linearity of operator @ on the space \( C^{n} \left( \varOmega \right) \) (see, Remark 1), Eq. (5) yields (for \( m = 3 \)):

$$ \begin{aligned} F_{01} \left( t \right) \equiv & @d_{{f_{1} }}^{\left( 1 \right)} y\left( t \right) = \frac{y\left( t \right)}{{f_{1} \left( {t + \tau_{1} } \right)}} - \frac{y'\left( t \right)}{{f'_{1} \left( {t + \tau_{1} } \right)}} = k_{1} \cdot 0 + k_{2} \left[ {\frac{{f_{2} \left( {t + \tau_{2} } \right)}}{{f_{1} \left( {t + \tau_{1} } \right)}} - \frac{{f'_{2} \left( {t + \tau_{2} } \right)}}{{f'_{1} \left( {t + \tau_{1} } \right)}}} \right] \\ & + k_{3} \left[ {\frac{{f_{3} \left( {t + \tau_{2} } \right)}}{{f_{1} \left( {t + \tau_{1} } \right)}} - \frac{{f'_{3} \left( {t + \tau_{2} } \right)}}{{f'_{1} \left( {t + \tau_{1} } \right)}}} \right] = k_{2} @d_{{f_{1} }}^{\left( 1 \right)} f_{2} \left( {t + \tau_{2} } \right) + k_{3} @d_{{f_{1} }}^{\left( 1 \right)} f_{3} \left( {t + \tau_{2} } \right) \\ & \equiv k_{2} F_{21} \left( t \right) + k_{3} F_{31} \left( t \right). \\ \end{aligned} $$
(6)

Here, the first term on the right-hand side of the upper line of Eq. (6) is zero due to Assertion 3 of Lemma 1.

Step 2. Again, pick up randomly one of the remaining DDFs F21(t) and F31(t); let it be, for instance, F21(t). Now, we calculate the derivative disproportions of the functions F01(t) and F31(t) with respect to F21(t); denote them as F0121(t) and F3121(t), respectively.

Applying the operator of the derivative disproportion of order 1 to both sides of Eq. (6), then making use of its linearity and Assertion 3 of Lemma 1, one easily comes to the equalities

$$ F_{0121} \left( t \right) \equiv \frac{{F_{01} \left( t \right)}}{{F_{21} \left( t \right)}} - \frac{{F'_{01} \left( t \right)}}{{F'_{21} \left( t \right)}} = k_{2} \cdot 0 + k_{3} \left[ {\frac{{F_{31} \left( t \right)}}{{F_{21} \left( t \right)}} - \frac{{F'_{31} \left( t \right)}}{{F'_{21} \left( t \right)}}} \right] \equiv k_{3} F_{3121} \left( t \right). $$
(7)

Step 3. The relationship given by Eq. (7) shows the linear dependence of the function F0121 on the function F3121. Again, on the ground of Assertion 3 of Lemma 1, we conclude that the DDF F01213121(t) of the function F0121 with respect to F3121 is zero for all feasible t:

$$ F_{01213121} \left( t \right) \equiv @d_{{F_{3121} }}^{\left( 1 \right)} F_{0121} \left( t \right) = \frac{{F_{0121} \left( t \right)}}{{F_{3121} \left( t \right)}} - \frac{{F'_{0121} \left( t \right)}}{{F'_{3121} \left( t \right)}} = k_{3} - k_{3} = 0. $$

Now, one can use relationships of Eqs. (6) and (7) in the converse order and compute the desired values of the weights \( k_{i} \). Indeed, first from Eq. (7), one readily obtains

$$ k_{3} = \frac{{F_{0121} }}{{F_{3121} }}; $$
(8)

the latter, in its turn, combined with Eq. (6) implies:

$$ k_{2} = \frac{{F_{01} - k_{3} F_{31} }}{{F_{21} }}. $$
(9)

Finally, by substituting the just found weights \( k_{2} \) and \( k_{3} \) in Eq. (5), one deduces the value of \( k_{1} \):

$$ k_{1} = \frac{{y\left( t \right) - k_{2} f_{2} \left( {t + \tau_{2} } \right) - k_{3} f_{3} \left( {t + \tau_{3} } \right)}}{{f_{1} \left( {t + \tau_{1} } \right)}}. $$
(10)

The algorithm stops after having decoded the received message \( y\left( t \right) \) by having identified the (unknown) weights associated with the participating key functions. All the weights related to the idle (non-participating) key functions are zero.

Remark 2.

As one can smoothly infer, the explicit list of basic key functions and their possible delay (shift) values \( \tau_{i} \) is indispensable for the implementation of this simplified version of the decoding algorithm. The more sophisticated procedures that may be needed to decipher the received message in the lack of such important information, that is, under more profound uncertainty, are described in [6].

5 Numerical Examples and Experiments

In order to illustrate the cryptosystem’s operation, let us consider the binary coding in the form of an arbitrary sequence of symbols “0”, “1”, space “_”, and a transition to the new line (paragraph return) “\”. For this model, only three real key functions are employed. The symbols being transmitted are encoded by the (weighted) sum of at least two of these functions multiplied by random factors (weights). The time delays (shifts) of the standard functions with respect to the current time t are assumed to be zero. The communication system (TV or radio channel) can transmit only binary code symbols. Therefore, if there appears any other symbol apart from those listed above, it is perceived as a paragraph return.

To develop the numerical methods calculating the approximate derivatives, it is necessary to control the signal y(t) within the interval containing at least 10 (discrete) points of the time variable t. In fact, the number of points in this interval may vary (the greater this number of points, the higher the cryptosystem’s stability (resistance)), but in our case, it is selected constant and equals 75 (cf., again, [4]).

In order to simulate the operations of the cryptosystem, the following three functions are employed as key functions:

$$ \begin{array}{*{20}l} {f_{1} \left( t \right) = 100\,sin\left( {\left( {\alpha_{1} - \beta_{1} } \right)t} \right)\,cos\left( {15\beta_{1} t} \right);} \hfill \\ {f_{2} \left( t \right) = 100\,exp\left( { - 0.1\alpha_{2} t} \right)\,sin\left( {10\beta_{2} t} \right)\,cos\left( {\left( {\alpha_{2} + \beta_{2} } \right)t} \right);} \hfill \\ {f_{3} \left( t \right) = 100\,exp\left( { - 0.1\alpha_{3} t} \right)\,sin\left( {400\beta_{3} t} \right),} \hfill \\ \end{array} $$

where \( \alpha_{1} \) = 1; \( \alpha_{2} \) = 0.12; \( \alpha_{3} \) = 0.5; \( \beta_{1} \) = 0.1; \( \beta_{2} \) = 1.2; \( \beta_{3} \) = 0.7.

The weights k1, k2, and k3, with which the key functions encode the signal y(t) by Eq. (5) before its transmission, have been selected randomly by making use of a pseudo-random generator with the uniform distribution from zero to 10 (for each symbol). However, only when encoding a symbol ‘1’, y(t) includes the entire (weighted) sum of all three key functions and therefore, their coefficients k1, k2, and k3 are not equal to zero. When encrypting ‘0’, we put \( k_{1} = 0 \), and while encoding a space, we set \( k_{3} = 0 \). Finally, if another symbol or the paragraph return is encoded, then \( k_{2} = 0 \).

At any given time moment, the receiver tries to identify the involved key functions and calculate the unknown weights (coefficients) \( k_{i} , \, i = 1,2,3 \), by making use of the formulas from Eqs. (8)–(10). Thereafter, the received message is decoded.

When an arbitrary text is encrypted with the application of derivative disproportion functions, it is always recommended to introduce at least two random letters before the transmission of the binary code.

Figures 1, 2, and 3 show the diagrams of the signal y(t) transmitted via the communication channel. Various examples of the cryptosystem operation when the same symbols are transmitted, as well as when the binary symbols are alternated, were treated.

Fig. 1.
figure 1

The signal corresponding to the serial transmission of four symbols ‘0’.

Fig. 2.
figure 2

The signal corresponding to the serial transmission of four symbols ‘1’.

Fig. 3.
figure 3

The signal corresponding to the serial transmission of ASCII- codes of symbols A, B, C, D, O.

Besides, the case when ASCII- codes of symbols A, B, C, D, O are transmitted, was tested. The corresponding codes were as follows:

  • 01000001 01000010 01000011

  • 01000100 01001111.

The cryptosystem’s operation can be illustrated by the last (third) example. The following message was encrypted:

  • 01000001 01000010 01000011

  • 01000100

  • 01001111

The following message was obtained after decoding:

  • 01000001 01000010 01000011

  • 01000100

  • 01001111

According to the operational algorithm, each of the letters led to the appropriate paragraph return.

In all cases, the received message was deciphered exactly as what was transmitted. At the same time, as it can be seen from the figures, it is quite difficult to reveal a message born by the transmitted signal through the communication channel unless the decoding algorithm is applied.

6 Robustness of the Cryptosystem

The cryptosystem’s robustness (stability) depends on the choice of the key functions as well as on their total number. The more components are involved in the signal, the more difficult becomes the task of deciphering (in case it’s been intercepted as a result of a hacker attack). Obviously, it is necessary not only to identify the type and the number of key functions but also to fit the weights involved.

How difficult it is to fit their values can be judged from the fact that in the given example, it suffices to apply \( sin\,\left( {9.9999\,\beta_{2} t} \right) \) instead of the present \( sin\,\left( {10\,\beta_{2} t} \right) \) in f2(t), or to select 400.0001 instead of the current 400 in f3(t), so that the code word consisting of four consecutive 0’s is “decoded” as four 1’s. This simple example confirms that any attempts on part of a hacker to “guess” the coded word by an exhaustive search for the coefficients (weight) even after having detected the key functions used, is almost always doomed to fail.

Another instance: the replacement of \( \alpha_{1} = 1 \) with \( \alpha_{1} = 0.99 \) in f1(t) has resulted in the distorted reception of the sole line 11000000011010000001101000000000000100000000000 without breaks in contrast to the three-line original message boasting with spaces as well.

The cited examples show that it is quite difficult just to fit the weights by a simple guess, to say nothing about the necessity to determine the number of functions and to fit their types.

It should be also noted that the same symbol is encoded differently depending on its position (location). Besides, one should pay attention to the fact that in this case, the frequency analysis cannot be applied for unauthorized access and decoding.

All the above-mentioned facts show that the cryptosystems based on the (weighted) sum of real key functions are sufficiently resistant to hacking (cryptographically secure).

7 Requirements for the Key Functions

  1. 1.

    Each (one real variable) key function has to be real-valued and sufficiently smooth (n times continuously differentiable).

  2. 2.

    The key function and its derivatives up to order n must not be constant.

  3. 3.

    The key functions should not asymptotically approach a constant value within its domain (e.g., like the function \( x^{ - \alpha } \), \( \alpha > 0 \), for the large values of x).

4. The collection of key functions must be selected so that to exclude the possibility that the value of one function at some point be negligible (too small by its absolute values) as compared to the values of other functions at the same point; that is, every function has to make a quite significant “contribution” to the (weighted) sum of all key functions.

5. The key functions cannot be identical.

8 Concluding Remarks

We develop a cryptosystem where (one-variable) real functions are used as the keys. An example is presented to illustrate the operation of such a system where symbols are encrypted by the (weighted) sum of the key functions with random coefficients. The decoding is conducted with the aid of the first order derivative disproportion functions (DDF) calculated for the received signal and the key functions.

For a practical application of such cryptosystems, one should bear in mind that in the process of computing the weights during deciphering, a division by small numbers, or a ratio of two numbers both close to zero may happen. This can lead to certain information distortion. Therefore, the encrypted message must be decoded before it is transmitted via a communication channel. If necessary, the message should be encrypted once again with other coefficients (weights) generated randomly for every key function.