EC500. Design of Secure and Reliable Hardware. Lecture 9. Mark Karpovsky

Similar documents
CSN Telecommunications. 5: Error Coding. Data, Audio, Video and Images Prof Bill Buchanan

CS321: Computer Networks Error Detection and Correction

Hamming Codes. s 0 s 1 s 2 Error bit No error has occurred c c d3 [E1] c0. Topics in Computer Mathematics

Fault-Tolerant Computing

Ch. 7 Error Detection and Correction

EC500. Design of Secure and Reliable Hardware. Lecture 1 & 2

36 Modular Arithmetic

Chapter 10 Error Detection and Correction 10.1

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

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

Communication Fundamentals in Computer Networks

FAULT TOLERANT SYSTEMS

Homework #5 Solutions Due: July 17, 2012 G = G = Find a standard form generator matrix for a code equivalent to C.

ENEE x Digital Logic Design. Lecture 3

EE 6900: FAULT-TOLERANT COMPUTING SYSTEMS

LINEAR CODES WITH NON-UNIFORM ERROR CORRECTION CAPABILITY

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

Cryptology complementary. Finite fields the practical side (1)

Lecture 2 Algorithms with numbers

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

Lecture 6: Reliable Transmission. CSE 123: Computer Networks Alex Snoeren (guest lecture) Alex Sn

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

Finite Fields can be represented in various ways. Generally, they are most

Fault Tolerance & Reliability CDA Chapter 2 Additional Interesting Codes

Link Layer: Error detection and correction

QED Q: Why is it called the triangle inequality? A: Analogue with euclidean distance in the plane: picture Defn: Minimum Distance of a code C:

Vertex Identifying Codes for Fault Isolation in Communication Networks

CS 64 Week 1 Lecture 1. Kyle Dewey

Lecture 7: Counting classes

DIGITAL ARITHMETIC. Miloš D. Ercegovac Computer Science Department University of California Los Angeles and

Formally Self-Dual Codes Related to Type II Codes

Lecture / The Data Link Layer: Framing and Error Detection

Review of Calculus, cont d

4. Error correction and link control. Contents

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

CSEP 561 Error detection & correction. David Wetherall

Table of Contents. Preface... vii Abstract... vii Kurzfassung... x Acknowledgements... xiii. I The Preliminaries 1

CRYPTOGRAPHIC devices are widely used in applications

CHAPTER V NUMBER SYSTEMS AND ARITHMETIC

Random-Number Generation

J. Manikandan Research scholar, St. Peter s University, Chennai, Tamilnadu, India.

Lecture Notes on Ints

Arithmetic and Logic Blocks

Chapter 2. Positional number systems. 2.1 Signed number representations Signed magnitude

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due Thursday!

Digital Design. Verilo. and. Fundamentals. fit HDL. Joseph Cavanagh. CRC Press Taylor & Francis Group Boca Raton London New York

INF2270 Spring Philipp Häfliger. Lecture 4: Signed Binaries and Arithmetic

Enhanced Detection of Double Adjacent Errors in Hamming Codes through Selective Bit Placement

Binary Adders. Ripple-Carry Adder

CHAPTER 2 Data Representation in Computer Systems

CHAPTER 2 Data Representation in Computer Systems

More NP-complete Problems. CS255 Chris Pollett May 3, 2006.

My 2 hours today: 1. Efficient arithmetic in finite fields minute break 3. Elliptic curves. My 2 hours tomorrow:

Forward Error Correction Codes

Definition. A Taylor series of a function f is said to represent function f, iff the error term converges to 0 for n going to infinity.

Number Representation

Partial Inverses mod m(x) and Reverse Berlekamp Massey Decoding

Calculation of extended gcd by normalization

Linear Block Codes. Allen B. MacKenzie Notes for February 4, 9, & 11, Some Definitions

(Refer Slide Time: 2:20)

Error Correction and Detection using Cyclic Redundancy Check

McEliece Cryptosystem in real life: security and implementation

Kevin Buckley

ELG3175 Introduction to Communication Systems. Introduction to Error Control Coding

Lecture Notes 2: The Simplex Algorithm

Floating-Point Data Representation and Manipulation 198:231 Introduction to Computer Organization Lecture 3

Geometric Algorithms. 1. Objects

CS321. Introduction to Numerical Methods

Content of this part

LOW-density parity-check (LDPC) codes have attracted

Multi-matrices and arithmetical operations with multi-matrices

Graph Algorithms Matching

A Mathematical Proof. Zero Knowledge Protocols. Interactive Proof System. Other Kinds of Proofs. When referring to a proof in logic we usually mean:

Zero Knowledge Protocols. c Eli Biham - May 3, Zero Knowledge Protocols (16)

Rank Minimization over Finite Fields

Algorithms and Data Structures, or

Comparative Performance Analysis of Block and Convolution Codes

ON THE STRONGLY REGULAR GRAPH OF PARAMETERS

Circuit Walks in Integral Polyhedra

Advanced Computer Architecture-CS501

1 Undirected Vertex Geography UVG

The Encoding Complexity of Network Coding

Chapter 4. Operations on Data

ECE232: Hardware Organization and Design

Rectangular Matrix Multiplication Revisited

MT365 Examination 2017 Part 1 Solutions Part 1

MULTIPLE LAYERED REED-SOLOMON CODES IN AUDIO DISKS WITH A FEEDBACK SYSTEM SREENIVAS RAO BELAVADI SATISH THESIS

Announcement. (CSC-3501) Lecture 3 (22 Jan 2008) Today, 1 st homework will be uploaded at our class website. Seung-Jong Park (Jay)

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

SEC 1: Elliptic Curve Cryptography

Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures. Algorithms and Data Structures

Up next. Midterm. Today s lecture. To follow

Ch 3.4 The Integers and Division

Floating Point Arithmetic

ISSN Vol.08,Issue.12, September-2016, Pages:

Digital Logic Design: a rigorous approach c

RSA (material drawn from Avi Kak Lecture 12, Lecture Notes on "Computer and Network Security" Used in asymmetric crypto.

1 Random Walks on Graphs

Lecture 6: Arithmetic and Threshold Circuits

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Transcription:

EC500 Design of Secure and Reliable Hardware Lecture 9 Mark Karpovsky 1

1 Arithmetical Codes 1.1 Detection and Correction of errors in arithmetical channels (adders, multipliers, etc) Let = 0,1,,2 1 and be a subset of. We will call an arithmetical code. For any,, we denote the arithmetical distance between and as,, where, is a minimal number of ±2 terms in representation of, for <. Norm of, = 0,. For the rest of this lecture note, we will denote, as just, for simplicity. As an example, for =4, we have 2,9 =2 since 9 2=7=2 2, or 7 =2. The arithemetical distance of a code is the minimal distance between any two different codewords of the code. If is distorted into = +, then the multiplicity of the error is. A code is capable of detecting errors iff +1, and correcting errors iff 2 +1. 1.2 AN-Codes = 0,,2,, 1 where 1 2 1. For any, the residue of modulo, res, is equal to 0. (res =0 is comparable to =0 for linear codes where is the check matrix for the code). Error detection: verify that the output of the arithmetical device (AD) belongs to. (verify that res =0). Error correction: for an output, find the nearest (in terms of arithmetical distance) codeword. 1.2.1 Single Error Detecting Arithmetical codes with distance 2 =3 since res ±2 is not equal to 0. The number of codewords is less than or equal to +1. 1.2.2 Single Error Correcting (SEC) Arithmetical codes with distance 3 Any single error is in the form ±2 for =0,1,, 1. To correct single errors by AN-code, we need that the syndromes should all be different and not equal to. =11, =23 res 2 =1, res 2 =22, res 2 =2, res 2 =21, res 2 =4, res 2 =19, res 2 = 8, res 2 =15, res 2 =16, res 2 =7,, res 2 =12, res 2 =11 mod 23. All numbers ±2 for =0,1,2,3,4,,11 are different modulo 23 and we have a 23 single error correcting code = 0,23,46,,2047. 2

1.3 Hamming Bound Let, be the volume of an arithmetical ball with radius. (number of errors with multiplicity for = 0,1,,2 1 ). Since for error correction by AN code, any 2 errors and should have different syndromes (res res ), we have,. Compare to 2 =2, where, is the volume of the Hamming ball of radius for linear codes. We say the code is perfect iff =,. For single errors ( =1, =3),,1 =2 +1. SEC code is perfect iff =2 +1. The 23 code shown in the previous example is perfect. Theorem. AN codes are prefect SEC codes iff 2 is primitive modulo. 1.4 Hardware Implementations of Nonsystematic Arithmetical Codes 1.5 Hardware Implementations of Systematic Arithmetical Codes Codewords in the form,res ( is bits, res is =log bits) 3

1.6 Low Cost AN Codes Division is not required to compute res. Denote = +1, represent with radix. = where belongs to 0,1,, 1. Then, res =res +res + +res = + + + since res =. Or, denote = 1, represent with radix. = where belongs to 0,1,, 1. Then, res =res res +res res + +res = + +, where res = if < 1 and res =0 if = 1. For =2, =2 +1 or =2 1. If =2 +1, then res 2 =1 and if =2 1, then res 2 = 1. 1 =31, =5, =32, =15 Let = 2 = 2 +2 2 +2 2 = +2 +2, where,, belong to 0,1,,31. Then, res =res +res +res (mod 31). res = if <32, and res =0 if =31. 2 =33, =5, =32, =15 Let = 2 = 2 +2 2 +2 2 = +2 +2, where,, belong to 0,1,,31. Then, res =res res +res = + (mod 33). 4

2 Cyclic Hamming Codes Let =2 1 and consider 2. Let be primitive in 2.,,, =0,1,,2 2. Take = 1, + since, is a check matrix for a 2 1,2 1,3 Hamming code. For =3, iff + + + + =0. Let = + + + + polynomial representation of, then iff =0, is a root of. For =,,,, denote =Rot =,,,. Then in the polynomial form, = + + + + = since = =1. There are no simple procedures to decide whether a polynomial is primitive over (irreducibility is a necessary condition for primitivity). For 2, there are good tables of primitive polynomials. = = 0,1, =3 Binary Polynomial Exponenetial 0 0 0 0-0 0 1 0 1 0 0 1 1 + 1 0 0 1 1 0 1 1+ 1 1 0 1+ 1 1 1 1+ + 1 = + +1 = +1 = +, = + = + +1, = + + = +1+ + = +1 = = + =1, 2 =8 101 110 = = = =001 111 110 = =001, 110 101 = = =011 Thus, if =Rot, then =. If =0, = =0 Rot. Our code is closed for circular shifts cyclic code. 5

3 Binary Hamming Codes (cont d) =2 1. Consider 2 generated by where deg =. Let be the root of, =0. Take = 1, (Hamming code) iff =0, =0. If =0. Consider = for any, then = =0. If is a codeword, all multiples of are codewords. Since =0, code consists of all multiples of. For example, for =3, one can take = + +1 (primitive). Then 1101000 and code consists of all multiples of = + +1. + +1 +1 = + + + + +1= + + +1 1110010 Remark: Shortened Hamming codes with <2 1 are not cyclic. 3.1 Generating Matrices for Binary Hamming Codes Let be used to construct 2 deg =. is primitive and =0,. Then since =Rot., and the generating matrix can be taken as =, where = =2 1. =2 1=7, =3, =4 = + +1 = 1101000 = + + or in binary 0110100 = + + or 0011010 = + + or 0001101 1 1 0 1 0 0 0 0 1 1 0 1 0 0 And = =4 (not in standard form) 0 0 1 1 0 1 0 0 0 0 1 1 0 1 =3, + +1 + +1=0 0 0 1 0 1 1 1 = 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 = 1 7,4,3 Hamming code. Let =,,,, then =0. 6