Method of symmetric encryption with self-expanding secret key
By employing permutation-substitution tables with self-expanding secret keys and two-dimensional entropy, the method addresses the impracticality and lack of parallelization in existing symmetric encryption, achieving high security and speed with a self-expanding key.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BASENKO SERGEI OLEGOVICH
- Filing Date
- 2025-10-31
- Publication Date
- 2026-05-15
AI Technical Summary
Existing symmetric encryption methods with unlimited secret keys, like the Miller-Vernam cipher, require key exchange over a secure channel, making them impractical due to the inconvenience of plaintext exchange, and lack parallelization capabilities.
Employ permutation-substitution tables of size n*2^n bits, where tables rearrange and substitute n bits with n' bits using a basic and additional permutation, utilizing a second table as a correspondence table, and applying two-dimensional entropy generation to create a self-expanding secret key with high parallelization.
Achieves any desired security level without reducing encryption speed, enabling parallel processing and expanding the key length to millions of bits, thus enhancing security while maintaining high speed.
Smart Images

Figure IMGF000006_0001 
Figure IMGF000006_0002 
Figure IMGF000004_0001
Abstract
Description
[0001] H04L 9 / 06
[0002] A METHOD OF SYMMETRICAL ENCRYPTION WITH A SELF-EXPANDING SECRET KEY OF UNLIMITED SIZE (OPTIONS)
[0003] The invention relates to cryptography, in particular to methods of symmetric encryption with a self-expanding secret key of unlimited size, consisting of permutation-substitution tables, with the possibility of high-degree parallelization.
[0004] The closest analogue to the claimed invention is the Miller-Vernam cipher (https: / / web.archive.org / web / 20210122063512 / http: / / students.uni- vologda.ac.ru / pages / pmOO / kan / symmetric.htm#vernam), which can also be fully parallelized and implemented without arithmetic operations, except for bitwise ones, and at the same time it also has a secret key of unlimited size, but this key is not expandable, that is, it must initially be random, one-time and equal to the length of the encrypted plaintext itself (the so-called one-time pad), which makes its use inconvenient from a practical point of view, since the exchange of keys over a secure channel can simply be replaced by the exchange of plaintexts over the same secure channel.
[0005] The technical problem of the invention is to eliminate the shortcomings of the analogue.
[0006] The technical result of the invention is to ensure any given level of security without reducing the speed of execution of the algorithm.
[0007] The essence of the claimed invention is that in the symmetric encryption method:
[0008] - use permutation-substitution tables of size n*2 п bit;
[0009] - permutation-substitution tables rearrange each other using the basic permutation and replace n bits coming to each pair of such tables with n' bits using substitution;
[0010] - use the second table in a pair of such tables as a correspondence table for a paired row of the first table in this pair, when in a certain row of the first table of this pair, by comparison, the incoming n bits have been found; in this case:
[0011] - the main permutation is a row-by-row distribution of the bits of the first table in a pair of such tables according to the ordinal numbers of the rows of the same table, which are specified by the bits of the corresponding paired rows of the second table in the given pair of tables.
[0012] The essence of the claimed invention also lies in the fact that in the symmetric encryption method:
[0013] - use permutation-substitution tables of size n*2 п bit;
[0014] - permutation-substitution tables rearrange each other using an additional permutation and replace n bits coming to each pair of such tables with n' bits using a substitution;
[0015] - use the second table in a pair of such tables as a correspondence table for a paired row of the first table in this pair, when in a certain row of the first table of this pair, by comparison, the incoming n bits have been found; in this case:
[0016] - an additional permutation is the addition modulo 2 of any n bits, the same for each row of the table permuted in this way, with the bits of each row of the table permuted in this way.
[0017] The method is carried out as follows.
[0018] An algorithm for symmetric encryption (and / or pseudorandom number generation) with a self-expanding secret key of unlimited size, consisting of permutation-substitution tables (which are lists of 2 rows of all possible bit combinations (one row for each type of combination) of size n bits, arranged in these lists in arbitrary orders), of sizes n*2 пbits, rearranging each other using the main and / or additional permutation and replacing n bits arriving at each pair of such tables by n' bits using substitution, using the second table in a pair of such tables as a correspondence table for a paired row of the first table in this pair, when in a certain row of the first table of this pair the arriving n bits were found by comparison. Moreover, the main permutation is a row-by-row addressing (distribution) of the bits of one list (table) by the ordinal numbers (or conditional positions) of the rows of the same list (table), which are specified by the bits of the corresponding paired rows of the second list (table) in this pair of lists (tables). And the additional permutation is the addition modulo "2" (XOR) of any n' bits, the same for each row of the list (table) permuted in this way, with the bits of each row of the list (table) permuted in this way.In this case, the overall security level of such a system is determined to be minimal as (2. n !) k Bits, where k is equal to the number of permutation-substitution tables interacting with each other in the ways described above. This ensures any given level of security without reducing the speed of the encryption process due to the ability to parallelize the processes described above on individual parts of the secret key. Here and throughout, n is an integer greater than zero (a natural number). Tables in pairs can be swapped, replaced by tables from other pairs, if any, and / or form pairs with tables from both other pairs and single tables.
[0019] In the presented algorithm, self-expansion of the key is achieved, among other things, by means of two-dimensional entropy generation (2D-entropy), which will be demonstrated in more detail in the example below.
[0020] This achieves a technical advantage not found in other cryptographic algorithms: increasing the number of permutation tables increases the level of security (by increasing the length of the secret key), but does not reduce encryption speed. On the contrary, it accelerates it, as more information is encrypted at once using a larger key. Furthermore, the key expands itself in individual parts and does so in parallel (i.e., simultaneously).
[0021] Another advantage is the minimum number of required operations and the absence of operations with high time complexity O.
[0022] All this makes it possible to use security levels measured in millions of bits at speeds higher than those of cryptographic algorithms with conventional security levels of 64 to 512 bits.
[0023] The functional unit of the described algorithm is a pair of interacting permutation-substitution tables.
[0024] Each such table is a list of all possible bit combinations of length n bits. If, for example, n = 8, then the number of possible bit combinations is 256 (2 8 = 256): 0000 0000, 0000 0001, 0000 0010, 0000 OHN, > , 1111 1110, 1111 1111. Thus, in this case, the table will consist of 256 rows, eight bits in each row (the table size is 8x256). Let's call the ordinal number of each such row, which can be conditional, the ADDRESS of the row (Add), and the bits located in this row the CONTENTS of the row (Con). The addresses of the rows in each table remain in unchanged direct order from "0" to "255" inclusive, the contents of the rows (bit combinations) are located in an arbitrary order, as in the example below:
[0025] Two such tables, forming pairs, modify each other (expansion of the secret key) using permutations P (the primary [o-P] and / or the additional [*-P]) and encrypt / decrypt information using substitutions S, acting as S-tables of bit substitution. The set of all such tables is the secret key K of a given cryptographic algorithm.
[0026] The Basic Permutation (BP) is a row-by-row addressing (distribution) of the bits of one list (table) by the ordinal numbers of the rows (or conditional positions) of the same list (table), where these ordinal numbers (or conditional positions) are specified by the bits of the corresponding paired rows of the second list (table) in the given pair of lists (tables). That is, based on the example table given above, the eight-bit combination (Com) located on a certain row in the first table of a pair of interacting tables (Addi) becomes the new ordinal number of the row (Add2') for the eight-bit combination (Com) of the second table in the pair of interacting tables, and this eight-bit combination Com must be located, before the start of the permutation, on the same (according to the ordinal numbers Add) row where Com (i.e. Addi=Add2).As in the example below, where table (b) rearranges table (a) to create table (c) and in this example, the bit Row Addresses (Add) are located in the columns on the right, and the bit Row Contents (Con) are located in the columns on the left:.
[0027]
[0028] The substitution S is applied in this example to eight bits of input information, which may belong either to the Plaintext or to an arbitrarily chosen "seed" (Seed). The incoming eight bits must be found in the first table of the pair of interacting tables as Com with the corresponding address Addi and then replaced with the eight bits Com that are found in the second table of the interacting tables on the row with the same ordinal number as the row of the first table of the pair of interacting tables where the incoming eight bits were found (Addi = Addi). The new eight bits can be used in the next substitution procedure S, like the incoming eight bits, or used as "gamma" for the XOR operation with the eight bits of the Plaintext, turning them into the Ciphertext C (or with the eight bits of the Ciphertext C to obtain the Plaintext - during the decryption operation), or used as the basis for the Complementary Permutation (•-₽) of the permutation-substitution tables.The additional permutation, in this case, is the modulo-2 addition (XOR) of these eight bits, the same for each row of the table(s) permuted in this manner, with the Row Content (Con) bits of each row of the table(s) permuted in this manner. An important aspect is the self-expansion of the secret key, including through two-dimensional entropy generation applied to the entire array of permutation-substitution tables. The overall security level of such a system is defined, at a minimum, as the factorial of two to the power of u, raised to the power of k, where k is equal to the number of permutation-substitution tables interacting with each other in the ways described above. Let's illustrate this process in conjunction with the encryption / decryption process using the following example.
[0029] Consider a set of 16 permutation-substitution tables, each with 256 rows of eight bits (256x8 bits). The number of possible variants of such tables is equal to the factorial of 256, or 10 to the power of 507. We arrange them in an array of four tables by four tables and assign them ordinal numbers from "1" to "16":
[0030] We will call the vertical columns of this two-dimensional table array threads, since they can be processed in parallel. Thus, we have four threads: a) 1, 5, 9, 13; b) 2, 6, 10, 14; c) 3, 7, 11, 15; d) 4, 8, 12, 16.
[0031] The encryption / decryption process in this example will look like this.
[0032] Each thread receives eight input bits and outputs eight bits of "gamma," or, in this case, 32 bits total at a time. In the first iteration (using the first thread as an example), the following operations occur, identical for each thread:
[0033] 1) Basic Permutations: o-P(1o5; 9o13), then o-P(5o1; 13o9), that is, table 1 permutes table 5, and table 9 permutes table 13. Then, conversely, the updated table 5 permutes table 1, and the updated table 13 permutes table 9.
[0034] 2) The first substitution of S of the eight incoming seed bits w onto P2 on tables 1 and 5, then the second substitution of P2 onto pz on tables 9 and 13, which form the “gamma”
[0035] 3) The generated “gamma” is added modulo “2” (XOR) with the Plain Text, forming the Ciphertext C (or with the Ciphertext C, forming the Plain Text — during Decryption), and also to the Additional Permutation of 16 tables and to the next iteration as the “seed” bits. For the Additional Permutation, eight “gamma” bits from the first stream (tables 1, 5, 9, 13) are XORed with each row of tables 1, 2, 3, 4. “Gamma” of the second stream — to tables 5, 6, 7, 8. “Gamma” of the third stream — to tables 9, 10, 11, 12. “Gamma” of the fourth stream — to tables 13, 14, 15, 16.
[0036] 4) The next step is to horizontally shift all tables in even rows of each stream to the left by one position, as shown in the diagram below:
[0037] Steps 1), 2), 3), and 4 are then repeated, taking into account the updated arrangement of tables in the array. Thus, the entropy within the threads is propagated between the threads, creating a two-dimensional entropy generation.
[0038] The key length in this example is 8 x 256 x 16 = 32,768 bits, and the security level is equal to the factorial of 256 raised to the power of 16, or 10 to the power of 8112, or 27,013 bits. Additional operations can also be added. For example, in each row with the bit content Con of any table operated in this way, the first four bits are swapped with the second four bits: 0001 1010 => 1010 0001. This is another variant of permutation.
Claims
CLAUSES OF THE INVENTION 1. A method of symmetric encryption characterized by the fact that: - use permutation-substitution tables of size n*2 п bit; - permutation-substitution tables rearrange each other using the basic permutation and replace n bits coming to each pair of such tables with n' bits using substitution; - use the second table in a pair of such tables as a correspondence table for a paired row of the first table in this pair, when in a certain row of the first table of this pair, by comparison, the incoming n bits have been found; in this case: - the main permutation is a row-by-row distribution of the bits of the first table in a pair of such tables according to the ordinal numbers of the rows of the same table, which are specified by the bits of the corresponding paired rows of the second table in the given pair of tables.
2. The method according to paragraph 1, characterized in that an additional permutation is used together with the main permutation.
3. The method according to I.2, characterized by the fact that the additional permutation is the addition modulo 2 of any n bits, the same for each row of the table permuted in this way, with the bits of each row of the table permuted in this way.
4. A method of symmetric encryption characterized by the fact that: - use permutation-substitution tables of size n*2 п bit; - permutation-substitution tables rearrange each other using an additional permutation and replace n bits coming to each pair of such tables with n' bits using a substitution; - use the second table in a pair of such tables as a correspondence table for a paired row of the first table in this pair, when in a certain row of the first table of this pair, by comparison, the incoming n bits have been found; in this case: - an additional permutation is the addition modulo 2 of any n bits, the same for each row of the table permuted in this way, with the bits of each row of the table permuted in this way.