Intro to Modern Cryptography
A hands-on course in which the students will be introduced to the mathematics behind modern cryptography. They will use Python programs to understand, explore and implement simplified versions of modern encryption schemes, and how they are used in real-life scenarios.
(A student who has done the “History of Code Breaking” course will get more out of this course, but that course is not a pre-requisite.)
Secret codes have been used since ancient times, for sensitive/private messages that nobody other than the recipient should read. But their use was rare, and they were often easily broken. With the advent of computers, the field of secret codes transformed in two important ways: mathematicians started creating provably unbreakable codes, where computers are used for encoding and decoding the messages, and software writers started using these techniques in more and more situations.
Today, everything we do with our computers/smartphones is controlled by these techniques: the passwords you use to log into your email, the end-to-end encryption in WhatsApp messages to ensure that nobody other than the recipient can read the messages, the techniques used to ensure that your PayTM and UPI money transfers are safe, to more complex uses like Digital Signatures.
This is a hands-on course in which the students will be introduced to the mathematics behind modern cryptography, and they will use Python programs to understand, explore and implement simplified versions of modern encryption schemes, how they are used in real-life scenarios, and the ways in which these can still be compromised in spite of being “provably unbreakable”.
This course has no prerequisites beyond school mathematics. All the necessary mathematics and the necessary (minimal) python programming will be taught during the course.
Navin Kabra is CTO and Co-Founder at ReliScore, a company that provides skill and capability assessment solutions to the software industry. He also consults and advises multiple GoI initiatives, as well as fintech companies in the private sector (Innoviti - payments processing, and FinIQ - derivatives and other financial products).
Navin has several peer-reviewed articles in international conferences / journals and is also an inventor on 18 US Patents, 2 European Patents, and 1 Japanese Patent, filed as part of his work for 3 different companies (Symantec, Veritas, TeraData).
Navin has an undergrad degree (IIT Bombay) and a Ph.D (Univ of Wisconsin, Madison), both in Computer Science.