Download I.V Kurzheevskij, senior lecturer, A.V. Filimonova a student of the

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

History of mathematical notation wikipedia , lookup

Turing's proof wikipedia , lookup

Arithmetic wikipedia , lookup

Proofs of Fermat's little theorem wikipedia , lookup

Elementary mathematics wikipedia , lookup

Line (geometry) wikipedia , lookup

Transcript
I.V Kurzheevskij, senior lecturer,
A.V. Filimonova a student of the Faculty of radio engineering and information security ".
Naval Academy named after P.S. Nakhimov
Dybenko str. 1A, Sevastopol, 99028
[email protected]
THE ALGORITHM OF STOCHASTIC ENCIRYPTION WITH THE USE OF
ABELIAN GROUP OF POINTS OF ELLIPTIC CURVE
In this research we study the algorithm of stochastic encryption with the use of abelian group
of points of elliptic curve. The distinctive feature of this algorithm is the following: firstly,
generation of new alphabet for every communication session, where every symbol of alphabet
corresponds to the coordinates of a point on the EC. Secondly, addition of the initial text with the
accidently generated symbols and their stochastic randomization with the help of pseudorandom
sequence generator (PSG). Thirdly, stochastic replacement of each symbol, that is encrypted with
the use of random parameter. Lib 7.
Introduction
Now days, cryptosystem based on the elliptic curve (EC) have wide application in the sphere
of protection of the information from the unauthorized access, particularly, Russian Digital
Signature Standard 34.10-2001 and Ukraine Digital Signature Standard 4145-2002[1] are based on
the usage of EC. EC above the finite fields are the source of abelian groups, which are convenient
for calculations, and encrypting systems built on their base have high ability for the encryption [14, 7].
Tasking
It is necessary to develop the algorithm of stochastic encryption on EC, using the stochastic
random methods. The stochastic methods are the methods of the security, which are directly or
indirectly based on PSG, and the efficiency of the security depends on the qualities of the PSG. As
generators PSG it is reasonable to use combining generators in which as function of complication
bulevy bent-functions are used which have resistance to the methods of linear and differential
cryptoanalysis. For each communication session in order to increase the level of protection against
an unofficial access to generate a new alphabet in which to every symbol of the alphabet there
correspond coordinates of a point on an EC. The blocks of the initial text which are the subject of
protection against unauthorized access, should be supplemented with random generated and
stochastically mixed with PSG [5-6]. Adultaratation of random data to the ciphered message will
allow to set stochastic nature to the operation of transformation and to increase calculating
durability of the cryptosystem [5-6]. It is reasonable to apply the method of stochastic replacement
of symbols, to realize which, the alphabet is previously written in two-dimensional array, and then
it is stochastically mixed at the expense of cyclical shifts of lines and columns of this massive,
under the control of the PSG. It is necessary to apply a random meaning of the parameter k for the
encryption of each symbol of the replacement. The offered above cryptographic transformations
should increase the calculating durability of algorithm of encryption on EC.
The main material of research
The EC—is mathematical object [2-4, 7] which can defined over any field and is described by a
cubic equation of a look (1). The form of this cubic equation is called as Weierstrass, containing
single infinitely far point which is the point of the bend and the infinitely far straight line, which is
the tangent to this point look [3].
𝑦 2 + 𝑐 ∗ 𝑥 ∗ 𝑦 + 𝑑 ∗ 𝑦 = 𝑥 3 + 𝑒 ∗ 𝑥 2 + 𝑓 ∗ 𝑥 + 𝑔,
(1)
where c, d, e, f and g are the real numbers, satisfying some conditions. If the characteristic of a field
differs from 2 and 3, then the equation (1) can be transformed to the (2)[3] .
𝑦2 = 𝑥3 + 𝑎 ∗ 𝑥 + 𝑏
(2)
To find cross points with an abscissa axis it is necessary to solve a cubic equation (2) by means of
Kardano`s formula.
𝑥3 + 𝑎 ∗ 𝑥 + 𝑏 = 0
(3)
The discriminate of this equation looks like:
𝑎 3
𝑏 2
𝐷 = ( 3 ) + (2 )
(4)
If D<0, the equation has different actual roots α, β, γ (drawing 1).
If D=0, the equation has three actual roots, we will assume α, β, β, than at least, two of them are
equal (drawing 2).
If D>0, then the equation has one actual root α and two complex the conjugate (drawing 3).
Drawing 1 D<0
Drawing 2 D=0
Drawing 3 D>0
From the practical point of view it is necessary to know the quantity of points on EC and
whether points form the abelian group. The following two theorems give the answer to these
questions [2, 3].
Theorem 1. Set E (F) - is a set of EC points together with a point in infinity 0 and the addition
time is the abelian group.
Theorem 2. (Hasse). N order (quantity of points) on EC above the field GF (q) meets the
inequality |𝑁 − 𝑞 − 1| ≤ 2 ∗ √𝑞 [2, 3].
The points of the EC can be added. Let E be the EC above the field of real numbers, and P
and Q are two points on E. Let's define the points - P and P+Q according to the rules given below
[2-4, 7].
Rule 1. If P is a point in infinity O then -P=O and P+Q=Q, i.e. O-«null element»,
corresponding to a point in infinity. In the following rule it is supposed that neither P, nor Q aren't
points in infinity.
Rule 2. Let coordinates of a point P(x, y) and -P have identical coordinates X and their y
coordinates differ only with a sign, that is -(x, y)=(x-y) [2-4, 7].
Rule 3. If R and Q have different coordinates, then the straight line L has one more point of
intersection R with E except two cases: when the straight line L is a tangent in the point P, then we
believe R=P or a tangent in Q, in this case R=Q. We determine now the of P + by Q as R point [24, 7].
The addition of points of an EC is the equivalent to the multiplication of points for not the
elliptic cryptography [2-4]. The sum of two points, as well lies on an EC. Mathematical quality
which makes EC useful for cryptography is the following: if we take two different points on the
curve, then the chord connecting them will cross the curve in the third point R because we have a
cubic curve (drawing 4). Having mirrored this point concerning the axis X we will receive one more
point on a curve as the curve is symmetric concerning an axis X. If we designate two initial points
as P and Q, we will receive the last “reflected” point R=P+Q (drawing 4). This addition satisfies
with all known algebraic rules for integers. Let’s consider the algorithm of addition of the group of
points of an EC. Let us suppose, that P = (𝑋𝑃 , 𝑌𝑃 ) , 𝑃 ≠ 0 and 𝑄 = (𝑋𝑄 , 𝑌𝑄 ) , 𝑄 ≠ 0— two points
of an EC. The sum of these points R=P+Q calculated according to the following rule:
If Q=−P, then R=0. If ≠ −𝑃 , then coordinates of the point 𝑅(𝑋𝑅 , 𝑌𝑅 ) are calculated [2-4]
with the help of the formulas (5-8):
𝑋𝑅 = 𝛼 2 − 𝑋𝑃 − 𝑋𝑄 (𝑚𝑜𝑑 𝑝),
(5)
𝑌𝑅 = 𝛼 ∗ (𝑋𝑃 − 𝑋𝑅 ) − 𝑌𝑃 (𝑚𝑜𝑑 𝑝),
If 𝑃 ≠ 𝑄, 𝑡ℎ𝑒𝑛 𝛼 =
If 𝑃 = 𝑄, 𝑡ℎ𝑒𝑛 𝛼 =
3∗𝑋𝑃2 +𝛼
𝑋𝑄 −𝑋𝑃
3∗𝑋𝑃2 +𝛼
2∗𝑌𝑃
(6)
(𝑚𝑜𝑑 𝑝),
(7)
(𝑚𝑜𝑑 𝑝).
(8)
Drawing 4 Addition of points on an elliptic curve
The points of an EC can be multiplied. Multiplication of the points is equivalent to the
exponentiation of numbers for not elliptic cryptography. Scalar multiplication is carried out by
means of several combinations of addition and doubling of points of an EC. For multiplication of
point 𝑃 ≠ 0 to a big integer it is possible to use the methods which are completely analogous to
those which a used when we exponentiate an integer in n degree. Scalar multiplication is carried out
by the means of several combinations of addition and doubling of points of an elliptic curve. For
example, it is possible to present multiplication of a point of an EC to number 126341 in the form of
the following sequence of operations of addition and doubling of points:
126341=(1+(2*(2*(1+(2*(2*(2*(2*(2*(1+(2*(1+(2*(2*(1+(2*(1+(2*(2*(1+(2*(1+(2*(1+(2*(1+
0)))))))))))))))))))))))))
The array of elementary operations, corresponding to this scalar has the following appearance:
["+", "*", "*", "+", "*", "*", "*", "*", "*", "+", "*", "+", "*", "*", "+", "*", "+", "*", "*", "+", "*",
"+", "*", "+", "*", "+"].
For the realization of algorithm of stochastic encryption with the use of abelian group of
points of an EC, we choose an equation of an EC in our case 𝑌 2 = 𝑋 3 − 𝑋 + 1 and the module
p=16673, with help of which the calculations will be done:
1. For each communication session by means of the generator of pseudorandom sequence
generator (PSG) №1 with key k1 the new alphabet is created with the inspection of
uniqueness of each symbol, to which corresponds a point on an EC.
2. We read out from the file the component cells of the initial text which is the subject of
encryption.
3. We define serial numbers of symbols of component cells of the initial text in the generated
alphabet.
3.1.We set the quantity of random symbols by which the block of the initial text will be
dashed.
3.2.We generate random symbols by means of PSG №2 with the key k2 and we define the
serial numbers of these symbols in the alphabet.
3.3.We create the one-dimensional integer array with a length which is equal to the quantity
read symbols of the block of the initial text plus the quantity of the random generated
symbols. We write down to the array the serial numbers of these symbols in the
alphabet. Using PSG №3 with the key k3 we mix stochastic the elements of this array.
4. The alphabet generated in item 1 is recorded to the two-dimensional array.
5. By means of PSG №4 with the key k4 we carry out the cyclic shifts of lines and columns of
the alphabet for each encrypted symbol.
6. We read out from the one-dimensional array item 3. 3, the serial number in the alphabet of
the next encrypted symbol and we carry out the replacement of this number by the
corresponding serial number from the alphabet mixed item 5, in such a way the stochastic
replacement of each symbol is carried out.
7. We make the encryption based on an EC like that:
7.1.We define the generating point G of an EC.
7.2.We generate a random number k.
7.3.The user chooses a point 𝑃𝐵 of the EC as an open key and as confidential key a
number 𝑛𝐵 . The equation of encryption looks like:
𝐶𝑚 = {𝑘 ∗ 𝐺, 𝑃𝑚 + 𝑘 ∗ 𝑃𝐵 }
(9)
where 𝑃𝑚 —the point of an elliptic curve corresponding to a encrypted symbol.
8. For the deciphering of the message the following equation is used:
𝑃𝑚 + 𝑘 ∗ 𝑃𝐵 − 𝑛𝐵 ∗ (𝑘 ∗ 𝐺) = 𝑃𝐵 + 𝑘 ∗ (𝑛𝐵 ∗ 𝐺) − 𝑛𝐵 ∗ (𝑘 ∗ 𝐺)
(10)
9. Having received the deciphered coordinates of points of EC, we define the serial numbers of
the symbols corresponding to these coordinates, that is symbols of the replacement which
we write down to the one-dimensional array.
10. For the definition of the serial numbers of symbols of the initial text and random symbols
we carry out reverse cyclic shifts of lines and columns of the two-dimensional array in
which the alphabet is written down. We read out from the one-dimensional array received in
item 9, the serial number in the alphabet of the next encrypted symbol and we carry out its
replacement by the corresponding serial number from the two-dimensional array with the
alphabet. The serial numbers of symbols received thereby are registered to the onedimensional array.
11. By means of PSG №3 with the key k3 we reject random symbols in the one-dimensional
array from item 10 and we restore the initial order of the initial symbols. Let us estimate
computing stableness, of the offered algorithm of stochastic encryption with the use of
abelian group of points of an EC. The generated alphabet for each communication session
contains 144 symbols and includes capital and lowercase letters of the Latin alphabet and
Cyrillics, and also punctuation marks and other necessary symbols. If the module on which
are carried out calculations, is equal, for example, to p=751, than the number of points on
this EC makes n=727. The total quantity of various alphabets can be calculated on the
𝑛!
144
405
formula 𝐴𝑚
.
𝑛 = (𝑛−𝑚)!. As n=727, m=144, then 𝐴727 ≈ 10
The use of cyclic shifts of lines and columns of the two-dimensional array in which
the generated alphabet is written down, defines the stochastic hashing of elements of this
array, therefore any symbol of the alphabet can be replaced by any other. If, for example, the
length of the initial text makes 1000 symbols, then the quantity of possible options, 𝑁 =
1441000 that makes about 102158 . For unauthorized access to the information an intruder
needs also to define which from deciphered symbols are random and then to reject these
random symbols and to restore the initial sequence in the text of initial symbols.
Summary
The offered algorithm of stochastic encryption with use of abelian group of points
of an EC differs from the existing algorithms, that for each communication session the new
unique alphabet is generated in which to each symbol of the alphabet correspond the
coordinates of a point on an EC then the initial text is supplemented with casually generated
symbols and by means of the generator of pseudo-casual sequences the stochastic hashing is
carried out the stochastic replacement of each symbol which is encrypted with use of casual
parameter takes place. Stochastic transformation of the initial information which is the
subject to protection against unauthorized access, allows raising a cryptographic robustness
from breaking by the method of complete search. This algorithm was realized in the
environment of Aribasw and C# (SHARP). It successfully passed the test on for correct of
results of encrypting and deciphering and can be used for protection of information against
unauthorized access.
BIBLIOGRAPHY
1. ДСТУ 4145-2002
2. Рябко Б.Я. Криптографические методы защиты информации / Б.Я.Рябко, А.Н.
Фионов М. Горячая линия-Телеком, 2005.- 229c.
3. А. Болотов, С. Б. Гашков, А. Б. Фролов, А. А. Часовских. - М.: Изд-во РГСУ,
2004. - 499 с.
4. 3. Ростовцев А.Г. Теоретическая криптография / AG Ростовцев, EB Mahovenko.
- Санкт-Петербург: АНО НПО "Профессионал", 2004 год. - 464.
5. Рябко криптографические методы защиты информации: учебное пособие
для ву ¬ вызова / BJ Рябко, Фиона. - М.: Горячая линия. - Телеком, 2005. - 229
с.
6. Криптография: скорость кодов / AA Молдовян, H.A. Молдовян, Н. Д. Гуц, Б. В.
Изотов. - Санкт: BHV - Петербург, 2002 год. - 496,