Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Crypto 101 (en)
Search
Oliver Milke
June 18, 2018
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Crypto 101 (en)
Oliver Milke
June 18, 2018
More Decks by Oliver Milke
See All by Oliver Milke
Crypto 101
omilke
2
900
Jenkins Pipelines in Continuous Action
omilke
0
98
Jenkins Pipelines in Continuous Action (english)
omilke
0
70
4 Kids - Nachwuchsförderung unter der Lupe
omilke
0
63
Other Decks in Technology
See All in Technology
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
130
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
0
340
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
150
書籍セキュアAPIについて
riiimparm
0
390
AIがAPIを書く時代に、私たちは何を設計すべきか
nagix
0
170
「休む」重要さ
smt7174
7
1.8k
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
380
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.8k
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
150
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
190
AIエージェントに財布を渡す日 ― 承認付き"買い物エージェント"を作って実演
yama3133
0
110
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
140
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
230
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
580
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
440
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
New Earth Scene 8
popppiees
3
2.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
@OliverMilke @cloudogu
meta 1 Outline | Differentiation 2 About Key Pairs and
Certificates 3 Cipher Suites 4
Developers? 1 Dev Ops? 2
Terms / Concepts • Things I stumbled over myself •
Practise-oriented, not from Scratch Crypto is hard to get right • Dutch Election Security Talk
• > 10 years of Software Development • Crypto and
Security for Mobile Online Services @VW • Software Craftsman @Cloudogu EcoSystem • JUG Ostfalen • Fitness / Freeletics Oliver Milke Software Craftsman https://stackoverflow.com/users/2108 919/omilke https://twitter.com/OliverMilke http://oliver-milke.de/ https://github.com/omilke
meta 1 Outline | Differentiation 2 About Key Pairs and
Certificates 3 Cipher Suites 4
Cryptology Security Cryptography Cryptanalysis … Awareness Processes
https://www.xkcd.com/538/
Confidentiality Integrity Authenticity
SQL encrypted? Authorization: Basic d2lraTpwZWRpYQ== Security through secrecy
of the keys • not secrecy of algorithm • Opposite: Security By Obscurity
Symmetric Encryption • 1 key for encryption / decryption •
fast • Stream Cipher • Block Cipher • Various modes of operation • AES − Rijndael Cipher Cryptographic Hash • One-way function • Resistance to collions • MD*, SHA-*, bCyrpt
Digital Signature • Asymmetrically encrypted hash Asymmetric Encryption • 2
inverse keys (Key Pair) • Operations can be reversed with the other keys • slow
Cryptographically Secure Pseudo-Random Number Generator • True randomness by a
machine? • Nonces • Protection against Replay
one-way functions • „forwards“ easy • „backwards“ hard as in
computationally complex Examples • Multiplication of large primes − RSA • Modular exponentiation − Diffie-Hellman, ElGamal − finite fields / elliptic curves • AES
Specification Implementation Side Channel Attacks
https://www.xkcd.com/936/
Storing for authentication ? Salt • Individual for each password
Pepper • Common for all passwords ! Argon2 PBKDF2 sCrypt / bCrypt
One-way function Integrity can be verified Insecure transmission
• Exchanging original and hash is possible 1010001 Hash
Hash Insecure transmission • Exchanging requires secret H-MAC +
Shared Secret Integrity and Authenticity • Proves knowledge of secret 1010001 0110000
meta 1 Outline | Differentiation 2 About Key Pairs and
Certificates …or: what is a Trust Anchor? 3 Cipher Suites 4
Server Client
Intermediate Certificate Server Certificate Certificate Authority (CA) Root Certificate Client
Server
meta 1 Outline | Differentiation 2 About Key Pairs and
Certificates 3 ECDHE-ECDSA-AES256-GCM-SHA384 …or: what is a Cipher Suite? 4
Connection is encrypted But how? TLS handshake for agreeing
on Cipher Suite ? ECDHE-ECDSA-AES256-GCM-SHA384 ✓ ECDHE-ECDSA-AES256-GCM-SHA384 ✓
Encrypted connection • AES256-GCM-SHA384 But which key? • ECDHE-ECDSA-AES256-GCM-SHA384
Encrypted connection • AES256-GCM-SHA384 • Key Exchange via ECDHE
But is it the expected service? • ECDHE-ECDSA-AES256-GCM-SHA384
Crypto-System with employed primitves • constants describing details Depending
on the protocol • Example is TLS 1.2 • TLS 1.3 employs different concepts
None
Storing passwords ? Mobile Online Services ?
Crypto Lib (bCrypt) http://www.bouncycastle.org/java.html Password Policy http://www.passay.org/ (formerly vt-password)
Password Hashing security.stackexchange.com Thread OWASP Password Storage Cheat Sheet
https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet OWASP Forgot Password Cheat Sheet https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet
Qualys SSL Lab Server Test https://www.ssllabs.com/ssltest/ ! Mozilla Config Generator
https://mozilla.github.io/server-side-tls/ssl-config-generator/ ! Bruce Schneier https://www.schneier.com/ Security Assessment https://www.keylength.com/
Thank you feedback plz Get in touch • https://twitter.com/OliverMilke •
http://oliver-milke.de/ •
[email protected]
• https://cloudogu.com/en/blog/Crypto-101