Simultaneous Encryption using Linear Block Channel Coding Rohit Pandharkar

Abstract We present a Matrix-based method for simultaneous Encryption and channel coding using Linear Block Codes. The method presented is different from the previous attempts by others so far for simultaneous coding and encryption in that it does not use the freedom or choice involved in the coding algorithms. It essentially uses a key matrix to add an encryption layer on the code-word matrix. The original code-word matrix is recovered by nullifying the encryption layer at the receiving end. This needs special Key Matrix design. The design considerations for this key matrix are elaborated and the encryption procedure is explained with the help of an example for the (6,3) Linear Block Code. Key Words: Linear Block Codes, Multiplicative inverse Matrix, Channel coding Introduction Channel coding is an error-control method used for providing robust data transmission through imperfect channels by adding redundancy to the data. Two vital classes of such coding techniques are: block and convolutional. We will be focusing on the Linear Block Coding and its use for encryption in this work. The attempts at simultaneous source coding and encryption mainly involved exploitation of the freedom involved in the compression algorithms. Chung-E Wang [1], [2] has worked extensively in the area of Cryptography in data Compression,and has delved into the possibilities of exploiting the freedom in the source coding algorithmc for the sake of encryption. Need to use Channel Coding for Encryption: We opt for channel coding as a better point of infusing encryption as compared to the source coding because of the following reasons: Limitations of infusing secrecy when simultaneously compressing.

A) Limitations due to reduction in Redundancy The Source Coding Algorithms by default decrease the redundancy in the original dta, whereas channel coding techniques increase the redundancy. The more the redundancy, the more the secrecy can be infused according to Shannon.Hence, Channel Coding is a better choice for simultaneous encryption. B) Limitation on the length of the key Length of the key is an important factor in determining the strength of encryption. Longer lengths of keys help preventing the brute force and chosen plain text attacks. In Huffman coding:,the limit on using joint compression and encryption approach is that, the key length cannot be more than the number of parent nodes present in the tree. And hence maximum key length is dependent on Message characteristics and prefix coding scenario. This restraint is related to 1. Number of symbols 2. Probability distribution of the symbols However, as shown in the further work, the encryption using channel coding can have a key matrix of n*n dimensions, and hence has better key length strength. Combining ‘Channel’ Coding and Encryption without using freedom: Considering the relations established by Shannon between source coding and encryption, and looking at the possibility of exploiting the freedom in the source coding algorithms, we look for alternative possibilities for simultaneous channel coding and encryption without using the freedom within the algorithms. Intorduction to Linear Block Codes: As Bernard Sklar [3] explains: Forward error correction (FEC) is the name used when the receiving equipment does most of the work. In the case of block codes, the decoder looks for errors and, once detected, corrects them (according to the capability of the code). The technique has become an important signal-processing tool used in modern communication systems

and in a wide variety of other digital applications such as high-density memory and recording media. Such coding provides system performance improvements at significantly lower cost than through the use of other methods that increase signal-to-noise ratio (SNR) such as increased power or antenna gain. We develop the idea for the simultaneous coding and encryption using simple binary codes. Table 1 gives the concept of using (n, k) Linear Block codes. (source [3])

John Proakis [4] has treated linear Block Codes, using the fundamentals of matrices.Before we describe the actual scheme of encryption using LBC, we would briefly review the Linear Block Coding, as explained by Bernard Sklar in [3]:

Linear Block Codes: Generator Matrix and Systematic Codes LBC use the concept of adding redundancy in the form of Parity bits so as to give information about error correction. The most general form of the parity generation in Linear Block Coding process , in which each code element ui of the code word U is a weighted sum of message elements, can be written in the form of a vector matrix equation as:

U = mG …(1)

…(2) where the entries of the matrix G, called the generator matrix, represent weights (field-element coefficients), and the multiplication operation follows the usual rules of matrix multiplication. The product of a message rowvector m with the ith column-vector of G forms ui a weighted sum of message elements representing the ith element of the code word row-vector U. For a binary code, the data elements as well as the matrix weights are 1s and 0s, but for a non binary code the data and weights are general field elements (of the non binary field) with arithmetic performed in accordance with the field structure. A useful variant of the code word U is one in which the vector of message elements is embedded, without change, in the code word along with an appended vector of parity elements. When the code word is constrained in this manner, the code is called a systematic code. To form a systematic code the generator matrix G can be modified in terms of sub matrices P and Ik as follows: U = mG = m[P|Ik ]…(3)

…(4)

where P is the parity portion of G, and Ik is a k-by-k identity submatrix (ones on the main diagonal, and zeros elsewhere).

Error Detection and the Parity-Check Matrix At the decoder, a method of verifying the correctness of a received vector is needed. Let us define a matrix H, called the parity-check matrix, that will help us decode the received vectors. For each (k × n) generator matrix G, one can construct an (n − k) × n matrix H, such that the rows of G are orthogonal to the rows of H. Another way to express this orthogonality is to say that GHT = 0, where HT is the transpose of H, and 0 is a k × (n − k) all-zeros matrix [5]. HT is an n × (n − k) matrix (whose rows are the columns of H). To fulfill the orthogonality requirements of a systematic code, the H matrix can be written as H = [In−k | PT ], where In−k represents an (n − k) × (n − k) identity sub matrix and P represents the parity sub matrix defined. Since by this definition of H, we see that GHT = 0, and since each U is a linear combination of the rows of G, then any vector r is a code word generated by the matrix G, if and only if rHT = 0…. (5) Equation (5) is the basis for verifying whether a received vector r is a valid code word. Towards Error Correction: Syndrome Testing In (r = U+ e), the received vector r was expressed as the addition of a transmitted code word U and an error pattern. Following (5), we define a syndrome vector S of r as S = rHT. …(6) The syndrome (like the symptom of an ailment) is the result of a parity check (like a diagnostic test) performed on r to determine whether r is a member of the code word set. If, in fact, r is a valid code word, then from (5), its syndrome S must be an all-zeros vector; in other words, r = U must have been generated by the matrix G. If r contains detectable errors, its

syndrome will have some nonzero value. If the detected errors are correctable, the syndrome will have a nonzero value that can uniquely earmark the particular error pattern. A forward error-correcting decoder will then take action to correct the errors Error Correction: The Syndrome actually relates us to the actual Error as follows: S = rHT = (Ui + ej ) HT = UiHT + ejHT…(7). From this, the error pattern can be decided. The Scheme for Simultaneous Compression and Encryption: Key Matrix: We use a Key Matrix: L of dimensions (n by n) The Key Matrix is a special a Square Matrix for which Inverse exists. Hence, find L-1 such that [L][ L-1]= [I]….(8) We call the matrix L-1 as the Multiplicative Inverse for the *[L] operation. Encrypted Code-Word Matrix U’’: The Code-word matrix U is converted into the encrypted matrix U’’ by [U]*[L]= [U’’]…(9) The received vetor will have added error as given below: The source codes used for communication will all be from the [U’’] matrix which cannot be decoded until the n*n matrx [L] is known. Z= U’’ + e … (10) For decoding the code-word to the right vector, we use the multiplicative inverse at the receiving end. Hence,

S = rHT = (Ui*L+ ej)([L -1HT ) …(11) = (Ui* L* L-1 *HT )+( ejHT L-1) = (Ui*HT )+( ejHT L-1) S = ( ejHT L-1) …(12) Hence we modify the syndrome table from ejHT to ( ejHT L-1). With this minor change the whole code word is retrieved along with error pattern. Example: (6, 3) Linear Block Code Table 2 describes a code word-to-message assignment for a (6, 3) code, (Source: Bernard Sklar [3])

Here the rightmost bit represents the earliest (and most-significant) bit. For each code word, the rightmost k = 3 bits represent the message (hence, the code is in systematic form). Since k = 3, there are 2k = 23 = 8 message vectors, and therefore there are eight code words. Since n = 6, then within the vector space Vn = V6 there are a total of 2n = 26 = 64 6-tuples. It is easy to verify that the eight code words shown in Table 2 form a subspace of V6 (the all-zeros vector is one of the code words, and the sum of any two code words is also a code word). Note that for a particular (n, k) code, a unique assignment does not exist; however, neither is there complete freedom of choice.

The Generator Matrix for (6,3) code: [G]=

…(13) The Message Matrix [M] for (6,3) code: [M]=

…(14) The Key Matrix for this (6,3)code: [L]=

…(15)

Calculating : [U]=[M][G]: [U]=

…(16) Calculating the New Encrypted Code Word Matrix U’’

[U’’] = [U]*[L] =

…(17) Note that [U’’] is quite different from [U], and cannot be traced back unless one has key matrix [L].

Retrieval of [U] from [U’’] Getting [U]= [U’’]*[L -1] =

…(18) The rest of decoding can now be done by using the standard decoder and the Syndromes may as well be interpreted for error patterns with minor changes as explained in the expression (12).

Standard Array for Linear Block Code (6.3,l source [3]:

Conclusions: Use of Channel Coding for Simultaneous Encryption purpose is a better choice as compared to the use of Source coding because of the Resdundancy increase found in Channel Coding and the possibilities for having higher key lengths for encryption. We here present a novel way to simultaneously encrypt the message while channel coding is performed.The method proposed does not alter the noprmal performance of the Channel coding by linear block codes, and infuses encryption as an added advantage. The method also sdoes not impose any extra overheads as the matrix G’’ can be pre-calculated using the multiplication [G]*[L]. Similarly at the receiving end, the matrix HT “ can be calculated beforehand by [HT]*[ L -1]. It shall be noted that the method does not make use of the standard approach of exploiting the freedom in coding methodology. In fact it makes use of the concept of multiplicative inverse for removing the encryption layer which is imposed by a prior multiplication. References [1] Chung-E Wang, “Cryptography in Data Compression”, CodeBreakers Journal Vol. 2, No. 3 (2005). [2] Chung-E Wang, “Simultaneous Data Compression and Encryption”, Security and Management 2003: 558-563. [3] Bernard Sklar, “The ABCs of Linear Block Codes”, IEEE Signal Processing Magazien, July 2004. [4] John G. Proakis, “Digital Communication”, Mc-Graw Hill Companies, (2007) [5] B. Sklar, Digital Communications: Fundamentals and Applications, 2nd ed.Englewood Cliffs, NJ: Prentice-Hall Inc., 2001. [6] T. Kasami, Klove, and S. Lin, “Linear block codes for error detection,”IEEE Trans. Inform. Theory, vol. IT-29, pp. 131–136, Jan. 1983. [7] W.W. Peterson and E.J. Weldon, Error Correcting Codes. Cambridge, MA:MIT Press, 1972. [8] Online Matrix Multiplier: http://wims.unice.fr/wims/wims.cgi

Simultaneous Encryption using Linear Block Channel Coding

Two vital classes of such coding techniques are: block and convolutional. We will be ..... Press, 1972. [8] Online Matrix Multiplier: http://wims.unice.fr/wims/wims.cgi.

166KB Sizes 1 Downloads 253 Views

Recommend Documents

A Parallel Encryption Algorithm for Block Ciphers ...
with respect to the circuit complexity, speed and cost. Figure 8 Single Block ... EDi=ith Binary Digit of Encrypted final Data .... efficient for software implementation.

BLOCK DIAGONAL LINEAR DISCRIMINANT ...
For example, in a Linear Discriminant Analysis (LDA) setting, a modeling assumption is typically made first (e.g., a full or a diagonal covariance matrix can be ...

MIMO BROADCAST COMMUNICATIONS USING BLOCK ...
The block-diagonal geometric mean de- composition ... scheme, called the block-diagonal UCD (BD-UCD). ... achievable sum-rates than conventional schemes.

Clear key encryption using MP4BOX -
What tools are needed and where are they ? MP4Box to encrypt or decrypt ... drm_file. It is an XML file whose syntax looks like this: XML Syntax. 1. 2. 3. 4. 5. 6. 7.

Diversity versus Channel Knowledge at Finite Block ...
between diversity and cost of estimating the channel. Notation: Uppercase ..... As in [15, App. A], applying Berry-Esseen inequality [14,. Thm. 44] to the first term ...

Block Faded Channel Estimation for Multiuser STBC ...
consequence, the authors of [3] proposed a multiuser data detection scheme where the channel was assumed to be known prior to data recovery for each user.

A Quality-Controllable Encryption for H.264/AVC Video Coding
1 Division of Information Technology, Graduate School at Shenzhen,. Tsinghua ... net is still far from a secure transmission medium, especially its wireless part.

A Novel Image Coding Scheme by Using Two-Channel ...
Phone: +81-45-566-1463 ... −nI, where I is an identity matrix and n is a natural number. FBs are ... LOT (GenLOT) [5] are important examples of those classes.

A Quality-Controllable Encryption for H.264/AVC Video Coding
of multimedia data usually grabs most networking bandwidth and computing .... Slices are categorized into three types: I (Intra) slice, P (Predictive) slice, and.

A Novel Image Coding Scheme by Using Two-Channel ...
Phone: +81-45-566-1463 .... and CFBs. The FBs used for the comparison are two- channel .... conventional wavelet-based image coding in the bit rate, un-.

On Linear Network Coding
California Institute of Technology. Pasadena, CA 91125. {jaggi , effros}@caltech.edu. Tracey C. Ho, Muriel Mйdard. Dept. of Electrical Engineering.

On Linear Network Coding
simply routed packets. As network coding matures, questions of code construction and of connections between network coding and traditional coding theory are ...

Single-Channel Power Supply Monitor with ... - Linear Technology
from the monitoring and control features of a power sup- ply manager, but most power supply manager ICs have more than one channel. In an application that ...

Single-Channel Power Supply Monitor with ... - Linear Technology
relying on the IDAC to be accurate, we have very good knowledge ... produced by Linear Technology®. ..... sures, so sensitivity is in degrees Centigrade per volt.

Theory and Design of Two-Channel Complex Linear ...
Oct 16, 2008 - FBs meeting both PU and the LP properties are desired to ... If ف = 0, then we call and ف are orthogonal. .... for image/video compression.

MIMO Broadcast Channel Rate Region with Linear ...
perfect channel state information and the power available at the transmitter is very large. Moreover, time sharing is not available. At arbitrary SNR, the capacity region is then known to be achievable with dirty paper coding (DPC) [1], [2] and globa

Side-channel attacks based on linear approximations
intermediate values by query (i.e. power trace) allowing to reduce data complexity ..... an implementation where countermeasures have been added against DPA but limited to ..... Des and differential power analysis (the ”duplication” method).

Lec-4 Linear Block Codes v5.pdf
Please enter this document's password to view it. Password incorrect. Please try again. Submit. Lec-4 Linear Block Codes v5.pdf. Lec-4 Linear Block Codes v5.

Block based embedded color image and video coding
We call this scheme as CSPECK (Color-SPECK) and compare ..... For comprehensive simulation results on various color test images at various bit-rates with ...

space time block coding for wireless communications pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. space time block ...

A Block-Based Video-Coding Algorithm Focusing on ...
[15] Shanableh, T. and M. Ghanbari, “Heterogeneous video transcoding to lower spatio-temporal resolutions and different encoding formats,” IEEE trans. on multimedia, 2(2), 101–110, 2000. [16] Shi, Y.Q. and H. Sun, Image and Video Compression fo

Separation of Source-Network Coding and Channel ...
Email: [email protected]. Abstract—In this paper we prove the separation of source- network coding and channel coding in a wireline network, which is a ...

Adaptive Distributed Network-Channel Coding For ...
cooperative wireless communications system with multiple users transmitting independent ...... Cambridge: Cambridge University Press, 2005. [13] SAGE, “Open ...