400 you need to find from somewhere Payday loan We can help

PUBLIC-KEY CRYPTOGRAPHY WITH 2×2 MATRICES

Author: Nicolae Mazilu

Published on Sunday, December 16th, 2007 in category ProtoQuant

Abstract. A commutative subgroup of the group of 2×2 real matrices is used for encryption and decryption purposes. The process is entirely analogous to that using Chebyshev polynomials, only a lot faster, more economical and apparently safer to attacks.

 

I. Introduction

There are two fundamental actions of the 2×2 matrices usually taken into consideration: the action in 1D domain and the action in the 2D domain, no matter if real or complex. The first one of these actions is the so-called projective or homographic action. If the variable of the 1D domain is represented by z (being real or complex) and the matrix is represented by the 2×2 table

image0015.png (1)

where the entries can, again, be real or complex, then the homographic action gives the following correspondence of the z-domain into itself:

image0025.png (2)

On the other hand there is an action in the 2D domain (real or complex) of the matrix (1) – the linear action. If the domain is represented by the pair of numbers (x, y) then the linear action gives the following correspondence of the domain into itself:

image0032.png (3)

The main difference between the two actions of the 2×2 matrices stays in the number of entries of the matrix necessary to completely characterize the action. In the case of homographic action three of the entries are sufficient to characterize the action, while in the case of linear action we need all four entries to completely characterize the action.

As known these two actions, or better the correspondences they induce by equations (2) and (3), are closely related to algebraic properties of the 2×2 matrices. Especially the composition of correspondences is related to the matrix multiplication.

We take into consideration just the homographic action (2) for z real. It gives a 1-to-1 correspondence except for the point

image0042.png (4)

where the denominator is zero. Formally the correspondence has a group property due to the group property of multiplication of matrices, because it can be easily verified that

image0053.png (5)

where ‘o’ represents the composition of functions and ‘•’ represents the matrix multiplication. In other words, the composition of two functions (2) corresponds to their matrix multiplication.

As in general the matrices do not commute in multiplication (they do not form an Abelian group) the composition of functions they define through homographic action has the same property:

image0062.png (6)

This means that in general the group of matrices cannot be used for encryption without special precaution.

However there are rich classes of commutative matrices (Abelian subgroups) that can be easily made to fill the need for encryption exactly like, for instance, Chebyshev polynomials only a lot easier and, we think, by a faster algorithm.

 

II. Describing an Abelian Subgroup

Choose two numbers (a, b) and build the 2×2 matrix

image0073.png (7)

This matrix has the important property

image0083.png (8)

Thus, if we construct the 2-parameter family of matrices

image0091.png (9)

where m and n are numbers, we have a double infinity of matrices which commute among them – an Abelian group – because we have:

image0103.png (10)

One can see that the coefficients of matrices e and h are symmetric bilinear forms in m and n.

 

III. The Cryptosystem Based on 2×2 Matrices

Thus, a public key encryption can be made based on the same principles as those related to Chebyshev polynomials. There are, of course, problems of detail like, for instance, the choice of m, n or a, b, but these can be fixed on a case by case basis. In principle, the following scenario, described in terms of universally known characters, Alice and Bob, seems to work very well:

In order to receive the messages, Alice has to do the following:

1. Select a real number x, and four other real numbers: a, b, mp, np

2. Calculate Ampnp(x) according to equation (2), using equation (9)

3. Set the public key [a, b, x, Ampnp(x)] in a public place and hold the pair (mp, np) as private key

In order to encrypt and communicate a message, Bob has to do the following:

1. Represent the message as a real number M

2. Obtain the public key [a, b, x, Ampnp(x)]

3. Select a pair of real numbers (mb, nb) and calculate Ambnb(x)

4. Calculate Ambnb[Ampnp(x)] and scramble the message into

X = M×Ambnb[Ampnp(x)]

5. Send the cipher message as the pair C ≡ [Ambnb(x), X]

In order to decrypt the cipher Alice has to do the following:

1. Obtain the cipher C

2. Calculate U ≡ Ampnp[Ambnb(x)]

3. Unscramble the cipher by M ≡ X/Ampnp[Ambnb(x)]

Leave a Reply

You must be logged in to post a comment.