Courses » Information Theory, Coding and Cryptography

Information Theory, Coding and Cryptography


Information theory, coding and cryptography are the three load‐bearing pillars of any digital communication system. In this introductory course, we will start with the basics of information theory and source coding. Subsequently, we will discuss the theory of linear block codes (including cyclic codes, BCH codes, RS codes and LDPC codes), convolutional codes, Turbo codes, TCM and space time codes. Finally, we will introduce the basics of secure communications by focusing on cyptography and physical layer security. Wherever possible, applications of the theory in real world scenarios have been provided. The underlying aim of this course is to arouse the curiosity of the students.

Important For Certification/Credit Transfer:

Weekly Assignments and Discussion Forum can be accessed ONLY by enrolling here

Scroll down to Enroll

Note: Content is Free!

All content including discussion forum and assignments, is free

Final Exam (in-person, invigilated, currently conducted in India) is mandatory for Certification and has INR Rs. 1100 as exam fee

This course is intended for final‐year undergraduate students and first‐year postgraduate students of the electrical engineering or the computer science programs. The course will help in forming a strong foundation for the broad areas of information theory, coding and cryptography. It emphasizes on the basic concepts, lays stress on the fundamental principles and motivates their application to practical problems. By design, the mathematical complexity of the course remains at a level well within the grasp of engineering college students. The course can also be used by practicing engineers as a means for a quick brush‐up of the fundamentals.


UG/PG: Final year UG and 1st year PG

PREREQUISITES: Basic exposure to linear algebra and probability theory, as well as, a course in digital communications.

INDUSTRY SUPPORT: Telecommunication companies, Internet companies, Information security companies


Ranjan Bose received his B.Tech. degree in electrical engineering from the Indian Institute of Technology (IIT), Kanpur, India in 1992 and the M.S. and Ph.D. degrees in electrical engineering from the University of Pennsylvania, Philadelphia, USA in 1993 and 1995, respectively. He worked at Alliance Semiconductor Inc., San Jose, CA, as a Senior Design Engineer from 1996 to 1997. Since November 1997 he has been with the Department of Electrical Engineering at Indian Institute of Technology, Delhi, where currently he is the Microsoft Chair Professor. His research interests lie in the areas of secure communications, coding theory, ultra‐wideband (UWB) communications, broadband wireless access and wireless security. He currently heads the Wireless Research Lab in IIT Delhi. His lectures on wireless communications form a part of the video courses offered by the National Program on Technology Enhanced Learning (NPTEL). He is also the national coordinator for the Mission Project on Virtual Labs, which enables students all over the country to perform lab experiments remotely. He is one of the founding members of Virtualwire Technologies, a start‐up company incubated within IIT Delhi. He has held guest scientist positions at the Technical University of Darmstadt, Germany, University of Colorado, Boulder, USA, UNIK, Norway and University of Maryland, Baltimore County, USA. Dr. Bose has published over one hundred and sixty research papers in refereed journals and conferences, and filed for sixteen patents, including one granted US Patent. He received the URSI Young Scientist award in 1999, the Humboldt Fellowship in July 2000, the Indian National Academy of Engineers (INAE) Young Engineers Award in 2003, the AICTE Career Award for Young Teachers in 2004, the BOYSCAST Fellowship in 2005 and Dr. Vikram Sarabhai Research Award for the year 2013. He is the author of the book titled Information Theory, Coding and Cryptography (3 rd Ed.). This book has an international edition and has also been translated into Chinese and Korean. He has served as the Editor‐ in‐Chief of IETE Journal of Education. He is presently the Associate Editor of IEEE Access and Member, Editorial Board of Computers & Security, Elsevier and the Editor of Frequenz: Journal of RF‐Engineering and Telecommunications. He is a senior member of IEEE (USA) and a Fellow of IET (UK). He has been the Head of Bharti School of Telecom Technology and Management (IIT Delhi) in the past and is currently the Head of Center of Excellence in Cyber Systems and Information Assurance at IIT Delhi.


Week 1
Lecture 1: Introduction to Information Theory
Lecture 2: Entropy, Mutual Information, Conditional and Joint Entropy
Lecture 3: Measures for Continuous Random Variable, Relative Entropy
Week 2 
Lecture 4: Variable Length Codes, Prefix Codes
 Lecture 5: Source Coding Theorem
 Lecture 6: Various source coding techniques: Huffman, Arithmetic, Lempel Ziv, Run Length
Week 3
Lecture 7: Optimum Quantizer, Practical Application of Source Coding: JPEG Compression
 Lecture 8: Introduction to Super Information
 Lecture 9: Channel Models and Channel Capacity
Week 4
Lecture 10: Noisy Channel Coding Theorem
Lecture 11: Gaussian Channel and Information Capacity Theorem
Lecture 12: Capacity of MIMO channels
Week 5
Lecture 13: Introduction to Error Control Coding
Lecture 14: Introduction to Galois Field
Lecture 15: Equivalent Codes, Generator Matrix and Parity Check Matrix
Week 6 
Lecture 16: Systematic Codes, Error Detections and Correction
Lecture 17: Erasure and Errors, Standard Array and Syndrome Decoding
Lecture 18: Probability of Error, Coding Gain and Hamming Bound
Week 7 
Lecture 19: Hamming Codes, LDPC Codes and MDS Codes
Lecture 20: Introduction to Cyclic Codes
Lecture 21: Generator Polynomial, Syndrome Polynomial and Matrix Representation
Week 8
Lecture 22: Fire Code, Golay Code, CRC Codes and Circuit Implementation of Cyclic Codes
Lecture 23: Introduction to BCH Codes: Generator Polynomials
Lecture 24: Multiple Error Correcting BCH Codes, Decoding of BCH Codes
Week 9
Lecture 25: Introduction to Reed Solomon (RS) Codes
Lecture 26: Introduction to Convolutional Codes
Lecture 27: Trellis Codes: Generator Polynomial Matrix and Encoding using Trellis
Week 10 
Lecture 28: Vitrebi Decoding and Known good convolutional Codes
Lecture 29: Introduction to Turbo Codes
Lecture 30: Introduction to Trellis Coded Modulation (TCM)
Week 11 
Lecture 31: Ungerboek‘s design rules and Performance Evaluation of TCM schemes
Lecture 32: TCM for fading channels and Space Time Trellis Codes (STTC)
Lecture 33: Introduction to Space Time Block Codes (STBC)
Week 12 
Lecture 34: Real Orthogonal Design and Complex Orthogonal Design
Lecture 35: Generalized Real Orthogonal Design and Generalized Complex Orthogonal Design
Lecture 36: Introduction to Cryptography: Symmetric Key and Asymmetric Key Cryptography
Week 13
Lecture 37: Some well‐known Algorithms: DES, IDEA, PGP, RSA, DH Protocol
Lecture 38: Introduction to Physical Layer Security: Notion of Secrecy Capacity
Lecture 39: Secrecy Outage capacity, Secrecy Outage probability, Cooperative jamming


Basic Text Book:  R. Bose, Information theory, coding and cryptography, McGraw‐Hill, 3 rd Edition, 2016.  

Reference books for lectures 1 ‐ 12

1. T.M. Cover and J. A. Thomas, Elements of information theory, John Wiley & Sons, 2012.
2. A. B. Robert, Information Theory, Dover Special Priced Titles, 2007.  

Reference books for lectures 13 ‐ 25

1. R. M. Roth, Introduction to Coding Theory, Cambridge University Press, 2006.
2. S. Lin and D. J. Costello, Error Control Coding, 2 nd Edition, Prentice‐Hall, 2004.
3. R. E. Blahut, Algebraic Codes for Data Transmission, Cambridge University Press, 2002.
4. T. K. Moon, Error Correction Coding: Mathematical Methods and Algorithms, Wiley, 2005.
5. R.H. Morelos‐Zaragoza, The Art of Error Correcting Coding, Wiley and sons, 2006.

Reference books for lectures 16 ‐ 32

1. R. Johannesson and K.S. Zigangirov, Fundamentals of Convolutional Coding, 2 nd Edition, Wiley‐IEEE Press, 2015.
2. E. Biglieri, D. Divsalar, P.J. McLane, M.K. Simon, Introduction to Trellis‐Coded Modulation with Applications, Macmillan, 1991.

Reference books for lectures 33 ‐ 35

1. H. Jafarkhani, Space‐Time Coding: Theory and Practice, Cambridge University Press, 2005.
2. B. Vucetic and J. Yuan, Space‐Time Coding, Wiley, 2003.

Reference books for lectures 36 ‐ 39: 

1. W. Stallings, Cryptography and Network Security: Principles and Practice, 4 th Edition, Prentice Hall, 2006.
2. B. Schneier, Applied Cryptography: Protocols, Algorithms and Source Code in C, John Wiley & Sons, 2 nd Edition, 1995.
3. M. Bloch and J. Barros, Physical‐Layer Security, Cambridge University Press, 2011.
4. R. Liu and W. Trappe, Securing Wireless Communications at the Physical Layer, Springer, 2010.

  • The exam is optional for a fee.
  • Date and Time of Exam: October 28, 2018 (Sunday)
  • Time of Exams: Morning session 9am to 12 noon; Afternoon session: 2pm to 5pm.
  • Exam for this Course will be available in both morning & afternoon sessions.
  • Registration url: Announcements will be made when the registration form is open for registrations.
  • The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published.


  • Final score will be calculated as : 25% assignment score + 75% final exam score
  • 25% assignment score is calculated as 25% of average of  Best 8 out of 12 assignments
  • E-Certificate will be given to those who register and write the exam and score greater than or equal to 40% final score. Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Madras.It will be e-verifiable at http://nptel.ac.in/noc/