close search bar

Sorry, not available in this language yet

close language selection

Introduction to Cryptography for Architects and Developers

Course Description

Cryptography: It’s what makes it possible to safely bank, shop, and work on the internet. Cryptography helps store passwords securely and even helps prevent data loss if you lose your device. This course will teach you the cryptography basics you need to know to design and develop secure applications and systems.

Learning Objectives

  • Describe common cryptographic implementations
  • Make security-conscious decisions around cryptography
  • Understand real-world threats to cryptography
  • Know when and how to use specific cryptographic primitives

Details

Delivery: eLearning

Duration: 1 hour

Level: Beginner

Intended Audience:

  • Architects
  • Back-End Designers
  • Enterprise Developers
  • Front-End Designers
  • Mobile Developers
  • Product Administrators

Prerequisites: 

Course Outline

Cryptography Foundations
  • Introduction to Cryptography
  • Basic Principles
  • The Goals of Cryptology
  • Cryptanalysis and Real-World Attacks
  • Cryptographic Primitives

Encryption

  • Categories of Symmetric Ciphers
  • Block Ciphers and Modes of Operation
  • Initialization Vectors and Padding
  • Key Sizes
  • Asymmetric Cryptography
  • When Should You Use Symmetric and Asymmetric Encryption?

Cryptographic Hash Functions

  • Attacking Hash Functions
  • Common Hash Function Algorithms
  • Using Hash Functions
  • Lifeboat’s Sinking Ship

Message Authentication Codes (MACs)

  • How MACs Work
  • Examples and Best Practices

Digital Signatures

  • Digital Certificates
  • Certificate Revocation and Validation

Building a Secure Cryptosystem

  • Things to Consider
  • Architecting Your Cryptosystem
  • Key Management
  • Choosing Protocols and Algorithms
  • The Cryptographic Life Cycle
  • Computational Security
  • Case Study: TLS

Takeaways

Training

Developer Security Training

Equip development teams with the skills and education to write secure code and fix issues faster