A New Cryptosystem and Algebraic Constructions for its Key Space K. - - PowerPoint PPT Presentation

โ–ถ
a new cryptosystem and algebraic constructions for its
SMART_READER_LITE
LIVE PREVIEW

A New Cryptosystem and Algebraic Constructions for its Key Space K. - - PowerPoint PPT Presentation

A New Cryptosystem and Algebraic Constructions for its Key Space K. T. Arasu, Riverside Research Beavercreek, Ohio karasu@RiversideResearch.org Snake-and-Ladder Blocks We introduce a new symmetric cryptosystem based on snake-and- ladder


slide-1
SLIDE 1

A New Cryptosystem and Algebraic Constructions for its Key Space

  • K. T. Arasu, Riverside Research

Beavercreek, Ohio karasu@RiversideResearch.org

slide-2
SLIDE 2

Snake-and-Ladder Blocks

We introduce a new symmetric cryptosystem based on snake-and- ladder blocks. We call it the โ€œsnakes-and-ladders cryptography systemโ€ (SALCS). Our cryptographic system relies on the fact that subsequent encryptions depend on the previous encryptions.

  • Ladder Block: This is a block formed by a number of message units

which is equal to the magnitude of the corresponding sub-key. The ladder block is formed by using the message units starting from the current position in the forward direction or simply saying the encryption takes place in forward direction.

  • Snake Block: This is a block formed by a number of message units

which is equal to the magnitude of the corresponding sub-key. The snake block is formed by using the message units starting from the current position in the reverse direction or simply saying the encryption takes place in backward/reverse direction.

2

slide-3
SLIDE 3

We assume that the message to be transmitted is a plaintext with ๐‘œ values, which is represented by a vector of length ๐‘œ. If the message has more than ๐‘œ values than the procedure, it is repeated as many times as needed. If it has less than ๐‘œ letters, then we pad the plaintext with the letter โ€œspaceโ€ a sufficient number of times. Encryption of each block (Message Unit) is in itself independent

  • f the previous blocks (Message Units), but the input to the

individual block (i.e. the block itself) is dependent on the previous blocks and key. The decryption follows the same algorithm as the encryption but in reverse order. This feature of the key makes the whole system incredibly secure while using a very moderate sized keyspace.

3

slide-4
SLIDE 4

Figure 1: The snake-and-ladder blocks work iteratively together to encrypt the plaintext message

4

slide-5
SLIDE 5

General Encryption/Decryption Algorithm

  • Let us write the message to be encrypted as

๐’ = ๐‘›

1 ๐‘› 2 โ€ฆ โ€ฆ โ€ฆ โ€ฆ . . ๐‘› ๐‘œ. Here each ๐‘›๐‘— is a

message unit, which is a 32-bit integer. The private encryption key is a vector ๐ฟ, of length ๐‘š, ๐ฟ = ะ„

1๐ฟ 1, ะ„ 2๐ฟ 2, โ€ฆ , ะ„ ๐‘š๐ฟ ๐‘š where ะ„ ๐‘— โˆˆ {โˆ’1, +1}, and

๐ฟ

๐‘— is any positive integer that represents the

number of message units to be encrypted at the ๐‘—

๐‘ขโ„Ž encryption step.

5

slide-6
SLIDE 6

General Encryption/Decryption Algorithm

  • Define the two sets ๐‘„ and ๐‘‚ as follows:

๐‘„ = {๐‘—|ะ„

๐‘— = 1}; ๐‘‚ = {๐‘—|ะ„ ๐‘— = โˆ’1}. As will become

clear once the entire encryption process is described, we have the arithmetic constraint ๐‘œ = [๐ฟ

๐‘— โˆ’ |๐‘„| + 1] ๐‘—๐œ—๐‘„

. We also need for each

๐‘— โˆˆ ๐‘‚, ๐ฟ

๐‘— โ‰ค ๐ฟ ๐‘˜ = ๐‘‡ ๐‘—; where this summation runs

  • ver all ๐‘˜ satisfying ๐‘˜ โˆˆ ๐‘„, ๐‘˜ < ๐‘—.

6

slide-7
SLIDE 7

Explanation of the Encryption/Decryption Process

  • For ๐‘— = 1, the first block (๐‘›

1, ๐‘› 2, โ€ฆ , ๐‘› ๐ฟ1) is

encrypted using the key ๐ฟ

1.

  • For ๐‘— > 1, suppose that the first (๐‘— โˆ’ 1) blocks

have been encrypted as ๐‘Œ

1, ๐‘Œ 2, โ€ฆ โ€ฆ โ€ฆ โ€ฆ , ๐‘Œ ๐‘‡๐‘—

.

  • If ะ„

๐‘— = 1, the ith ladder block to be encrypted is

๐‘Œ

๐‘‡๐‘— ๐‘› ๐‘‡๐‘—+1 ๐‘› ๐‘‡๐‘—+2 โ€ฆ ๐‘› ๐‘‡๐‘—+๐‘™๐‘—โˆ’1 using the key ๐ฟ๐‘—.

  • If ะ„

๐‘— = โˆ’1, the ith snake block to be encrypted is

๐‘Œ

๐‘‡๐‘—โˆ’(๐ฟ๐‘—โˆ’1) โ€ฆ ๐‘Œ ๐‘‡๐‘—โˆ’1 ๐‘Œ ๐‘‡๐‘—

using the key ๐ฟ๐‘—.

7

slide-8
SLIDE 8

Explanation of the Encryption/Decryption Process

  • Note that the ladder (resp. snake) portion of our scheme can

be compared to Shannonโ€™s concept of confusion (resp. diffusion).

  • The decryption of the cipher text received can be carried out

by using the key in the same manner as in encryption, but in reversed order, i.e. decryption with the last key is done first, followed by the second last and so on up to the first key.

  • Upon receiving the cipher text ๐‘ซ= ๐ท_1 ๐ท_2โ€ฆ๐ท_๐‘œ, the

decrypter applies the same encryption algorithm with the securely received private key (๐ฟ_1,๐ฟ_2,โ€ฆ,๐ฟ_๐‘š), performing at the ith iteration level (while decrypting), the same operation as the encryption during the (๐‘šโˆ’๐‘—+1)^๐‘ก๐‘ข iteration level.

8

slide-9
SLIDE 9

Let ๐ป be an additively written abelian group of

  • rder ๐‘ค. Let ๐ต and ๐ถ be subsets of ๐ป of size ๐‘™ and

๐‘™โ€ฒ respectively. Let ๐ต โˆฉ ๐ถ = ๐‘“. If the list/multiset of differences (๐‘ฆ โˆ’ ๐‘ง: ๐‘ฆ โˆˆ ๐ต, ๐‘ง โˆˆ ๐ถ, ๐‘ฆ โ‰  ๐‘ง) contains each nonzero element exactly ๐œ‡ times, then we call (๐ต, ๐ถ) a difference set pair (DSP) in ๐ป with parameters (๐‘ค, ๐‘™, ๐‘™โ€ฒ, ๐‘“, ๐œ‡). Encryption and Decryption via Difference Set Pairs

9

slide-10
SLIDE 10

The proposed encryption scheme proceeds as follows:

  • The message m to be sent is converted into a series
  • f integers by replacing every 32 bits in a bit-stream

with their respective integer value.

  • The sets ๐ต and ๐ถ of a (๐‘ค, ๐‘™, ๐‘™โ€ฒ, ๐‘“, ๐œ‡) DSP can be

represented as a ๐‘ค ร— ๐‘ค matrix using the group action ๐ป where the first rows are determined by the sets as ๐ต (respectively ๐ถ) by the indicator function: โˆ’1 ๐‘—๐‘” ๐‘• โˆˆ ๐ต +1 ๐‘๐‘ขโ„Ž๐‘“๐‘ ๐‘ฅ๐‘—๐‘ก๐‘“

10

slide-11
SLIDE 11
  • The (๐‘ค + 1) ร— (๐‘ค + 1) encryption matrix ๐น is
  • btained from the ๐‘ค ร— ๐‘ค matrix ๐ต by adding an

extra row and column full of 1โ€™s (we denote 1 by + below). i.e. ๐น = + + + ๐ต

๐‘ค+1 ร— ๐‘ค+1

  • Similarly, we define the decryption matrix as

๐ธ = + + + ๐ถ

๐‘ค+1 ร— ๐‘ค+1

  • In the block matrices ๐น and ๐ธ above, we misuse

the letters ๐ต and ๐ถ for the ๐‘ค ร— ๐‘ค matrices defined via the sets ๐ต and ๐ถ as explained above.

11

slide-12
SLIDE 12

Case I : r = -1 We only discuss the case when ๐’” = โˆ’๐Ÿ (the case ๐‘  = 0 would need slight modifications). Now, we calculate ๐น๐ธ

๐‘ˆ,

๐น๐ธ๐‘ˆ = ๐‘ค + 1 ๐‘ค โˆ’ 2๐‘™โ€ฒ + 1 โ€ฆ ๐‘ค โˆ’ 2๐‘™โ€ฒ + 1 ๐‘ค โˆ’ 2๐‘™ + 1 4 ๐‘“ โˆ’ ๐œ‡ + ๐‘  + 1 ๐‘  + 1 โ‹ฎ ๐‘  + 1 โ‹ฑ ๐‘  + 1 ๐‘ค โˆ’ 2๐‘™ + 1 ๐‘  + 1 4 ๐‘“ โˆ’ ๐œ‡ + ๐‘  + 1 where we recall that, ๐‘  = ๐‘ค โˆ’ 2 ๐‘™ + ๐‘™โ€ฒ + 1 + 4 ๐œ‡, is called the correlation

  • constant. We apply this scheme for the case ๐‘  = โˆ’1 and ๐‘™ = (๐‘ค + 1)/2 (the

so-called โ€œbalancedโ€ case). Thus, ๐น๐ธ๐‘ˆ = ๐‘ค + 1 ๐‘ค โˆ’ 2๐‘™โ€ฒ + 1 โ€ฆ ๐‘ค โˆ’ 2๐‘™โ€ฒ + 1 4 ๐‘“ โˆ’ ๐œ‡ โ‹ฎ โ‹ฑ 4 ๐‘“ โˆ’ ๐œ‡ .

12

slide-13
SLIDE 13

Encryption Algorithm

Let ๐’ = (๐‘›

1 , ๐‘› 2, โ€ฆ , ๐‘›๐‘ค+1) be the plaintext. The

ciphertext ๐‘ซ is then given by ๐‘ซ = ๐’ โˆ™ ๐น = ๐’ โˆ™ ๐‘ซ1 ๐น , ๐’ โˆ™ ๐‘ซ2 ๐น , โ€ฆ , ๐’ โˆ™ ๐‘ซ๐‘ค+1 ๐น Thus, the ๐‘—๐‘ขโ„Ž component of ๐‘ซ is the dot product of the vectors ๐’ and ๐‘ซ

๐’‹ ๐น where ๐‘ซ ๐’‹ ๐น is the ๐‘—๐‘ขโ„Ž

column vector of the encryption matrix ๐น.

13

slide-14
SLIDE 14

Decryption Algorithm

We use the corresponding decryption matrix ๐ธ to decrypt the ciphertext ๐‘ซ: We first compute the vector ๐’† as follows: ๐’† = ๐‘ซ โˆ™ ๐‘ซ1 ๐ธ๐‘ˆ , ๐‘ซ โˆ™ ๐‘ซ2 ๐ธ๐‘ˆ , โ€ฆ , ๐‘ซ โˆ™ ๐‘ซ๐‘ค+1 ๐ธ๐‘ˆ . Thus, the ๐‘—๐‘ขโ„Ž component of ๐’† is the dot product of ๐‘ซ and ๐‘ซ๐’‹ ๐ธ๐‘ˆ , where ๐‘ซ๐’‹ ๐ธ๐‘ˆ is the ๐‘—๐‘ขโ„Ž column vector of the matrix ๐ธ๐‘ˆ.

14

slide-15
SLIDE 15
  • The original plaintext ๐’ is recovered as follows:

๐’1 = ๐’ 1 = ๐’† 1 ๐‘ค + 1 ๐’๐‘—= ๐’ ๐‘— =

1 4(eโˆ’ ฮป) [๐’† ๐‘— โˆ’

๐’1 (๐‘ค โˆ’ 2๐‘™โ€ฒ + 1) for i > 1

  • This ๐’ is the final decrypted message which is

same as the original message.

15

slide-16
SLIDE 16
  • Case II: r = 0
  • We proceed as in case I, but now we use v x v

matrices A and B without bordering using an extra row and column of plus ones. Similar calculations work in this case.

16

slide-17
SLIDE 17
  • It is important to note that this proposed system

adheres to Kerckhoffโ€™s principle. That is, our cryptosystem is demonstrably secure even though the entirety of the algorithm may be disclosed publicly. Our strength and security lies solely in the vast complexity of the keyspace.

  • Table 1: Key Space Sizes (Here l is length of

the key vector K)

17

slide-18
SLIDE 18

๐‘š 100^ ๐‘š 250^ ๐‘š 300^ ๐‘š 400^ ๐‘š 20 1040 1047 1050 1052 30 1060 1071 1074 1078 40 1080 1095 1099 10104 50 10100 10119 10124 10130 100 10200 10238 10248 10260 18

Table 1: Key Space Sizes (Here l is length of the key vector K)

slide-19
SLIDE 19

Algebraic Approach for Key Generation

  • Since our cryptosystem of Section 3 hinges on the

keyspace, we develop an algebraic mechanism to construct the keyspace. Toward this, we now introduce the ideas needed to formulate the theory of binary array

  • pairs. We study them via their combinatorial

counterparts: difference set pairs in abelian groups.

  • Let ๐ป be an additively written abelian group of order ๐‘ค.

Let ๐ต and ๐ถ be subsets of ๐ป of size ๐‘™ and ๐‘™โ€ฒ respectively. Let ๐ต โˆฉ ๐ถ = ๐‘“. If the list/multiset of differences (๐‘ฆ โˆ’ ๐‘ง: ๐‘ฆ โˆˆ ๐ต, ๐‘ง โˆˆ ๐ถ, ๐‘ฆ โ‰  ๐‘ง) contains each nonzero element exactly ๐œ‡ times, then we call (๐ต, ๐ถ) a difference set pair (DSP) in ๐ป with parameters (๐‘ค, ๐‘™, ๐‘™โ€ฒ, ๐‘“, ๐œ‡).

19

slide-20
SLIDE 20
  • Several recursive constructions of DSPs are in [1], we state one

such:

  • Theorem 5.3:

Let (๐ต, ๐ถ) be a DSP with parameters (๐‘ค, ๐‘™, ๐‘™โ€ฒ, ๐‘“, ๐œ‡) in an abelian group ๐ป of order ๐‘ค. Let ๐น be a difference set in an abelian group ๐ผ of order 4๐‘› โˆ’ 1 with parameters (4๐‘› โˆ’ 1, 2๐‘›, ๐‘›) (complementary Paley parameters), whence: ๐น๐น(โˆ’1) = ๐‘› + ๐‘›๐ผ.

  • Let ๐ท = ๐น๐ต + (๐ผ โˆ’ ๐น)(๐ป โˆ’ ๐ต) and ๐ธ = ๐น๐ถ. Then (๐ท, ๐ธ) is a DSP in

๐ป ร— ๐ผ with parameters

  • (๐‘ค(4๐‘› โˆ’ 1), 2๐‘› โˆ’ 1 ๐‘ค + ๐‘™, 2๐‘›๐‘™โ€ฒ, 2๐‘›๐‘“, 2๐‘›๐œ‡)
  • If and only if ๐‘™โ€ฒ = 2๐œ‡, in which case the new DSP (๐ท, ๐ธ) also

satisfies the same condition, thereby making this construction recursive.

20

slide-21
SLIDE 21
  • Further recursive constructions are in [1]. We only state one such result to

convey our point. More details can be found in [1].

  • Theorem 5.4: Let ๐ธ๐‘— be a (4๐‘œ๐‘— โˆ’ 1, 2๐‘œ๐‘—, ๐‘œ๐‘—) difference set in an abelian

group ๐ป๐‘— for ๐‘— = 1,2. Define ๐‘Œ = ๐ป1 โˆ’ ๐ธ1 ๐ธ2 + ๐ธ1 ๐ป1 โˆ’ ๐ธ2 ; ๐‘ = ๐ธ1๐ธ2 . Then (๐‘Œ, ๐‘) is a balanced and ideal DSP in ๐ป1 ร— ๐ป2 with parameters (4๐‘œ1 โˆ’ 1, 2๐‘œ1, 2๐‘œ1, 2๐‘œ1, ๐‘œ1).

[ 2 2 ]

  • K. T. Arasu, A. Goyal and A. Puri, "Difference Set Pairs: A Recursive Approach," Transactions of Combinatorics, Vol. 6 No. 3 (2017),
  • pp. 19-36.

21