Basic Cryptography and Programming with Crypto API
About this Course
In this MOOC, we will learn the basic concepts and principles of crytography, apply basic cryptoanalysis to decrypt messages encrypted with mono-alphabetic substitution cipher, and discuss the strongest encryption technique of the one-time-pad and related quantum key distribution systems. We will also learn the efficient symmetric key cryptography algorithms for encrypting data, discuss the DES and AES standards, study the criteria for selecting AES standard, present the block cipher operating modes and discuss how they can prevent and detect the block swapping attacks, and examine how to defend against replay attacks. We will learn the Diffie-Hellman Symmetric Key Exchange Protocol to generate a symmetric key for two parties to communicate over insecure channel. We will learn the modular arithmetic and the Euler Totient Theorem to appreciate the RSA Asymmetric Crypto Algorithm, and use OpenSSL utility to realize the basic operations of RSA Crypto Algorithm. Armed with these knowledge, we learn how to use PHP Crypto API to write secure programs for encrypting and decrypting documents and for signing and verify documents. We then apply these techniques to enhance the registration process of a web site which ensures the account created is actually requested by the owner of the email account.Created by: University of Colorado System

Related Online Courses
Accounting is the language of business. You should be able to explain the top 30 concepts to your cousin in a way they understand it.Created by: Emory University more
This is a self-paced lab that takes place in the Google Cloud console. In this lab you will configure and test point-in-time recovery for a Cloud SQL for PostgreSQL instance.Created by: Google Cloud more
Welcome to the Advanced IoT Security and Management Course! Throughout this comprehensive journey, participants will delve into the intricacies of securing and managing Internet of Things (IoT)... more
Biostatistics is the application of statistical reasoning to the life sciences, and it\'s the key to unlocking the data gathered by researchers and the evidence presented in the scientific public... more
In this 1.5-hour long project based course, you will learn how to use NetBeans 20 to develop a cross-platform application that can be deployed to any operating systems that support Java such as... more