<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr">On Sat, Oct 24, 2015 at 1:08 PM ianG <<a href="mailto:iang@iang.org">iang@iang.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 24/10/2015 07:37 am, Jean-Philippe Aumasson wrote:<br>> Shameless plug: I'll give a course "crypto for developers" at the next<br>
> Troopers, where I'll address these issues (and also basics of crypto).<br>
<br>
<br>
For your imagined sins - perhaps you or anyone could post a topics list?<br><br></blockquote><div><br></div><div>Tentative plan of my training (will be adapted):</div><div><br></div><div>1) Definitions (~1h)</div><div> - The building blocks: ciphers, hash functions, MACs, PRFs, RNGs,</div><div> public-key encryption, signatures, key agreement, etc.</div><div> - Attack models and goals: semantic security, perfect forward</div><div> secrecy, side-channel models, informational vs. computational security</div><div><br></div><div>2) Randomness (~1h30)</div><div> - What is randomness and entropy in crypto</div><div> - Examples of bugs and (epic) failures</div><div> - How to use strong randomness, depending on your needs/constraints</div><div> - Which RNG to use? Which API? Which entropy source(s)? etc.</div><div> - How (not) to test your RNG, what tests it can detect</div><div><br></div><div>3) Attacks and defenses (~1h30)</div><div> - Timing attacks: principle, examples of attacks, defenses </div><div> - Padding oracles: principle, examples of attacks, defenses</div><div> - Case study: AES cache-timing attacks</div><div> - Case study: RC4 failures (from WEP to TLS)</div><div> - Case study: RSA PKCS#1 v1.5 and side channels</div><div><br></div><div>4) Using crypto (~1h30)</div><div> - Review of libs and APIs: OpenSSL, CryptoAPI, NaCl, etc.</div><div> - Basic vulnerability searching (reviewing, static analyzing, fuzzing)</div><div> - AES-128 or AES-256? RSA or ECC? which TLS ciphersuites? etc.</div><div> - What is the right key size? for which application?</div><div> - Testing crypto (it's more than test vectors)</div><div><br></div><div>5) Selected topics (~1h)</div><div> - Elliptic curve crypto demystified</div><div> - Password hashing do's and don'ts </div></div></div>