We may earn an affiliate commission when you visit our partners.
Course image
Edward Chow

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.

Enroll now

What's inside

Syllabus

Basic Cryptography
In this module we learn the basic concepts and principles of crytography, introduce the basic concept of cryptoanalysis using mono-alphabetic substitution cipher as an example, and discuss the one-time-pad and quantum key distribution concepts.
Read more
Symmetric Key Cryptography
In this module we present the basic mechanism of symmetric key crytography algorithms, discuss the DES and AES standard, describe the criteria for selecting AES standard, present the block cipher operating modes and discuss how the block swapping attacks and replay attacks can be prevented and detected.
Asymmetric Key Cryptography
In this module we will learn the modular arithmetic, the Euler Totient Theorm, the RSA Asymmetric Crypto Algorithm, use OpenSSL to realize the basic operations of RSA Crypto Algorithm, and Diffie-Hellman Symmetric Key Exchange Protocol to derive session keys.
Develop Secure Programs with Crypto API
In this module, we learn how to use Crypto API to write secure programs for encrypting and decrypting documents, and for signing and verify documents. We then apply the techniques to enhance the registration process of a web site which ensures the account created is actually belonging to the owner of the email account the request profile.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Deepens learners understanding of data encryption, data integrity, and authentication practices with Python Crypto API, which is standard in modern website applications
Teaches learners the RSA Asymmetric Crypto Algorithm, which helps learners develop foundational skills for secure digital data transmission
Examines how Diffie-Hellman Symmetric Key Exchange Protocol generates session keys, which is highly relevant to the practical implementation of network security
Covers unique perspectives on block cipher operating modes and quantum key distribution, which may add color to other data security and encryption topics and subjects
Explicitly requires learners to come in with extensive background knowledge, such as in math, programming, or systems administration

Save this course

Save Basic Cryptography and Programming with Crypto API to your list so you can find it easily later:
Save

Reviews summary

Encryption basics with crypto api

Learners say this course provides a good foundation on basic cryptography and programming with the Crypto API. The lectures are well explained and the assignments may be engaging for those with some programming knowledge. However, there are some complaints about the outdated links and that some of the material is boring and insufficient for learning the topic in full.
Provides a strong basis in Crypto API.
"Good course to learn"
"I gained knowledge on which m did not have knowledge."
Concepts are explained clearly.
"Very well explained Diffie-Hellman key exchange and AES algorithm."
Videos can be monotonous.
"The course videos aren't creative and very monotonous. Boring."
Some links are outdated.
"Some outdated links"
May be hard for beginners.
"You'll need some kind of pre-requisite computer programming knowledge to complete the course."
"The material given in the course is not sufficient for proper learning."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Basic Cryptography and Programming with Crypto API with these activities:
Solve Cryptographic Ciphers and Puzzles
Enhance problem-solving skills in cryptography by attempting to break and decipher various ciphers and puzzles.
Browse courses on Cryptanalysis
Show steps
  • Find online resources or books that provide cryptographic ciphers and puzzles of varying difficulty levels.
  • Attempt to solve the ciphers using different techniques and strategies, including mono-alphabetic substitution.
Symmetric Key Cryptography Tutorials
Strengthen understanding of symmetric key cryptography by exploring tutorials on popular standards like DES and AES.
Show steps
  • Locate and participate in guided tutorials on the DES symmetric key algorithm, examining its structure and operation.
  • Explore and work through tutorials on the AES symmetric key algorithm, analyzing its strengths and weaknesses.
Write a Blog on Asymmetric Key Cryptography
Solidify understanding of asymmetric key cryptography by explaining its concepts and applications in a written piece.
Browse courses on RSA Algorithm
Show steps
  • Examine the mathematical underpinnings of asymmetric key cryptography, including modular arithmetic and the RSA Algorithm.
  • Draft a blog post that clearly explains the principles, advantages, and use cases of asymmetric key cryptography.
  • Share the blog with peers or a relevant online community for feedback and discussion.
One other activity
Expand to see all activities and additional details
Show all four activities
Develop a Secure Messaging Application
Apply cryptographic knowledge to a practical scenario by creating a secure messaging application using industry-standard APIs.
Show steps
  • Choose a programming language and cryptographic library for the project, considering security and efficiency.
  • Define the functionality and architecture of the messaging application, prioritizing security features.
  • Implement encryption and decryption algorithms using the chosen cryptographic library, ensuring data confidentiality and integrity.
  • Test the application thoroughly, evaluating its security against common attacks and vulnerabilities.

Career center

Learners who complete Basic Cryptography and Programming with Crypto API will develop knowledge and skills that may be useful to these careers:
Cryptography Engineer
As a Cryptography Engineer, you will be responsible for designing, developing, and implementing cryptographic solutions to protect sensitive data. This course will provide you with the foundational knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, symmetric and asymmetric key cryptography, and how to use Crypto API to write secure programs. This course will help you build a strong foundation in cryptography that will be essential for your success as a Cryptography Engineer.
Information Security Analyst
As an Information Security Analyst, you will be responsible for assessing, identifying, and mitigating security risks to an organization's information systems. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to enhance the security of web applications. This course will help you build a strong foundation in cryptography that will be essential for your success as an Information Security Analyst.
Software Developer
As a Software Developer, you will be responsible for designing, developing, and implementing software applications. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to enhance the security of web applications. This course will help you build a strong foundation in cryptography that will be essential for your success as a Software Developer.
Web Developer
As a Web Developer, you will be responsible for designing, developing, and implementing web applications. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to enhance the security of web applications. This course will help you build a strong foundation in cryptography that will be essential for your success as a Web Developer.
Network Security Engineer
As a Network Security Engineer, you will be responsible for designing, implementing, and maintaining network security solutions. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to enhance the security of network infrastructure. This course will help you build a strong foundation in cryptography that will be essential for your success as a Network Security Engineer.
Security Consultant
As a Security Consultant, you will be responsible for providing advice and guidance to organizations on how to improve their security posture. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to enhance the security of information systems. This course will help you build a strong foundation in cryptography that will be essential for your success as a Security Consultant.
Ethical Hacker
As an Ethical Hacker, you will be responsible for identifying and exploiting vulnerabilities in computer systems and networks. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to break into computer systems. This course will help you build a strong foundation in cryptography that will be essential for your success as an Ethical Hacker.
Cybersecurity Analyst
As a Cybersecurity Analyst, you will be responsible for monitoring and analyzing security logs and data to identify potential threats and vulnerabilities. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to detect and respond to cyberattacks. This course will help you build a strong foundation in cryptography that will be essential for your success as a Cybersecurity Analyst.
Data Scientist
As a Data Scientist, you will be responsible for collecting, analyzing, and interpreting data to uncover patterns and trends. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to protect the confidentiality and integrity of data. This course will help you build a strong foundation in cryptography that will be essential for your success as a Data Scientist.
Quantitative Analyst
As a Quantitative Analyst, you will be responsible for using mathematical and statistical models to analyze financial data and make investment recommendations. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to protect the confidentiality and integrity of financial data. This course will help you build a strong foundation in cryptography that will be essential for your success as a Quantitative Analyst.
Actuary
As an Actuary, you will be responsible for assessing and managing financial risk. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to protect the confidentiality and integrity of financial data. This course will help you build a strong foundation in cryptography that will be essential for your success as an Actuary.
Risk Analyst
As a Risk Analyst, you will be responsible for identifying and assessing risks to an organization's business operations. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to protect the confidentiality and integrity of sensitive information. This course will help you build a strong foundation in cryptography that will be essential for your success as a Risk Analyst.
Compliance Officer
As a Compliance Officer, you will be responsible for ensuring that an organization complies with all applicable laws and regulations. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to protect the confidentiality and integrity of sensitive information. This course will help you build a strong foundation in cryptography that will be essential for your success as a Compliance Officer.
Auditor
As an Auditor, you will be responsible for examining and evaluating an organization's financial records and operations. This course will provide you with the knowledge and skills you need to succeed in this role, including an understanding of basic cryptography concepts, how to use Crypto API to write secure programs, and how to apply these techniques to protect the confidentiality and integrity of financial data. This course will help you build a strong foundation in cryptography that will be essential for your success as an Auditor.
Accountant
As an Accountant, you will be responsible for preparing and maintaining financial records and reports. This course may be useful in providing you with a basic understanding of cryptography concepts, which may be helpful in protecting the confidentiality and integrity of financial data. However, this course does not provide a comprehensive foundation in cryptography that is typically required for roles that specialize in cryptography.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Basic Cryptography and Programming with Crypto API.
This textbook provides a comprehensive overview of modern cryptography. It covers a wide range of topics, from basic concepts to advanced techniques. It would be a useful reference for students who want to learn more about the subject in depth.
This textbook provides a comprehensive overview of the field of cryptography, covering both the theoretical foundations and practical applications. It would be a useful reference for students who want to learn more about the subject in depth.
Practical guide to using cryptography in real-world applications. It covers a wide range of topics, from basic concepts to advanced techniques. It would be a valuable resource for students who want to learn how to apply cryptography in their own work.
Provides a hands-on introduction to cryptography using the Python programming language. It covers a wide range of topics, from basic concepts to advanced techniques. It would be a valuable resource for students who want to learn how to use cryptography in their own work.
This textbook provides a comprehensive overview of cryptography and network security. It covers a wide range of topics, from basic concepts to advanced techniques. It would be a useful reference for students who want to learn more about the subject in depth.
Provides a practical guide to web security. It covers a wide range of topics, from basic concepts to advanced techniques. It would be a valuable resource for students who want to learn how to protect websites from attack.
Provides a hands-on introduction to reverse engineering. It covers a wide range of topics, from basic concepts to advanced techniques. It would be a valuable resource for students who want to learn how to reverse engineer software.
Provides a fascinating and insightful look at the human element of security. It would be a great way for students to learn more about the psychology of security and how to protect themselves from social engineering attacks.
Provides a fascinating and accessible introduction to the history of cryptography. It would be a great way for students to learn more about the subject in a non-technical way.
Provides a fascinating and true account of a computer security incident. It would be a great way for students to learn more about the real-world challenges of cybersecurity.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser