EE 6331, Spring, 2009 Advanced Telecommunication Zhu Han Department of Electrical and Computer Engineering Class 20 Apr. 9 th, 2009.

Slides:



Advertisements
Similar presentations
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Advertisements

Cyclic Code.
Error Control Code.
Computer Networking Error Control Coding
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
Computer Science 101 Data Encryption And Computer Networks.
22C:19 Discrete Structures Integers and Modular Arithmetic
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
Information Theory Introduction to Channel Coding Jalal Al Roumy.
Reliability & Channel Coding
Cellular Communications
Transmission Errors Error Detection and Correction
Creating Secret Messages. 2 Why do we need to keep things secret? Historically, secret messages were used in wars and battles For example, the Enigma.
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
Coding and Error Control
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
An Introduction to Cryptology and Coding Theory Discrete Math 2006.
Department of Electrical and Computer Engineering
DIGITAL COMMUNICATION Coding
Security Module – Part 1 Spring 2006 V.T. Raja, Ph.D., Oregon State University.
An Introduction to Cryptology and Coding Theory Sarah Spence Adams Olin College Gordon Prichett Babson College
1 Introduction to Codes, Ciphers, and Cryptography Michael A. Karls Ball State University.
Transmission Errors Error Detection and Correction
Chapter 12 Cryptography (slides edited by Erin Chambers)
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Channel Coding and Error Control
ECE 4371, Fall, 2014 Introduction to Telecommunication Engineering/Telecommunication Laboratory Zhu Han Department of Electrical and Computer Engineering.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
CSC 335 Data Communications and Networking Lecture 5: Error Detection, Error Correction, and Data Security Dr. Cheer-Sun Yang.
Cryptography, Authentication and Digital Signatures
ECE 4371, Fall, 2015 Introduction to Telecommunication Engineering/Telecommunication Laboratory Zhu Han Department of Electrical and Computer Engineering.
ECE 6332, Spring, 2014 Wireless Communication Zhu Han Department of Electrical and Computer Engineering Class 18 March. 26 th, 2014.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Data Link Layer: Error Detection and Correction
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Chapter 10. Error Detection and Correction
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
Public Key Encryption.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
Encryption. Introduction The incredible growth of the Internet has excited businesses and consumers alike with its promise of changing the way we live.
ECE 4331, Fall, 2009 Zhu Han Department of Electrical and Computer Engineering Class 21 Nov.5 th, 2009.
Channel Coding Binit Mohanty Ketan Rajawat. Recap…  Information is transmitted through channels (eg. Wires, optical fibres and even air)  Channels are.
Wireless. Wireless hosts: end system devices; may or may not be mobile Wireless links: A host connects to a base station or host through a communication.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction
Elementary Coding Theory Including Hamming and Reed-Solomom Codes with Maple and MATLAB Richard Klima Appalachian State University Boone, North Carolina.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
1 Cryptography Troy Latchman Byungchil Kim. 2 Fundamentals We know that the medium we use to transmit data is insecure, e.g. can be sniffed. We know that.
Transmission Errors Error Detection and Correction.
Chapter Nine: Data Transmission. Introduction Binary data is transmitted by either by serial or parallel methods Data transmission over long distances.
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Communication Networks: Technology & Protocols
The Three Main Sources of Transmission Errors
Advanced Computer Networks
PART VII Security.
Chapter Nine: Data Transmission
Cyclic Code.
Coding and Error Control
Reliability and Channel Coding
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Presentation transcript:

EE 6331, Spring, 2009 Advanced Telecommunication Zhu Han Department of Electrical and Computer Engineering Class 20 Apr. 9 th, 2009

ECE6331 Outline Review –ARQ –Linear Code Scrambler Cyclic Code Encryption Basics

ECE6331 Automatic Repeat-reQuest (ARQ) Alice and Bob on their cell phones –Both Alice and Bob are talking What if Alice couldn’t understand Bob? –Bob asks Alice to repeat what she said What if Bob hasn’t heard Alice for a while? –Is Alice just being quiet? –Or, have Bob and Alice lost reception? –How long should Bob just keep on talking? –Maybe Alice should periodically say “uh huh” –… or Bob should ask “Can you hear me now?”

ECE6331 Error Correcting Codes Adding redundancy to the original message To detect and correct errors Crucial when it’s impossible to resend the message (interplanetary communications, storage..) and when the channel is very noisy (wireless communication) Message = [ ] Noise = [ ] Message = [ ]

ECE6331 Parity Check Add one bit so that xor of all bit is zero –Send, correction, miss –Add vertically or horizontally Applications: ASCII, Serial port transmission

ECE6331 Even More Dots Allows: Error DETECTION for Hamming Distance = 2. Error CORRECTION for Hamming Distance =1. For Hamming distances greater than 2 an error gives a false correction. For Hamming distance of 2 there is an error detected, but it can not be corrected.

ECE6331 Another Example: Encoding we multiply this matrix But why? You can verify that: To encode our message By our message Hamming[ ]=[ ] Hamming[ ]=[ ] Hamming[ ]=[ ] Hamming[ ]=[ ] Where multiplication is the logical AND And addition is the logical XOR

ECE6331 Example: Add noise If our message is Message = [ ] Our Multiplying yields Code = [ ] Lets add an error, so Pick a digit to mutate Code => [ ]

ECE6331 Example: Testing the message We receive the erroneous string: Code = [ ] We test it: Decoder*Code T =[0 1 1] And indeed it has an error The matrix used to decode is: To test if a code is valid: Does Decoder*Code T =[0 0 0] –Yes means its valid –No means it has error/s

ECE6331 Example: Repairing the message To repair the code we find the collumn in the decoder matrix whose elements are the row results of the test vector We then change We trim our received code by 3 elements and we have our original message. [ ] => [ ] Decoder*codeT is [ 0 1 1] This is the third element of our code Our repaired code is [ ]

ECE6331 Coding Gain Example

ECE6331 ARQ, FEC, HEC ARQ Forward Error Correction (error correct coding) Hybrid Error Correction txrx Error detection code ACK/NACK txrx Error correction code txrx Error detection/ Correction code ACK/NACK

ECE6331 Important Hamming Codes Hamming (7,4,3) -code. It has 16 codewords of length 7. It can be used to send 2 7 = 128 messages and can be used to correct 1 error. Golay (23,12,7) -code. It has codewords. It can be used to transmit messages and can correct 3 errors. Quadratic residue (47,24,11) -code. It has codewords and can be used to transmit messages and correct 5 errors.

ECE6331 Reed–Muller code

ECE6331 Scrambling Example 7.2 Exercise:

ECE6331 Scrambling Example Scrambler Descrambler

ECE6331 Cyclic code Cyclic codes are of interest and importance because – They posses rich algebraic structure that can be utilized in a variety of ways. – They have extremely concise specifications. – They can be efficiently implemented using simple shift register – Many practically important codes are cyclic In practice, cyclic codes are often used for error detection (Cyclic redundancy check, CRC) –Used for packet networks –When an error is detected by the receiver, it requests retransmission –ARQ

ECE6331 BASIC DEFINITION of Cyclic Code

ECE6331 FREQUENCY of CYCLIC CODES

ECE6331 EXAMPLE of a CYCLIC CODE

ECE6331 POLYNOMIALS over GF(q)

ECE6331 EXAMPLE

ECE6331 Cyclic Code Encoder

ECE6331 Cyclic Code Decoder Divider Similar structure as multiplier for encoder

ECE6331 Cyclic Redundancy Checks (CRC)

ECE6331 Example of CRC

ECE6331 Checking for errors

ECE6331 Capability of CRC An error E(X) is undetectable if it is divisible by G(x). The following can be detected. –All single-bit errors if G(x) has more than one nonzero term –All double-bit errors if G(x) has a factor with three terms –Any odd number of errors, if P(x) contain a factor x+1 –Any burst with length less or equal to n-k –A fraction of error burst of length n-k+1; the fraction is 1-2^(- (-n-k-1)). –A fraction of error burst of length greater than n-k+1; the fraction is 1-2^(-(n-k)). Powerful error detection; more computation complexity compared to Internet checksum

ECE6331 BCH Code Bose, Ray-Chaudhuri, Hocquenghem –Multiple error correcting ability –Ease of encoding and decoding –Page 653 Most powerful cyclic code –For any positive integer m and t<2^(m-1), there exists a t- error correcting (n,k) code with n=2^m-1 and n-k<=mt. Industry standards –(511, 493) BCH code in ITU-T. Rec. H.261 “video codec for audiovisual service at kbit/s” a video coding a standard used for video conferencing and video phone. –(40, 32) BCH code in ATM (Asynchronous Transfer Mode)

ECE6331 BCH Performance

ECE6331 Reed-Solomon Codes An important subclass of non-binary BCH Page 654 Wide range of applications –Storage devices (tape, CD, DVD…) –Wireless or mobile communication –Satellite communication –Digital television/Digital Video Broadcast(DVB) –High-speed modems (ADSL, xDSL…)

ECE : Mariner 9 Mariner 9 used a [32,6,16] Reed-Muller code to transmit its grey images of Mars. camera rate: 100,000 bits/second transmission speed: 16,000 bits/second

ECE : Voyagers I & II Voyagers I & II used a [24,12,8] Golay code to send its color images of Jupiter and Saturn. Voyager 2 traveled further to Uranus and Neptune. Because of the higher error rate it switched to the more robust Reed-Solomon code.

ECE6331 Modern Codes More recently Turbo codes were invented, which are used in 3G cell phones, (future) satellites, and in the Cassini- Huygens space probe [1997–]. Other modern codes: Fountain, Raptor, LT, online codes… Next, next class

ECE6331 Error Correcting Codes imperfectness of a given code as the difference between the code's required Eb/No to attain a given word error probability (Pw), and the minimum possible Eb/No required to attain the same Pw, as implied by the sphere-packing bound for codes with the same block size k and code rate r.

ECE6331 Encryption Encryption is a translation of data into a secret code. Encryption is the most effective way to achieve data security. To read an encrypted file, you must have access to a secret key that enables you to decrypt it. Unencrypted data is called plain text; encrypted data is referred to as cipher (text). Encryption can be used to ensure secrecy, but other techniques are still needed to make communications secure: authentication, authorization, and message integrity. –Message integrity - both parties will always wish to be confident that a message has not been altered during transmission. The encryption makes it difficult for a third party to read a message, but that third party may still be able to alter it in a useful way. –Authentication is a way to ensure users are who they say they are - that the user who attempts to perform functions in a system is in fact the user who is authorized to do so. –Authorization protects computer resources (data, files, programs, devices) by allowing those resources to be used by resource consumers having been granted authority to use them. –Digital rights management etc.

ECE6331 Encryption – cipher taxonomy CIPHERS MODERN CIPHERS CLASSICAL CIPHERS PUBLIC KEY PRIVATE KEY SUPERPOSITION TRANSPOSITION ROTOR MACHINES Quantum CIPHERS

ECE6331 Transposition Method Da Vinci’s code Ex. I am a student I m s u e t a a t d n

ECE6331 Substitution Method Shift Cipher (Caesar’s Cipher) I CAME I SAW I CONQUERED H BZLD H TZV H BNMPTDSDC Julius Caesar to communicate with his army Language, wind talker

ECE6331 Rotor Machine The primary component is a set of rotors, also termed wheels or drums, which are rotating disks with an array of electrical contacts on either side. The wiring between the contacts implements a fixed substitution of letters, scrambling them in some complex fashion. On its own, this would offer little security; however, after encrypting each letter, the rotors advance positions, changing the substitution. By this means, a rotor machine produces a complex polyalphabetic substitution cipher.electrical contacts substitutionpolyalphabetic substitution German Enigma machine usedEnigma machine during World War II for submarine. Movie U571, Italian Job

ECE6331 Key

ECE6331 Public Key System - RSA Named after its inventors Ron Rivest, Adi Shamir and Len Adleman Base on Number Theory y=e x (mod N) => x=?? If the size of N is 100, it takes 100 billion years to decipher with 1GHz computer. Applications –Digital Signatures –Digital Cash: Movie, swordfish –Timestamping Services: Movie, entrapment –Election Movie, mercury rising

ECE6331 Encryption – cipher taxonomy Historical pen and paper ciphers used in the past are sometimes known as classical ciphers. They include substitution ciphers and transposition ciphers. During the early 20th century, more sophisticated machines for encryption were used, rotor machines, which were more complex than previous schemes. Encryption methods can be divided into symmetric key algorithms and asymmetric key algorithms. In a symmetric key algorithm (DES, AES), the sender and receiver must have a shared key set up in advance and kept secret from all other parties; the sender uses this key for encryption, and the receiver uses the same key for decryption. In an asymmetric key algorithm (RSA), there are two separate keys: a public key is published and enables any sender to perform encryption, while a private key is kept secret by the receiver and enables him to perform decryption.

ECE6331 Quantum Cryptography Use physics law, if the signal is measured (eavesdropped), the receiver can always detected.

ECE6331 Mission is really impossible When you see it, the information has been already changed