<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Omsk, Russia</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Secret Share Based Key Pre-Distribution Scheme</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sergey V. Belim 1;2</string-name>
          <email>sbelim@mail.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Svetlana Yu. Belim</string-name>
          <email>svbelim@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>1Omsk State Technical University</institution>
          ,
          <addr-line>11 Mira avenue, 644050, Omsk, Russia, 2Siberian State Automobile</addr-line>
          ,
          <institution>and Highway University</institution>
          ,
          <addr-line>5 Mira avenue, 644080, Omsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Omsk State Technical University</institution>
          ,
          <addr-line>11 Mira avenue, 644050, Omsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>2</volume>
      <fpage>4</fpage>
      <lpage>04</lpage>
      <abstract>
        <p>The key pre-distribution scheme including an encryption key cogeneration protocol is proposed. The key pre-distribution scheme is formed based on the Blom's scheme. The Shamir secret sharing threshold scheme (3,4) is used for the key generation protocol. The basic scheme and protocol for two users are discussed. Generalization this scheme for an arbitrary number of users is performed. The correctness of the scheme is proved.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>We propose a protocol first with only two participants A and B. We use Shamir’s scheme to divide the secret
[14]. We limit ourselves to a threshold scheme (3; 4). The polynomial F (x) of degree 2 is necessary to implement
this scheme. All calculations are performed in the ring Zp. p is a prime number.
If user A initiates a communication channel with user B, then he sends him one parts of the secret k1A.</p>
      <p>If user B agrees to create a secure information channel, then he compiles and solves a system of linear equations
with respect to b0, b1, b2.</p>
      <p>User B calculates the common encryption key based on the numbers b0, b1, b2. The function from the three
variables h(x; y; z) is used to find the key. This function is open and known to all participants.
The coefficients of polynomial a0, a1, a2 are chosen randomly. The polynomial is stored on the key distribution
server and is secret. Server selects random numbers x1A, x2A, x1B, x2B 2 Zp. The server generates key materials
for each user.</p>
      <sec id="sec-1-1">
        <title>Key materials for user A are calculated based on numbers x1A, x2A.</title>
      </sec>
      <sec id="sec-1-2">
        <title>Key materials for user B are calculated based on numbers x1B, x2B.</title>
        <p>k1A = F (x1A); k2A = F (x2A):
k1B = F (x1B); k2B = F (x2B):</p>
      </sec>
      <sec id="sec-1-3">
        <title>The server sends key content to users over a secure channel.</title>
        <p>S ! A : (x1A; k1A); (x2A; k2A);
S ! B : (x1B; k1B); (x2B; k2B):</p>
        <p>A ! B : A; (x1A; k1A):
8 b0 + b1x1B + b2x12B = k1B;
&lt; 2</p>
        <p>b0 + b1x2B + b2x2B = k2B;
: b0 + b1x1A + b2x12A = k1A:
kBA = h(b0; b1; b2):</p>
        <p>B ! A : (x1B; k1B):
8 c0 + c1x1A + c2x12A = k1A;
&lt; 2</p>
        <p>c0 + c1x2A + c2x2A = k2A;
: c0 + c1x1B + c2x12B = k1B:
8 c0 + c1x1A + c2x12A = F (x1A);
&lt; 2</p>
        <p>c0 + c1x2A + c2x2A = F (x2A);
: c0 + c1x1B + c2x12B = F (x1B):
c0 = a0; c1 = a1; c2 = a2:</p>
      </sec>
      <sec id="sec-1-4">
        <title>User B then sends one part of the secret k1B to user A. User A compiles and solves a system of linear equations from three unknown c0, c1, c2.</title>
      </sec>
      <sec id="sec-1-5">
        <title>User A calculates the common encryption key based on the numbers c0, c1, c2.</title>
      </sec>
      <sec id="sec-1-6">
        <title>We prove that both users will receive the same key.</title>
      </sec>
      <sec id="sec-1-7">
        <title>We consider the system of equations for user A.</title>
        <p>kAB = h(c0; c1; c2):
kAB = kBA:
User A obtains the coefficients of the polynomial F (x) when solving this system of equations.</p>
      </sec>
      <sec id="sec-1-8">
        <title>We consider the system of equations for user B.</title>
        <p>User B obtains the coefficients of the polynomial F (x) when solving this system of equations.</p>
      </sec>
      <sec id="sec-1-9">
        <title>Both users receive the same set of numbers. Users receive the same keys.</title>
        <p>8 b0 + b1x1B + b2x12B = F (x1B);
&lt; 2</p>
        <p>b0 + b1x2B + b2x2B = F (x2B);
: b0 + b1x1A + b2x12A = F (x1A):
b0 = a0; b1 = a1; b2 = a2:
b0 = c0; b1 = c1; b2 = c2:
kAB = h(c0; c1; c2) = h(b0; b1; b2) = kBA:</p>
        <p>
          Protocol reliability is based on a threshold scheme (
          <xref ref-type="bibr" rid="ref2 ref3">3,4</xref>
          ). Both users, as a result of receiving key materials from
the server, own two parts of the secret. Users receive a third part of the secret during messaging. Three parts of
the secret allow you to restore the full secret. The attacker has the ability to intercept only messages between
users, so he can take possession only two parts of the secret. This information is not sufficient to calculate the
encryption key.
3
        </p>
        <p>Scheme for an arbitrary number of users
We modify our scheme for an arbitrary number of users. All calculations are performed in the ring Zp. p is
a prime number. The server generates a unique number ai for each user ui (ai 2 Zp). Numbers ai are stored
in public on the server. The server ensures that these numbers remain unchanged. The server generates a
polynomial from three variables F (x; y; z). The polynomial F (x; y; z) is kept secret. We write the polynomial
F (x; y; z) as a polynomial from one variable x with coefficients dependent on the variables y and z. The degree
of the polynomial over the variable x is 2.</p>
        <p>F (x; y; z) = f2(y; z)x2 + f1(y; z)x + f0(y; z):</p>
        <p>The functions f2(y; z), f1(y; z), f0(y; z) are polynomials. We enter the requirement of symmetry F (x; y; z)
over the variables y and z.</p>
        <p>This requirement leads to symmetry of polynomials f2(y; z), f1(y; z), f0(y; z) over variables y and z.</p>
        <p>F (x; y; z) = F (x; z; y):
f0(y; z) = f0(z; y);
f1(y; z) = f1(z; y);
f2(y; z) = f2(z; y):
r1i(z) = F (x1i; ai; z);
r2i(z) = F (x2i; ai; z):</p>
        <p>The degree of polynomials f2(y; z), f1(y; z), f0(y; z) depends on the number of users. The polynomial
coefficients f2(y; z), f1(y; z), f0(y; z) are random numbers.</p>
        <p>The server selects two random numbers x1i and x2i (i = 1,..., n) for each user ui. All numbers x1i and x2i
must be unique. The server generates two parts of the secret for each user. Parts of the secret are polynomials
from one variable z.</p>
        <p>The server calculates key materials for each user ui (i=1, ..., n). Key materials include two numbers and two
functions.</p>
        <p>Key(ui) = fx1i; x2i; r1i(z); r2i(z)g:
8 b2x12j + b1x1j + b0 = q1ji;
&lt;</p>
        <p>b2x22j + b1x2j + b0 = q2ji;
: b2x12i + b1x1i + b0 = q1ij:
8 c2x12i + c1x1i + c0 = q1ij;
&lt;</p>
        <p>c2x22i + c1x2i + c0 = q2ij;
: c2x12j + c1x1j + c0 = q1ji:</p>
        <p>kij = h(c0; c1; c2):</p>
        <p>The polynomials r1i(z) and r2i(z) are transmitted as a set of coefficients. The server forwards key content to
users via a secure channel.</p>
        <p>If the user ui wants to establish a connection with the user uj, then a sequence of nine steps is performed.
1. The user ui requests the number aj from the server.
2. The user ui calculates two numbers.</p>
      </sec>
      <sec id="sec-1-10">
        <title>3. The user ui forwards a message to the user uj.</title>
      </sec>
      <sec id="sec-1-11">
        <title>4. The user uj requests ai from the server and calculates two numbers.</title>
      </sec>
      <sec id="sec-1-12">
        <title>5. The user uj forwards a message to the user ui.</title>
      </sec>
      <sec id="sec-1-13">
        <title>6. The user uj solves a system of linear equations relative to unknown b0, b1, b2.</title>
      </sec>
      <sec id="sec-1-14">
        <title>7. The user uj calculates the pair key.</title>
        <p>kji = h(b0; b1; b2):</p>
        <p>The function from the three variables h = h(x; y; z) is an open part of the schema and is known to all
participants.</p>
      </sec>
      <sec id="sec-1-15">
        <title>8. The user ui solves the system of linear equations with respect to c0, c1, c2.</title>
      </sec>
      <sec id="sec-1-16">
        <title>9. The user ui calculates the pair key.</title>
        <p>We prove that both users receive the same pair keys. We consider the system of user equations ui.
q1ij = r1i(aj) = F (x1i; ai; aj) = f2(ai; aj)x21i + f1(ai; aj)x1i + f0(ai; aj);
q2ij = r2i(aj) = F (x2i; ai; aj) = f2(ai; aj)x22i + f1(ai; aj)x2i + f0(ai; aj);
q1ji = r1j(ai) = F (x1j; aj; ai) = F (x1j; ai; aj) = f2(ai; aj)x21j + f1(ai; aj)x1j + f0(ai; aj);
We write this system of equations in matrix form.</p>
        <p>8 c2x12i + c1x1i + c0 = f2(ai; aj)x21i + f1(ai; aj)x1i + f0(ai; aj);
&lt;</p>
        <p>c2x22i + c1x2i + c0 = f2(ai; aj)x22i + f1(ai; aj)x2i + f0(ai; aj);
: c2x12j + c1x1j + c0 = f2(ai; aj)x21j + f1(ai; aj)x1j + f0(ai; aj):
0 x1i
2
2
@ x2i</p>
        <p>2
x1j
x1i 1 1 0 f2(ai; aj) 1
x2i 1 A @ f1(ai; aj) A
x1j 1 f0(ai; aj)
The matrix in equality is a Vandermonde matrix. The Vandermonde determinant is not zero if all x1i and x2i
are different. Therefore, we conclude that two vectors are equal.
We consider the system for user equations uj.</p>
        <p>q1ji = r1j(ai) = F (x1j; aj; ai) = f2(aj; ai)x21j + f1(aj; ai)x1j + f0(aj; ai);
q2ji = r2j(ai) = F (x2j; aj; ai) = f2(aj; ai)x22j + f1(aj; ai)x2j + f0(aj; ai);
q1ij = r1i(aj) = F (x1i; ai; aj) = F (x1i; aj; ai) = f2(aj; ai)x21i + f1(aj; ai)x1i + f0(aj; ai);
8 b2x12j + b1x1j + b0 = f2(aj; ai)x21j + f1(aj; ai)x1j + f0(aj; ai);
&lt;</p>
        <p>b2x22j + b1x2j + b0 = f2(aj; ai)x22j + f1(aj; ai)x2j + f0(aj; ai);
: b2x12i + b1x1i + b0 = f2(aj; ai)x21i + f1(aj; ai)x1i + f0(aj; ai):
0 x1j
2
2
@ x2j</p>
        <p>2
x1i
x1j 1 1 0 f2(aj; ai) 1
x2j 1 A @ f1(aj; ai) A
x1i 1 f0(aj; ai)
0 b2 1 0 f2(aj; ai) 1
@ b1 A = @ f1(aj; ai) A</p>
        <p>b0 f0(aj; ai)
b2 = f2(aj; ai); b1 = f1(aj; ai); b0 = f0(aj; ai):</p>
      </sec>
      <sec id="sec-1-17">
        <title>We conclude the equality of numbers from the symmetry of polynomials f0, f1, f2.</title>
        <p>Both users receive the same set of numbers. We conclude that the pair keys of both users are equal.
b0 = c0 = f0(ai; aj); b1 = c1 = f1(ai; aj); b2 = c2 = f2(ai; aj):</p>
        <p>kij = h(c0; c1; c2) = h(b0; b1; b2) = kji:
4</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Conclusion References</title>
      <p>The proposed scheme allows any user to control calculation of communication keys with it. This scheme has
a level of compromise resistance equivalent to the Blom’s scheme. Users can lock a compromised user without
involving the key distribution server.
[2] R. Blom. An optimal class of symmetric key generation systems. Proc. of the EUROCRYPT 84 workshop
on Advances in cryptology: theory and application of cryptographic techniques:335-338, 1985.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.J.</given-names>
            <surname>Mitchell</surname>
          </string-name>
          , . Piper.
          <article-title>Key storage in Secure Networks</article-title>
          .
          <source>Discrete and Applied Math</source>
          ,
          <volume>21</volume>
          :
          <fpage>215</fpage>
          -
          <lpage>228</lpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perrig</surname>
          </string-name>
          .
          <article-title>Designing secure sensor networks</article-title>
          .
          <source>IEEE Wireless Communications</source>
          ,
          <volume>11</volume>
          (
          <issue>6</issue>
          ):
          <fpage>38</fpage>
          -
          <lpage>43</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Poor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shamai</surname>
          </string-name>
          . Information Theoretic Security.
          <source>Found. Trends Commun. Inf. Theory</source>
          ,
          <volume>5</volume>
          :
          <fpage>355</fpage>
          -
          <lpage>580</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Parakh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kak</surname>
          </string-name>
          .
          <article-title>Matrix based key agreement algorithms for sensor networks</article-title>
          .
          <source>Fifth IEEE In-ternational Conference on Advanced Telecommunication Systems and Networks (ANTS):1-3</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ota</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Liu.</surname>
          </string-name>
          <article-title>ActiveTrust: secure and trustable routing in wireless sensor net-works</article-title>
          .
          <source>IEEE Transactions on Information Forensics and Security</source>
          ,
          <volume>11</volume>
          (
          <issue>9</issue>
          ):
          <fpage>2013</fpage>
          -
          <lpage>2027</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.-W.</given-names>
            <surname>Chin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Raad</surname>
          </string-name>
          .
          <article-title>Approximation algorithms for broadcasting in duty cycled wire-less sensor networks</article-title>
          .
          <source>Wireless Networks</source>
          ,
          <volume>20</volume>
          (
          <issue>8</issue>
          ):
          <fpage>2219</fpage>
          -
          <lpage>2236</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>X.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          .
          <article-title>Bulk data dissemination in wireless sensor networks: analysis, implications and improvement</article-title>
          .
          <source>IEEE Transactions on Computers</source>
          ,
          <volume>65</volume>
          (
          <issue>5</issue>
          ):
          <fpage>1428</fpage>
          -
          <lpage>1439</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Belim.
          <article-title>Mandatory access control implementation in the distributed systems</article-title>
          .
          <source>Automatic Control and Computer Sciences</source>
          ,
          <volume>52</volume>
          (
          <issue>8</issue>
          ):
          <fpage>1124</fpage>
          -
          <lpage>1126</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.Yu. Belim.</surname>
          </string-name>
          <article-title>The modification of Blom's key predistribution scheme, taken into account simplex channels</article-title>
          .
          <source>Automatic Control and Computer Sciences</source>
          ,
          <volume>52</volume>
          (
          <issue>8</issue>
          ):
          <fpage>1134</fpage>
          -
          <lpage>1137</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Belim.
          <article-title>Implementation of simplex channels in the Blom's keys pre-distribution scheme</article-title>
          .
          <source>Journal of Physics: Conf. Series</source>
          ,
          <volume>1210</volume>
          :
          <fpage>012008</fpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Belim.
          <article-title>Use the keys pre-distribution KDP-scheme for mandatory access control implementation</article-title>
          .
          <source>Journal of Physics: Conf. Series</source>
          ,
          <volume>1210</volume>
          :
          <fpage>012009</fpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Belim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Belim.
          <article-title>Vector key pre-distribution scheme</article-title>
          .
          <source>Journal of Physics: Conf. Series</source>
          ,
          <volume>1441</volume>
          :
          <fpage>012033</fpage>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Shamir</surname>
          </string-name>
          .
          <article-title>How to share a secret</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>22</volume>
          (
          <issue>11</issue>
          ):
          <fpage>612</fpage>
          -
          <lpage>613</lpage>
          ,
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>