Please enable JavaScript.
Coggle requires JavaScript to display documents.
Industrial & Embedded Security, mostly - Coggle Diagram
Industrial & Embedded Security
Message Authentication Code (MAC)
Examples
HMac
Poly1305
delivers
Types
Wegman-Carter MAC
MACs based on CBC
CBC-MAC
CMAC (OMAC1)
Randomness
PRNG
CSPRNG
Uses
Example
Fortuna
Uses
Block Cipher in CTR (AES)
Hash function (SHA256)
Linux CSPRNG
Files
/dev/urandom
/dev/random
Blocks on boot
Function
getrandom()
Uses
ChaCha20
BSD PRNG
Based on
Uses
cipher (only one)
AES CTR
ChaCha20
SHA256 (SHA2)
Encryption
Cipher
Block Cipher
Padding
PKCS#7
Modes of Operation
Cipherblock Chaining Mode (CBC)
Galois Counter Mode (GCM)
Insecure!
Electronic Codebook Mode (ECB)
Examples
AES
DES
Stream Cipher
Examples
Salsa20/ChaCha20
AES-CTR
Broken!
RC4
Asymmetric Cryptography
RSA
Padding (PKCS#2 v2)
Optimal Asymmetric Encryption Padding (OAEP)
Probabilistic Signature Scheme (PSS)
Eliptic Curves
Authenticated Encryption
Combine
Security
needs
Integrity
CCA Secure
CPA Secure
Syntethic IV (SIV)
With associated Data
AEAD
Schemes
Galois Counter Mode (GCM)
Uses
GHASH
Block cipher (block size 128 bits)
Offset Codebook Mode (OCB)
Uses
Grey Codes
A block cipher
Counter Mode with CBC-Mac (CCM)
Uses
CBC-Mac
A block cipher
EAX
Uses
Block cipher
CMac
Hash Functions
Security
Collision Resistant
Birthday Paradox
Second Pre-Image Resistant
Pre-Image Resistant
Example
GHASH
Libraries
Software Licenses
Copyleft License
GPL
GPLv2
Tivoization Clause
GPLv3
LGPL
Permissive License
MIT
ISC
BSD
Copyright
General Purpose
Java
BouncyCastle
Android
BouncyCastle (stripped)
SpongyCastle (full BouncyCastle
C++
Crypto++
C
OpenSSL
Non-General Purpose
C
libhydrogen
NaCl (libsodium)
mostly