Chapter 3 A 3D Parity Bit Structure 1

Similar documents
PART III. Data Link Layer MGH T MGH C I 204

Inst: Chris Davison

Ch. 7 Error Detection and Correction

Achieving Reliable Digital Data Communication through Mathematical Algebraic Coding Techniques

FAULT TOLERANT SYSTEMS

Chapter 6 Digital Data Communications Techniques

DATA LINK LAYER UNIT 7.

4. Error correction and link control. Contents

Midterm Exam 2B Answer key

Chapter Six. Errors, Error Detection, and Error Control. Data Communications and Computer Networks: A Business User s Approach Seventh Edition

CSE 123: Computer Networks

CS254 Network Technologies. Lecture 2: Network Models & Error Detection and Correction. Dr Nikos Antonopoulos

Data Link Layer Overview

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

Cardinality of Sets. Washington University Math Circle 10/30/2016

ENHANCED AES ALGORITHM FOR STRONG ENCRYPTION

A Novel Approach for Error Detection using Double Redundancy Check

Advanced Computer Networks. Rab Nawaz Jadoon DCS. Assistant Professor COMSATS University, Lahore Pakistan. Department of Computer Science

Data Link Layer Overview

Data Link Layer. Srinidhi Varadarajan

UNIT-II 1. Discuss the issues in the data link layer. Answer:

Error-Correcting Codes

Advanced Data Types and New Applications

Data Link Layer: Overview, operations

The Data Link Layer. CS158a Chris Pollett Feb 26, 2007.

The data link layer has a number of specific functions it can carry out. These functions include. Figure 2-1. Relationship between packets and frames.

(Refer Slide Time: 2:20)

Mathematics 308 Geometry. Chapter 9. Drawing three dimensional objects

Chapter 10 Error Detection and Correction 10.1

Data Link Layer Overview

Telecom Systems Chae Y. Lee. Contents. Flow Control Error Detection/Correction Link Control (Error Control) Link Performance (Utility)

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

INPUT TO (TM/TC) CHANNEL CODING GREEN BOOK(s) AS DISCUSSED AT THE MEETING IN CRYSTAL CITY, VA (USA) on 12 March Frame Error Control Field

Chapter 10 Error Detection and Correction. Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

CSE 123: Computer Networks

Optimization of Bit Rate in Medical Image Compression

Highly Secure Invertible Data Embedding Scheme Using Histogram Shifting Method

CMSC 2833 Lecture 18. Parity Add a bit to make the number of ones (1s) transmitted odd.

Course no. DIS4566 National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

CS321: Computer Networks Error Detection and Correction

CSE 461: Framing, Error Detection and Correction

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 4. September 09 CMSC417 Set 4 1

CSEP 561 Error detection & correction. David Wetherall

TYPES OF ERRORS. Data can be corrupted during transmission. Some applications require that errors be detected and corrected.

Chapter 18. Geometric Operations

Lecture / The Data Link Layer: Framing and Error Detection

Chapter 3. The Data Link Layer

Errors. Chapter Extension of System Model

Cluster Analysis. Angela Montanari and Laura Anderlucci

Efficient Majority Logic Fault Detector/Corrector Using Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

EITF25 Internet Techniques and Applications L3: Data Link layer. Stefan Höst

An Application of Graph Theory in Cryptography

Error Correction and Detection using Cyclic Redundancy Check

CSC 401 Data and Computer Communications Networks

ECE 333: Introduction to Communication Networks Fall Lecture 6: Data Link Layer II

CS 61A, Fall, 2002, Midterm #2, L. Rowe. 1. (10 points, 1 point each part) Consider the following five box-and-arrow diagrams.

Where we are in the Course

Packet/Frame, Error Detection How to send data efficiently & reliably?

Solutions to Problem Set 1

Data Link Layer Overview

ELEC 691X/498X Broadcast Signal Transmission Winter 2018

Stereo Image Rectification for Simple Panoramic Image Generation

Data Link Control Layer, Error Detection, Error Correction, and Framing

A Proposed Cipher Technique with a Study of Existing Cryptography Techniques

Introduction to Computer Networks. 03 Data Link Layer Introduction

Number and Quantity. Reporting Topic Grade Level Standards Standard Summary

CS612 - Algorithms in Bioinformatics

Secret Sharing With Trusted Third Parties Using Piggy Bank Protocol

Data Link Layer (1) Networked Systems 3 Lecture 6

Data Transmission Definition Data Transmission Analog Transmission Digital Transmission

3 The L oop Control Structure

CS3621 Midterm Solution (Fall 2005) 150 points

Overview of Conventional Encryption Techniques

ECSE 414 Fall 2014 Final Exam Solutions

Locating Restricted Facilities on Binary Maps

T325 Summary T305 T325 B BLOCK 4 T325. Session 3. Dr. Saatchi, Seyed Mohsen. Prepared by:

3. Data Preprocessing. 3.1 Introduction

Lecture 2 Error Detection & Correction. Types of Errors Detection Correction

2. Data Preprocessing

Layered Network Architecture. CSC358 - Introduction to Computer Networks

Data link layer functions. 2 Computer Networks Data Communications. Framing (1) Framing (2) Parity Checking (1) Error Detection

COMPUTER NETWORKS UNIT-3


Finite Element Analysis Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology Madras. Module - 01 Lecture - 15

Detecting and correcting mistakes

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer

The exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when time is announced or risk not having it accepted.

CS 4453 Computer Networks Winter

Introduction to Computer Graphics 4. Viewing in 3D

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

Majority Logic Decoding Of Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes

CS 3640: Introduction to Networks and Their Applications

Lecture 5. Homework 2 posted, due September 15. Reminder: Homework 1 due today. Questions? Thursday, September 8 CS 475 Networks - Lecture 5 1

(Refer Slide Time: 00:02:00)

Triangulation and Convex Hull. 8th November 2018

Chapter 4 Face Recognition Using Orthogonal Transforms

Problem Set Name the 7 OSI layers and give the corresponding functionalities for each layer.

Gardener s spline curve

Introduction to Data Communications & Networking

Grade K 8 Standards Grade 5

Transcription:

Chapter 3 A 3D Parity Bit Structure 1 3. Introduction There is always a major role of data structure used in any program or software. Bad programmers worry about the code, good programmers worry about data structures and their relationships - Linus Trivolds. If a data structure used in a program is better so will be the program using it. This Chapter details about some structures that can be used for cryptographic algorithms, error detection/correction, and validation/verification process. This is not the end of the pursuit to find more, non-conventional structures like the ones introduced in further sections. Structures are classified on the basis of the dimensions it uses. A direction that can be used to vary the specification of a structure is called a dimension. It was observed that researchers have proposed algorithms using one dimensional array, two dimensional arrays only. In this Chapter, three dimensional arrays are used for error detection/correction while transfer of information over the network. 3.1 Three dimensional Arrays There are various structures that use more than two directions to vary its specifications. Structures with three such directions are called three dimensional structures. Arrays may have three dimensions in which an element uses three index values to access it. Generally, the co-ordinates are represented as X, Y, and Z co-ordinates in the co-ordinate space. Thus a three dimensional (3D) array may be viewed as an array of two dimensional arrays (matrices). Fig. 3.1 shows a 1 This Chapter is based on paper [88]: Pushpa R. Suri, Sukhvinder Singh Deora, 3D Parity Bit Structure: A novel technique to correct maximal number of bits in a simpler way, International Journal of Computer Science and Information Security, Vol. 9 No. 8, August 2011, pp. 182-186 49

A 3D PARITY BIT STRUCTURE view of such array with some finite number of two-dimensional arrays (matrices) of fixed order. Z - axis Plane 2 X - axis Plane 1 Plane 3 Y - axis Fig. 3.1: A Three dimensional Array 3.1.1 Usage of Structures The choice of structures in various programming problems cannot be ignored. The same is true for any other operations performed on the data during parity bit stuffing for error detection and correction, use of cryptography for data security. Further sections explain the use of 3D array in error detection and correction using parity bit. 3.2 Parity Bit Information can be transmitted over the Internet using bits only. When a sender sends some information, it has to be converted into its binary representation before transferring it over the communication channel. At times, during transmission of the bits, the bit(s) can change, or can even get completely destroyed due to transmission errors that might occur due to signal distortion or attenuation also 50

SOME CRYPTOGRAPHIC ALGORITHMS FOR SECURE NETWORK COMMUNICATION known as noise. Techniques like checksums, weighted checksums, CRC codes etc are used for correcting such burst errors. A parity bit, an extra 0 or 1 bit that may be attached to the original bits may also be used to detect or correct errors [7, 112]. These extra bits may be used to correct the error bits in case of errors while transmission. Errors during transmission of bits are to be detected and/or corrected so that only the correct information is received by the receiver [13, 30, 89]. Claude D Amours combine the two techniques rather than appending the parity bits at the end of the information sequence, the use of (n k) parity bits to select one of 2n k orthogonal spreading sequences was suggested [28]. If wrong parity is found, the received data is discarded and retransmission is requested by the receiver [65, 66]. Parity bits may also be used to detect and correct such bit errors. Researchers Charles H. Bennett et.al. and G. Di Natale et.al. have described the use of parity bits in quantum cryptography and as S-box for AES algorithm respectively [23, 47]. This Chapter presents a simpler, effective and novel technique of using the parity bit coding using a 3D Array structure that may lead to correction of many bits in a simple way. The suggested method is beneficial for commercial usage too as it will reduce the number of retransmissions required. 3.3 The Proposed Parity Usage Technique The encoding technique provides a new approach to the simplest and oldest error detection method using parity bit values. In this scheme, the binary data is taken in a 3D array by the sender of information. He adds binary digits called parity bits to indicate odd/even parity as decided prior to communication. The parity bit is appended to original data set at a fixed location in the 3D array bit structure. After receiver receives the information bits, they are tested for parity values to detect/correct errors, if any. The details are given in the next subsections. 51

A 3D PARITY BIT STRUCTURE 3.3.1 Three Dimensional Array Block Firstly, a three dimensional nxnxn sized array is taken to store the bits in row-wise storage as shown in Fig. 3.2 for a 3x3x3 array. The size nxnxn has been taken with the assumption that we have recognized that there were single or multi-bit errors in block size of n bits. If the information bits s are less than the smallest n such that s <= n 3, the empty spaces are filled with bit stuffing. The bits added can be easily recognized as non-information bits. Fig. 3.2: Arrangement of a 3x3x3 Array Bit sequence 3.3.2 Parity bits Parity bits are added in each row and column as shown in Fig. 3.3. The Parity bits are shown as P ijk values for example fig. 3.2 i-th matrix s j-th row and k-th column, for all matrix 1, matrix 2 and matrix 3 of 3x3x3 array of bits. Fig. 3.3: Parity Bits calculated Row and Column-wise The parity bit block can be then evaluated by finding P ikj of matrix i=4 (size of cubic array +1), combining the data bits of particular rows, columns and depth of all the metrics of 3D Array as detailed example in Fig. 3.4. 52

SOME CRYPTOGRAPHIC ALGORITHMS FOR SECURE NETWORK COMMUNICATION Fig. 3.4: Parity Bits calculated Depth-wise The formulas to be used to calculate the parity bits for a three dimensional Array A of size nxnxn is given by (3.1), (3.2) and (3.3). The formula for calculation of the parity bits for each row j of i-th 2D subarray of A is: P i,j,k+1 = A i,j,1 A i,j,2 A i,j,3 A i,j,n for 1 i n, 1 j n (3.1) (3.2) shows The formula for calculation of the parity bits for each column k of i-th two dimensional subarray of A. Pi,j+1,k = Ai,1,k Ai,2,k Ai,3,k Ai,n,k for 1 i n, 1 k n (3.2) Similarly, (3.3) is used to calculate parity bits in the (i+1)-th 2D subarray of A for all positions (j,k) in each 2D subarray from 1 to n. Pi+1,j,k = A1,j,k A2,j,k A3,j,k An,j,k for 1 j n, 1 k n (3.3) 3.3.3 Approach The number of errors detected and/or corrected can be recorded for above scheme applying parity bits on a three dimensional array block. The approach is capable of correcting single bit error on all of the two dimensional matrice since it will mark a change in parity bit of all the three locations. Since, none of the parity will agree to error bit, the positions corresponding to erroneous parity bits is due to error at the location of intersection of those parity bit positions. Thus any single bit error 53

A 3D PARITY BIT STRUCTURE on the block is correctable since parity bits in all the three directions will become wrong and the position of the erroneous bit can be easily detected. The value of the parity bit at the identified location may be then toggled to get the corrected value. Consider the example, if bit 1 is erroneous (Fig. 3.5), then the parity bits P 114, P 141, P 411 will give us wrong parity. One can identify that the erroneous bit is the one that is at the intersection point of any two of the Parity line representations (red, green, blue) on some matrix corresponding to P 114, P 141 or P 411. Even if it is assumed that at worst, maximum one parity bit of the structure corresponding to each bit can go wrong, such errors are correctible. As out of the three parity bit positions only two will be enough to identify the location of the wrong valued bit to be toggled. If there are one or more errors on one of the Parity line (red, green or blue) then also the errors will be detectable and correctable using two parity bits on other two parity line (Fig. 3.5). Fig. 3.5 Example of Erroneous bit & corresponding Parity bits 54

SOME CRYPTOGRAPHIC ALGORITHMS FOR SECURE NETWORK COMMUNICATION However, if there are errors on the 3D array cube such that it forms a cube/cuboid shape, then those errors will become undetectable (Fig. 3.6). It is noteworthy that in such cases there will be even number of errors on all the parity lines that correspond to that particular bit position that goes undetected and are therefore is not correctable. In this case there is no hint of an error in the received bits as all the parity bits will appear to be correct in accordance to the data bits in the three dimensional array. Fig. 3.6: Cases that fall under CATEGORY III 3.3.4 Error Categorization All types of the bit errors may be categorized into three types: Category I DETECTABLE AND CORRECTABLE Category II DETECTABLE BUT NOT-CORRECTABLE Category III NOT-DETECTABLE Category I type errors are those in which it can be detected that error has occurred along with the position where it has occurred so that the bit can be toggled to 55

A 3D PARITY BIT STRUCTURE correct it. Category II type errors are those in which it can only be observed that something wrong has happened at some location of the bit set, but the location of error it is not traceable. In this case, the receiver will request the sender to re-send the information bits again since error has occurred but cannot be corrected at the receiver s end. Category III type errors are the errors that can t be detected as none of the parity bit hints about possible error occurrence. 3.3.5 Implementation A program in C was developed for different size of three dimensional arrays that store some arbitrary bit values (information bits), a sample code is provided in Annexure A. The corresponding parity bits are then calculated according to (3.1), (3.2) and (3.3). It also takes some variable for counting the number of Category I errors that occurred in the simulation run and another variable that counts the number of errors of Category II until first error of Category III is encountered. The program increments value of variable that counts the errors of Category I or II as and when these occur in the simulation run. The random number generator function of C had been used to mark some arbitrary bit location as erroneous one by one. On error occurrence, the program checks whether that error falls under Category I / Category II / Category III. If error falls under Category I, its corresponding counter is incremented by one. If error falls under category II, its counter is incremented, as it can be detected that something wrong has occurred but not its location, still a re-send request may be used to have correct information again. The process stops on encountering first error of Category III as it will lead to erroneous information treated as correct at receiver s end. In nutshell, the number of errors that can be detected and/or corrected are counted using the simulation runs of the concept. The C Program that counts the number of errors of such types detected/corrected is available in Annexure A. The average number of cases that can be detected/corrected using these simulation runs was evaluated against the number of parity bits used. 56

SOME CRYPTOGRAPHIC ALGORITHMS FOR SECURE NETWORK COMMUNICATION 3.3.6 Test Results The implementation in C program counted the errors which fall under the Category I and after some modifications counted the errors which fall under the Category II. The graph in Fig. 3.7 shows the average number of Category I and Category II type errors in case of particular sized 3D Array block. The graph shows increase in no. of case of both categories for a prime sized 3D Array block. This may be attributed towards the fact that if the errors are more random, the number of errors that fall under Category I and Category II be detectable in a prime sized 3D array block. Also it was noticed that there are some more good values near prime valued 3D array. However, for size of arrays that are divisible by small prime numbers like 2, 3 and 5, the number of errors of Category I or II decreases. Fig. 3.7: Number of Category I and Category II errors The average %-age of bits of Category I errors successfully corrected during the simulation runs is 2.49 % of the number of parity bits used and that of Category II 57

A 3D PARITY BIT STRUCTURE is 5.52 % of number of parity bits used. The comparison between the number of parity bits used for a particular nxnxn sized three dimensional Array Block and the %-age of Category I and Category II errors is given in Fig. 3.8 below. Although the %-age of errors corrected decreases with increase in n but overall behavior is such that most of the errors at various locations in the 3D Array can be detected and corrected. Fig. 3.8: %-age of Category I and Category II errors 3.4 Conclusion The results of the proposed scheme appear good as per expectations. The number of errors that can be detected increases with the increase in the size of three dimensional arrays. There has been increase in the average number of errors that can be detected / corrected for prime size three dimensional array blocks during simulation runs. 58

SOME CRYPTOGRAPHIC ALGORITHMS FOR SECURE NETWORK COMMUNICATION This experimental approach towards proposed 3D Array Parity Bit structure helped in drawing the following important inferences: 1. The 3D Array Block Parity bit scheme may be applied to any number of bits, as one can pad up the bits to complete the required number of bits for a complete 3D cubic array block. Hence, flexibility of size will enable use of this technique in different work areas of computer science. 2. The results for prime sized 3D Array Blocks were more convincing and can be used to detect and/or correct more than the average number of errors. 3. %-age of bit errors detectable and/or correctable reduces with increase in value of n for any nxnxn sized 3D Array. However, a good number of errors can be corrected/detected using this approach. 4. If all three parity bits are wrong, position of erroneous bit is definite. 5. If any two parity bits are wrong, it may be that one of the parity line contained even number of errors but the other two parity bits may be then used to identify the wrong bits and is again correctible. 6. If only one parity bit is wrong, it implies that there are even bit-errors on other two of the parity lines and so position of the error is not detectable, but it is inferred that there is some error. In such cases, the receiver may ask for re-send request to the sender, thereby avoiding making error. 3.5 Future Scope The proposed approach may be applied to some other three dimensional structures or non-conventional structures to analyze the impact of this scheme error detecting and correcting property of parity bits using that structure. The concept looks simple yet good to work in situations when the approximate error bursts are known in advance so that one may decide about the structure to be used for appending and calculation of the parity bits. 59

A 3D PARITY BIT STRUCTURE 60