Patent ID: 12229310

DETAILED DESCRIPTION OF THE INVENTION

Example 1

The Identity and License Verification System for Working with Highly Sensitive Data, according toFIG.1, has a unique identifier2stored in the client's hardware1. Via the transfer environment3using a higher layer protocol4, the unique identifier2is coupled to a server5, where, in the evaluation module6, it is connected to the substitution and calculation module7. A w polynomial system8stored in the persistent memory9of the server5is also connected to the substitution and calculation module7, the output of which is a calculated key10. At the same time, the client's hardware1stores a local key11which is, via the transfer environment3using the higher layer protocol4connected to the key comparison module12to which the calculated key10is also connected. Positive output13as well as negative output14from the key comparison module12are both connected via the transfer environment3using the higher layer protocol4to a response processing module15which is also stored in the client's hardware1.

The system works by sending the unique identifier2from the client's hardware1, via the transfer environment3using the higher layer protocol4to the server5, specifically to the evaluation module6which substitutes the transformed unique identifier2into the substitution and calculation module7as variables into the w polynomial system8. Based on the results from the substitution and calculation module7(after the substitution into the w polynomial system8), the calculated key10is created and then, in the key comparison module12, compared with the local key11which is obtained from the client's hardware1through the transfer environment3using the higher layer protocol4. In case that the calculated key10equals to the local key11, positive output13is activated, otherwise the verification is rejected by negative output14. The verification result obtained through positive output13or negative output14is passed, through the transfer environment3using the higher layer protocol4, to the response processing module15stored in the client's hardware1.

Without substantially increasing the space complexity requirements of the computing resources, the solution described in Example 1 provides a high response speed even for high p values (number of uses and/or licenses) in comparison to existing security systems. The use of finite fields, which will be described in more detail in the final part of Example 3, prevents fraudulent insertion of another user/license, which is a significant security feature of the proposed system.

Example 2

The Identity and License Verification System for Working with Highly Sensitive Data, according toFIG.2, has the unique identifier2, local key11and the response processing module15stored in the client's hardware1. The server5again comprises the evaluation module6in which there is the substitution and calculation module7with output, i.e. the calculated key10, connected to the key comparison module12. The w polynomial system8stored in the persistent memory9of the server5is also connected to the substitution and calculation module7. Then, the subsequent structure of its output links from the key comparison module12to the response processing module15is the same as in Example 1.

In addition, in the system, in the evaluation module6, there is a search module16in front of the substitution and calculation module7. The x-mat matrix module17, stored in the persistent memory9of the server5is connected to the search module16together with the unique identifier2. At the same time, the search module16, together with the w polynomial system8, is connected to the substitution and calculation module7.

The system works by sending the unique identifier2from the client's hardware1, via the transfer environment3using the higher layer protocol4to the search module16(of the evaluation module6of the server5), which searches for the appropriate column in the x-mat matrix module17. The found column is then substituted by the substitution and calculation module7as variables into the w polynomial system8. Based on the results from the substitution and calculation module7(after the substitution into the w polynomial system8), the calculated key10is created and then in the key comparison module12, compared with the local key11which is obtained from the client's hardware1through the transfer environment3using the higher layer protocol4. In case that the calculated key10equals to the local key11, positive output13is activated, otherwise the verification is rejected by negative output14. The verification result obtained through positive output13or negative output14is passed, through the transfer environment3using the higher layer protocol4, to the response processing module15stored in the client's hardware1.

Due to the inclusion of the x-mat matrix module17, the transformed unique identifier2is not directly substituted into the evaluation module6, but on the basis of the unique identifier2, the appropriate column is searched in the x-mat matrix module17and subsequently substituted into the w polynomial system8. This solution further increases the level of security without increasing the computational complexity.

Example 3

The Identity and License Verification System for Working with Highly Sensitive Data, according toFIG.3includes all parts set forth in Example 2 in the same configuration and with the same links. In addition, this system has a ρ permutation18stored in the persistent memory9of the server5. Both the ρ permutation18and the x-mat matrix module17are connected to the calculated key10.

The system works by sending the unique identifier2from the client's hardware1, via the transfer environment3using the higher layer protocol4to the search module16(of the evaluation module6of the server5), which searches for the appropriate column in the x-mat matrix module17. The found column is then substituted by the substitution and calculation module7as variables into the w polynomial system8. Based on the ρ permutation18and results from the substitution and calculation module7(after the substitution into the w polynomial system8), appropriate values are found in the x-mat matrix module17, thus the values create the calculated key10. In the key comparison module12, the calculated key10is compared with the local key11which is obtained from the client's hardware1through the transfer environment3using the higher layer protocol4. In case that the calculated key10equals to the local key11, positive output13is activated, otherwise the verification is rejected by negative output14. The verification result obtained through positive output13or negative output14is passed through the transfer environment3using the higher layer protocol4to the response processing module15stored in the client's hardware1.

The above mentioned solution is the optimal implementation of the Identity and License Verification System for Working with Highly Sensitive Data. By utilizing the ρ permutation18simultaneously with the x-mat matrix module17, this module is protected from malicious manipulation because unauthorized single column manipulation invalidates multiple local keys. This results in increased safety over the solution presented in Example 2.

According the invention, the identity and license verification systems for working with highly sensitive data use specifically designed polynomials for computation/validation operations, hereinafter called molded polynomials.

Molded polynomials are created by replacing the conventional q coefficients used in the standard polynomial by a set of a, b coefficients. The molded polynomials have a fundamentally different way/form of notation as well as calculation from the standard polynomials. The molded polynomial has fewer terms than a standard polynomial and its calculation has a constant number of cycles regardless of increasing p values (number of users and/or licenses), which significantly shortens and speeds up verification operations. When calculating molded polynomials, the system works with much more feasible values of coefficients and exponents and, especially with respect to exponents, it greatly reduces the computational complexity. This saves operation time and capacity of computing resources.

The stated effects in terms of speeding up/simplification of the calculation are more visible when there are larger numbers of users/licenses/subsystems involved in the system. The benefit is significant even at the value of p=37 and with increasing this number, the saving of working time and capacity grows exceptionally fast (seeFIG.5). At high p values, the saving is so extraordinary that the molded polynomials could be called “magic polynomials”.

Example R (Reference)

To illustrate, an example of an existing security system for similar purposes, based on standard polynomials, is given
pi(x)=qp-1xp-1+qp-2xp-2+ . . . +q2x2+q1x+q0.

The following are examples of standard polynomials for different p values.

Distribution of a polynomial (standard form) over a field Z101:
p(x)=25x100+73x99+92x98+48x97+83x96+100x95+75x94+83x92+17x91+93x90+30x89+74x88+40x87+25x86+38x85+78x84+73x83+69x82+91x81+4x80+84x79+4x78+61x77+98x76+19x75+100x74+91x73+5x72+69x71+36x70+91x69+76x68+81x67+53x66+81x65+91x64+82x63+86x62+87x61+59x60+3x59+38x58+94x57+84x56+57x55+20x54+97x53+31x52+21x51+30x50+11x49+93x48+26x47+70x46+26x45+19x44+73x43+99x42+52x41+19x40+80x39+55x38+51x37+22x36+41x35+75x34+28x33+19x32+17x31+95x30+32x29+91x28+64x27+79x26+13x25+86x24+45x23+26x22+42x21+87x20+23x19+52x18+3x17+6x16+87x15+78x14+89x13+44x12+45x11+16x10+38x9+2x8+25x7+15x6+7x5+94x4+15x2+55x+39

Distribution of a polynomial (standard form) over a field Z311:
p(x)=18x302+8x301+122x300+6x299+198x298+20x297+110x296+92x295+64x294+149x293+269x292+304x291+278x290+36x289+117x288+304x287+223x286+193x285+123x284+44x283+88x282+60x281+122x280+302x279+16x278+271x277+237x276+73x275+55x274+192x273+250x272+186x27n+171x270+2x269+124x268+28x267+237x266+256x265+42x264+155x263+194x262+176x261+145x260+189x259+51x258+208x257+216x256+124x255+308x254+119x253+190x252+196x251+130x250+292x249+244x248+278x247+132x246+59x245+168x244+175x243+238x242+178x241+235x240+58x239+226x238+267x237+104x236+29x235+161x234+291x233+162x232+231x23n+123x230+15x229+49x228+92x227+307x226+47x225+60x224+257x223+97x222+38x221+139x220+6x219+68x218+142x217+114x216+145x215+171x214+22x213+93x212+11x211+216x210+68x209+147x208+269x207+43x206+261x205+82x204+64x203+203x202+287x201+207x200+38x199+158x198+56x197+162x196+103x195+217x194+108x193+308x192+230x191+278x190+114x189+131x188+169x187+87x186+50x185+232x184+88x183+166x182+182x180+291x178+157x177+234x176+299x175+118x174+58x173+283x172+20x171+208x170+175x169+165x168+157x167+190x166+96x165+43x164+36x163+41x162+153x161+151x160+173x159+190x158+291x157+294x156+58x155+217x154+128x153+178x152+174x151+88x150+96x149+172x148+122x147+189x146+113x145+113x144+48x143+282x142+310x141+241x140+245x139+186x138+57x37+174x136+178x135+78x134+151x133+125x132+26x131+37x130+46x129+243x128+95x127+146x126+237x125+223x124+14x123+153x122+282x121+170x120+237x119+128x118+33x117+31x116+144x115+37x114+177x113+195x112+181x110+206x109+225x108+81x107+128x106+173x105+310x104+94x103+197x102+160x101+75x100+243x99+18x98+108x97+27x96+126x95+191x94+89x93+62x92+37x91+133x90+9x89+95x88+157x87+100x86+273x85+164x84+276x83+147x82+125x81+6x80+191x79+159x78+205x77+111x76+143x75+34x74+210x73+78x72+141x71+x70+26x69+252x68+138x67+66x66+142x65+161x64+44x63+240x62+187x61+53x60+281x59+125x58+118x57+263x56+237x55+241x54+304x53+109x52+17x51+271x50+53x49+30x48+267x47+77x46+165x45+106x44+39x43+248x42+273x41+172x40+231x39+217x38+247x37+156x36+302x35+286x34+31x33+56x32+201x31+211x30+230x29+186x28+187x27+204x26+229x25+137x24+11x23+171x22+221x21+109x20+28x19+239x18+194x17+243x16+299x15+91x14+99x13+257x12+32x11+8x10+109x9+250x8+217x7+142x6+183x5+90x4+269x3+189x2+153x+198

Distribution of a polynomial (standard form) over a field Z1009is due to its size listed separately as an attachment in PDF format—seeFIG.4. The figure, illustrating the complexity of the expression, shows the difficulty of calculating the value of a standard polynomial both in terms of computing resources and the impact of complexity on computation speed and system response.

In contrast to standard polynomials with the aforementioned problems and drawbacks, the use of molded polynomials in the system according to the invention allows fast calculations that have a constant number of cycles even for a large number of users, licenses and subsystems.FIG.5shows a comparison between the computational complexity of the molded polynomial values (Example 3) and standard polynomials (Example S). The graph illustrates the response time saving as well as the capacity improvement of computing resources, especially at higher p values.

Despite the calculation speed, the security of the system according to the invention remains at a high level. From a security point of view, it is beneficial that the server keys for a user/license/subsystem are represented by columns in the x-mat matrix module17stored on the server5, where the calculated key10, in case of use of ρ permutation18, is not a direct result of calculating the individual molded polynomials, but it is then searched for in the x-mat matrix module17. Neither polynomial results nor calculated keys10can be stored on the server5. Thus, it is difficult to derive the x-mat matrix module17from polynomials and local keys11, if they were stolen.

The security of the system according to the invention is shown in theFIG.6, which illustrates the relation between bit security and the prime number p values. Expression of bit security means a conservative estimate of the number of molded polynomials with respect to the selected prime p, where bit security is calculated from the assumption of using a brute force attack and thus trying all different combinations. For a 128-bit key, this is 2128combinations; if a prime number p=31 is chosen, then the number of different molded polynomials is comparable to the number of 121-bit key combinations, i.e. approximately 2121. In the security of symmetric cryptography, 128-bit keys can be considered safe, to which p=31 merely approaches. However, the next prime number 37 exceeds this value, it has a bit security of 131 bits. If the prime number 10007 is taken into account, bit security can be compared to 390 bits. This value can currently be considered safe with respect to the existence of quantum computers, where halving bit security is considered. Moreover, it is to be understood that bit security is related only to the individual molded polynomials, not to the entire w polynomial system8that the system according to the invention operates with and which is in its preferred variants safer.

INDUSTRIAL APPLICABILITY

The Identity and License Verification System for Working with Highly Sensitive Data, according to the invention, is intended for generating and verifying unique license or identification keys used for software licenses validation or unique identification of users, elements of the Internet of Things, use of systems related to decision-making power in military or banking sector. Thus, the system will find application especially for the verification of users of electronic data systems with extremely high security needs and at the same time very fast response times, such as systems for military purposes, security forces, integrated rescue system and other related areas. However, it can also be used in civilian applications, such as building access security, but also for common purposes like entrance tickets, public transportation tickets and other similar applications.

LIST OF NUMBERED PARTS IN FIGURES

1—client's hardware2—unique identifier3—transfer environment4—higher layer protocol5—server6—evaluation module7—substitution and calculation module8—w polynomial system9—persistent memory (of server)10—calculated key11—local key12—key comparison module13—positive output (of key comparison module)14—negative output (of key comparison module)15—response processing module16—search module17—x-mat matrix module18—ρ permutation