Upgrade to Pro — share decks privately, control downloads, hide ads and more …

With Symfony 4.4, your secrets will be well kept!

With Symfony 4.4, your secrets will be well kept!

Grégoire Hébert

December 04, 2020
Tweet

More Decks by Grégoire Hébert

Other Decks in Programming

Transcript

  1. @gheb_dev @gregoirehebert p = a prime number
 q = a

    prime number
 n = p × q Cypher
  2. @gheb_dev @gregoirehebert et 
 
 
 
 public key 


    private key 
 
 
 p = 11 q = 13 n = p ⋅ q = 143 ϕ(n) = (p − 1) ⋅ (q − 1) = 120 e = 7 d = 103 (e ⋅ d)modϕ(n) = 1 (7 ⋅ 103)mod120 = 721mod120 = 1 Aa message M has a value of
 9
 
 
 
 c = memodn = 97mod143 = 48 m = cdmodn = 48103mod143 = 9 encode decode Example
  3. @gheb_dev @gregoirehebert SHA1
 secure hashing algorithm
 
 2005 -> 2,7billion

    € in hardware
 2015 -> 120 000€ in hardware
 2017 -> SHA1 is not in a good shape
 2019 -> SHA1 is K.O. (11k$)
  4. @gheb_dev @gregoirehebert How ? môman = 6 bytes = 48bits

    môman = aca9c866584e891be0e5c736798273c00bb48a00
  5. @gheb_dev @gregoirehebert How ? môman = 6 bytes = 48bits

    môman = aca9c866584e891be0e5c736798273c00bb48a00
 
 Birthday Paradox or Birthday-near-collision-attack
  6. @gheb_dev @gregoirehebert môman = aca9c866584e891be0e5c736798273c00bb48a00
 môman = 6 bytes =

    48bits
 
 Birthday Paradox or Birthday-near-collision-attack 23/365 -> 6% How ?
  7. @gheb_dev @gregoirehebert 50% How ? môman = aca9c866584e891be0e5c736798273c00bb48a00
 môman =

    6 bytes = 48bits
 
 Birthday Paradox or Birthday-near-collision-attack
  8. @gheb_dev @gregoirehebert How ? 97% môman = aca9c866584e891be0e5c736798273c00bb48a00
 môman =

    6 bytes = 48bits
 
 Birthday Paradox or Birthday-near-collision-attack
  9. @gheb_dev @gregoirehebert 365/365 x 364/365 365/365 x 364/365 x 363/365

    365/365 x 364/365 x 363/365 x 362/365 365 possibilities over 365 How ?
  10. @gheb_dev @gregoirehebert Substitution / Permutation 
 
 key = f8ef4efa9842azgjyu248ger4h984a

    [0110][1001]
 [sbox][sbox]
 [1001][1101]
 [ pbox ]
 [1101][1001] A = E
 E = B
  11. @gheb_dev @gregoirehebert Substitution / Permutation 
 
 key = f8ef4efa9842azgjyu248ger4h984a

    [0110][1001]
 [sbox][sbox]
 [1001][1101]
 [ pbox ]
 [1101][1001] A = E
 E = B 10x
 80x
  12. @gheb_dev @gregoirehebert Substitution / Permutation 
 
 key = f8ef4efa9842azgjyu248ger4h984a

    [0110][1001]
 [sbox][sbox]
 [1001][1101]
 [ pbox ]
 [1101][1001] A = E
 E = B 10x
 14x AES
  13. @gheb_dev @gregoirehebert n 12… Pick an extremely high value higher

    than the maximum allowed.
 Picture a hand on the clock, forced to do multiple rounds until it reached the expected value Multiple initial value can result in the same value on the clock.
 Which is why it’s difficult to find the original value used as an input.
  14. @gheb_dev @gregoirehebert SOURCES https://chiffrer.info/
 https://www.youtube.com/channel/UC9-y-6csu5WGm29I7JiwpnA
 https://en.wikipedia.org/wiki/Transport_Layer_Security
 https://en.wikipedia.org/wiki/Substitution%E2%80%93permutation_network
 https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
 https://en.wikipedia.org/wiki/RSA_(cryptosystem)
 https://en.wikipedia.org/wiki/MD5


    https://en.wikipedia.org/wiki/SHA-1
 https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
 https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman
 https://en.wikipedia.org/wiki/Triple_DES
 https://en.wikipedia.org/wiki/Data_Encryption_Standard
 http://competitions.cr.yp.to/aes.html
 https://en.wikipedia.org/wiki/Public-key_cryptography
 https://sha-mbles.github.io/
 https://en.wikipedia.org/wiki/Password-authenticated_key_agreement