Hands-On Cryptography with Java

Hands-On Cryptography with Java

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 2h 49m | 754 MB

Learn enough cryptography to solve problems without a math background

Security is paramount for any application. Cryptography occurs all 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 course focuses on problems, solutions, and examples. Each scenario explains the problem being solved, the role of cryptography used in solving that problem, and then provides a copy-able demonstration of the solution. All examples are self-contained projects with just enough code to be clear, concise, and legible for new to mid-level developers.

What You Will Learn

  • Develop applications that use an existing reliable cryptography
  • Build complex integrations with other systems, taking advantage of worldwide public key infrastructures and certificates
  • Identify hacking risks in your own and other cryptographic systems and how to fix them
  • Discover cryptographic terms used to describe any system you work on or with
  • Design functioning, well-performing applications that use seamless cryptography
Table of Contents

Cryptographic Introduction
1 The Course Overview
2 Goals of Cryptography and Where It Is Used
3 History of Cryptography and Why You Shouldn’t Build New Algorithms
4 The Architectural Layout of Modern Cryptography
5 Concepts That Will Be Important Later

Basic Ciphers
6 Symmetric Ciphers and Where They Are Used
7 Basic Encryption with Symmetric Ciphers
8 Hashing and MessageDigest For Validations
9 Common Security Flaws When Using Symmetric Ciphers

Advanced Ciphers, Asymmetric, and Public Key
10 This section will cover how asymmetric cryptography works and functions in this global communication mechanism, with regards to
11 Creating A KeyPairGenerator Instance
12 Storing the Java KeyStore
13 Java KeyTool
14 Creating A KeyGenerator Instance
15 Basic Encryption with Asymmetric Ciphers
16 What to Do When PKIX Validation Fails
17 Java Certificate Chains
18 The Key Escrow Problem

Hacking Techniques – Breaking and Bypassing
19 Using Unique Keys and Certificates
20 Certificate Pinning
21 Signed JAR Files
22 Token Harvesting
23 When and How to Upgrade Algorithms
24 Standard Decompilation Tools

Putting it all together
25 Encrypting and Decrypting Files
26 Obtaining Certificates from LetsEncrypt or AWS
27 Qualys SSL Labs for Your Servers
28 he DeepViolet Security Analyzer