Security is paramount for any application. Cryptography occurs across software fields: it protects all HTTPS traffic between browsers, encrypts phone storage against prying eyes, and can even hide files inside other files through a technique called steganography. This course is for developers looking to design a system that uses cryptography, rather than designing new algorithms. Most developers simply need to put the right pieces together to make their own system work.
In this course, you will break down the concepts behind cryptography into simple lessons, covering terminology, algorithms, standards, and encryption/decryption techniques. We will also walk through how cryptographic systems are hacked to bypass (rather than break) their cryptographic capabilities. The course answers questions such as: What is cryptography used for? What are keys and where do they go? Why do networked systems sometimes give certificate validation errors? If I need to encrypt something, how should I do that? By the end of this course, you will recognize cryptographic problems and understand the right knowledge to apply a verifiable solution.
This video course is for developers whose applications require encryption, or integration with an external cryptographic system. The course requires knowledge of Java programming but does not require a degree in mathematics or advanced computer science. Java developers building standard applications that require encryption, developers looking to understand flaws in cryptographic systems, and developers who do not want flaws in their cryptographic systems will benefit from this course.
Understand and apply cryptography, focusing on how systems work not just mathematical concepts
A practical walk through showing how networked systems use cryptography to communicate, and what the risks are when cryptography is not involved
Clear explanations of how systems fit together, not just how each individual component works