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
Yunnan, abbreviated as Yun and called Dian for short, is a multi-ethnic province which has historically been situated in the southwest frontier of China. Over time, the ethnic minorities evolved... more
This specialization demonstrates the basics of Junos OS DevOps automation Tools, protocols and technologies. This specialization covers basic DevOps principles, Junos APIs, and the Network... more
\"Software Sales\" is a comprehensive course designed to introduce learners to the essential principles of software sales. This course blends theoretical lessons with practical examples to equip... more
In the first course, you will learn some of the concepts of procedural programming: user input, console output, variable declaration and assignment, decision branching and iteration.\\n\\nThe... more
Big data and artificial intelligence get most of the press about computational social science, but maybe the most complex aspect of it refers to using computational tools to explore and develop... more