Abhinav Pandey
With a Bachelor's degree in Computer Science, Abhinav has made it big in the world working for Goldman Sachs' Strategies division. A true enthusiast in Machine Learning and Cryptography, he has taken several courses on them and has aced them all. He also plays the guitar and has sung several songs in various competitions.
The Coursera course by Professor Dan Boneh spans over 6 weeks. The course is extremely detailed and enables even a layman to understand the concepts. There is a weekly programming assignment and problem set to evaluate your week's learning.
The major topics covered were -
- Introduction and History of Ciphers
- Stream Ciphers
- Block Ciphers
- Using Block Ciphers
- Message Integrity
- Collision Resistance
- Authenticated Encryption
- Odds and Ends
- Basic Key Exchange
- Intro to Number Theory
- Public key Encryption from trapdoor permutations
- Public key encryption from Diffie Hellman
Having been deeply interested in
mathematics all along I found it really compelling to research deep into the
various mathematical interpretations of the concepts taught in the course. Professor Dan Boneh explained the concept of what "randomness" and generating randomness for algorithms. The concept of randomness was the key concept in determining
how well an algorithm would fare with time in real world applications. Lectures
on how two different outputs of a cipher are expected to be random such that
they are rendered computationally indistinguishable from each other was really
thought provoking.
Though the video lectures were long, it was a necessary downside for the videos as the
concepts discussed required detailed explanation. Like a true mathematician Prof. Boneh explained
the difference between the simple errors that people may commit in defining a
particular topic but which could have great implications on the concept itself.
He was very well acquainted with the fact that most of the students had a
computer science background and they had spent most of their time trying to
optimize problems however in cryptography they had a totally different
objective; to make problems more complex for the adversary i.e. we had to make
sure that the adversary when trying to decrypt the encrypted message is met
with a problem that cannot be solved in polynomial time instead has an
exponential time solution. Such concepts were explained in the most lucid
fashion.
The remaining part of the course comprised of how to build complete authenticated encryption systems and public key cryptography. Throughout the course Prof. Boneh stated special emphasis on never implementing encryption and authentication systems all by ourselves and only using the well tested and rated already existing libraries for the same. The reason being that since the encryption and authentication systems are not tested for reliability by crypto-analysts and mathematicians all over the world, they may be error prone and easily breakable by adversaries.
The overall experience of the
course was excellent. The rigorous concepts and mathematics used in this course
when completely understood will pave the way for understanding and dealing with
advanced papers and literature in the field of cryptography. This course is
highly recommended for people who wish to learn about cryptography and are also
interested in rigorous mathematical proofs of all the concepts. I am now
eagerly waiting for the second part of the course to quench my thirst for more
of such exciting concepts which help me better understand the world around me.
No comments:
Post a Comment