
Explore symmetric and asymmetric encryption with OpenSSL, learn key length and space, generate public and private keys, hash for integrity, and create signatures and SSL certificates on Ubuntu and Windows.
Identify the essential course requirements and the broad target audience for encryption beginner training with OpenSSL, including learning intent, virtualization software, and physical or virtual machines.
Set up the lab by installing VirtualBox and creating Ubuntu and Windows 10 virtual machines. Install OpenSSL on Ubuntu and Windows 10, and install Putty on Windows.
Install OpenSSL on an Ubuntu 18.04 machine, verify the existing installation and version, then run apt update and apt-get install OpenSSL to obtain the latest version.
Install OpenSSL on Windows 10 by downloading the setup, running the installer, and accepting defaults. Then add the bin path to PATH and test OpenSSL in the command prompt.
Get a quick introduction to the OpenSSL toolkit, verify the installed version, and explore essential commands—list, cipher, and public key algorithms—to underpin encryption concepts in this course.
Explore what encryption is and learn foundational concepts and common terms. Demonstrations on Ubuntu use the OpenSSL toolkit to illustrate symmetric and asymmetric encryption.
Encryption transforms data into an unreadable form readable only with secret information, protecting data at rest and in transit. It covers uses like email encryption, web traffic, and online transactions.
Define plaintext and ciphertext, also known as encrypted text, and explain the encryption process, showing how readable text becomes ciphertext.
Explore types of encryption by key usage, comparing symmetric encryption with a single key for both operations to the use of different keys in asymmetric encryption.
Learn how symmetric encryption uses a single key to encrypt and decrypt messages, illustrated with analogies and examples of AES, DES, 3DES, Serpent, Twofish, and Open SSL demonstrations.
Explore asymmetric encryption by comparing public and private keys to a padlock and key, showing how anyone can encrypt with a public key and only the private key can decrypt.
Explore how private and public keys form a key pair for public key encryption, and how OpenSSL generates keys for authentication and SSL certificates.
Explore symmetric encryption basics, key management, and algorithm classifications, then use the OpenSSL toolkit to create a symmetric key and encrypt data with a password-derived key.
Define plaintext and ciphertext, and contrast symmetric encryption with the same key to asymmetric encryption with two keys, noting the Advanced Encryption Standard for symmetric encryption.
Explore key length and key space, from a four-digit pin to a 128-bit key, and see how binary bits yield 2^128 possible combinations.
Identify the two classifications of symmetric algorithms: stream ciphers and block ciphers, and review examples like Serpent and Twofish.
Encrypt data with a symmetric key using openssl, applying AES-256-CBC and a password, producing an encrypted file and enabling decryption with the same password.
Explore asymmetric encryption fundamentals with RSA keys in OpenSSL, generate public/private keys, and encrypt a document to securely send to a recipient.
Compare symmetric and asymmetric keys and how encryption uses a single key for both directions. Share the public key openly while the private key stays secret to decrypt messages.
Revisit asymmetric keys by generating public and private RSA keys with Open SSL, and inspect private key text form and the public key's begin and end lines.
Demonstrates generating RSA private and public keys with OpenSSL on Ubuntu, saving in PEM format, and extracting the public key from the private key using pubout.
Demonstrates encrypting an OpenSSL private key with a password and exporting a corresponding public key, detailing a two-step and a one-step approach to secure key handling.
Learn how to securely send an encrypted document using RSA public/private keys, a random key encrypted with the recipient's public key, and the recipient's private key to decrypt.
Learn how to use OpenSSL to encrypt and send a document between two users, generating RSA keys and using a random symmetric key to secure the file and its key.
Explore data integrity concepts and why they matter, learn how hash functions work, and see how to generate and verify hash values to validate downloaded files.
Explain data integrity and authenticity during data transfer using digital signatures, certificates, SSL, and hash functions to prevent tampering and repudiation.
Explore how hash functions map data of arbitrary size to fixed-length digests. Learn how digests support data integrity, password storage, and download verification.
Learn to generate and verify hashes and checksums on Ubuntu to ensure data integrity, using MD5 and SHA-256 for files and downloads such as Apache httpd.
Explore encryption basics, including symmetric and asymmetric methods, and digital signatures; examine signer verification, SSL certificates, and OpenSSL workflows for creating and self-signing certificates via CSR.
Explore common encryption terms from http to https, ssl/tls, and ssl certificates, and learn the role of a certificate signing request in installing ssl on a web server.
Explore the basics of symmetric and asymmetric encryption, showing how a shared key encrypts and decrypts a document, and how public-private keys enable secure encryption.
Understand how digital signatures use a file’s hash encrypted with a private key to verify integrity and authenticate the sender.
Sign a document with OpenSSL rsautl by generating RSA keys, hashing the file with SHA-256, and creating a private key signature; the receiver verifies it with the public key.
Learn to sign and verify a document with OpenSSL digest using SHA-256, generating an RSA key pair and validating the signature with the public key to ensure data integrity.
Generate a private RSA key and CSR, submit the CSR to an SSL provider, pay for the certificate, then install the issued SSL certificate on your web server after validation.
Learn how ssl certificates encrypt web traffic, the role of certificate authorities, how to request via csr, install on servers, and understand x.509, pem/der formats, and public key information.
Explore SSL certificate types, including standard SSL for a single domain, a multi-domain certificate for several domains, wildcard SSL for subdomains, and extended validation SSL.
Master the AWS free tier sign up process. Create an account with a valid email and password, enter payment details including a credit card, and complete phone verification.
Create a Linux EC2 instance in the AWS console, explore the default VPC and subnets, and connect via SSH using a downloaded key pair and PuTTY.
Download the VirtualBox binaries and install Oracle VirtualBox on Windows, accepting default components and prompts. Finish the setup to access the VirtualBox interface and explore the next lessons.
Navigate the VirtualBox interface, use the left pane to list virtual machines and the right pane for their properties, and explore menus, shortcuts, and preferences to manage and start them.
Create and configure a VirtualBox virtual machine, selecting name, OS type, memory, and a dynamic VDI hard disk; attach an ISO and boot to install Windows 10.
Download the Ubuntu desktop image and create a virtual machine with it. Install Ubuntu by booting the VM, erasing disk, and setting up a user, restart and log in.
Install Windows 10 from iso in a virtual machine, selecting language, entering a license key, performing a clean install, formatting the partition, copying files, and completing setup with express settings.
Download the 64-bit PuTTY installer for Windows, complete the installation through the UAC prompts, then search Windows for PuTTY to launch the interface.
The course covers fundamentals of encryption with hands-on demos using OpenSSL and Putty tools.
Encryption fundamentals is a MUST have skill for IT professionals like-
Programmers
Architects
Testers
BA
Development Managers
Program Managers
Support/Operations Managers. etc.
The course takes you on a step-by-step approach journey where you will learn concept, and immediately apply it using OpenSSL/Putty.
The student will learn-
Symmetric Encryption
Asymmetric Encryption
Key Length & Key Space
Generating Public and Private Keys
Encrypting Large Documents/files
Data Integrity & Hash Functions
Digital Signatures
PKI
Understanding SSL Certificates
Creating self-signed Certificates