SlideShare a Scribd company logo
@adam_englander
Cryptography for Beginners
Adam Englander
Software Architect, iovation
@adam_englander
I am a Virtual Crime Fighter
@adam_englander
Let’s Set Some Expectations
@adam_englander
What is cryptography?
@adam_englander
–Wikipedia
“Cryptography…is the practice and
study of techniques for secure
communication in the presence of third
parties called adversaries.”
@adam_englander
–Wikipedia
“Cryptography…is the practice and
study of techniques for secure
communication in the presence of third
parties called adversaries.”
@adam_englander
How Cryptography Works
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
How is cryptography used?
@adam_englander
Encryption Signatures
Key Derivation Hashing
@adam_englander
Encryption
@adam_englander
Asymmetric Encryption
@adam_englander
Symmetric Encryption
@adam_englander
Hashing
@adam_englander
Input MD5 SHA1
Foo
1356c67d7ad1638d816bfb82
2dd2c25d
201a6b3053cc1422d2c3670b6
2616221d2290929
Bar
ddc35f88fa71b6ef142ae61f35
364653
e496fd20136d4bb7828ebb0ab
925b1bd977208e4
@adam_englander
Collisions occur when two input
values create the same hash
@adam_englander
Any modern hashing algorithm will
never create collision for an input
value whose size is equal to or less
then the hash output size
@adam_englander
Input MD5 SHA1
Foo
1356c67d7ad1638d816bfb82
2dd2c25d
201a6b3053cc1422d2c3670b6
2616221d2290929
Bar
ddc35f88fa71b6ef142ae61f35
364653
e496fd20136d4bb7828ebb0ab
925b1bd977208e4
@adam_englander
db110e4553b9fb646c8d01d928668046
33,571 byte input and 32 byte output
@adam_englander
Hashes by themselves aren’t very useful!
@adam_englander
Signatures
@adam_englander
Data Key Signature
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyTwo db97086208d9dd34d4b288959cac612f
Bar KeyOne 8624de374522eaf1b4ae9f0b872c2169
@adam_englander
Data Key Signature
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyTwo db97086208d9dd34d4b288959cac612f
Bar KeyOne 8624de374522eaf1b4ae9f0b872c2169
@adam_englander
Data Key Signature
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyTwo db97086208d9dd34d4b288959cac612f
Bar KeyOne 8624de374522eaf1b4ae9f0b872c2169
@adam_englander
Data Key Signature
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyOne b4ac60b7d319d41df60c99a6d064c18e
Foo KeyTwo db97086208d9dd34d4b288959cac612f
Bar KeyOne 8624de374522eaf1b4ae9f0b872c2169
@adam_englander
Key Derivation
@adam_englander
ihatepasswords randomsalt gPqSXKzzeStBAqT3
@adam_englander
ihatepasswords randomsalt gPqSXKzzeStBAqT3
gPqSXKzzeStBAqT3 randomsalt hoEiNrLNefkxRNPR
@adam_englander
ihatepasswords randomsalt gPqSXKzzeStBAqT3
gPqSXKzzeStBAqT3 randomsalt hoEiNrLNefkxRNPR
hoEiNrLNefkxRNPR randomsalt MgbfofelpvLjM0Hx
@adam_englander
ihatepasswords randomsalt gPqSXKzzeStBAqT3
gPqSXKzzeStBAqT3 randomsalt hoEiNrLNefkxRNPR
hoEiNrLNefkxRNPR randomsalt MgbfofelpvLjM0Hx
MgbfofelpvLjM0Hx randomsalt xYjyM0wXf1VYboBa
@adam_englander
ihatepasswords randomsalt gPqSXKzzeStBAqT3
gPqSXKzzeStBAqT3 randomsalt hoEiNrLNefkxRNPR
hoEiNrLNefkxRNPR randomsalt MgbfofelpvLjM0Hx
MgbfofelpvLjM0Hx randomsalt xYjyM0wXf1VYboBa
xYjyM0wXf1VYboBa randomsalt OpWKejkZt/u1wFCk
@adam_englander
How do I get good
cryptography?
@adam_englander
Good cryptography obscures data
in such a way that it is difficult and
costly to duplicate or reverse.
@adam_englander
Attacking Cryptography
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
@adam_englander
There are ways to fight all that
power...
@adam_englander
Algorithm Complexity
@adam_englander
Large Keys
@adam_englander
System Resources
@adam_englander
Iteration
@adam_englander
@adam_englander
–Oxford Dictionary
Entropy:
Lack of order or predictability; gradual
decline into disorder.”
@adam_englander
Real world data has very
predictable patterns.
@adam_englander
HTTP/1.1 200 OK
Content-Type: application/json
Server: Apache/2.1
Date: Thu, 08 Feb 2018 18:19:56 GMT
{
"account": "my-secret-account-number",
"date_of_birth": "1980-01-02",
"first_name": "Jane",
"last_name": "Doe",
"ssn_last4": "1234",
}
@adam_englander
HTTP/1.1 200 OK
Content-Type: application/json
Server: Apache/2.1
Date: Thu, 08 Feb 2018 18:19:56 GMT
{
"account": "my-secret-account-number",
"date_of_birth": "1980-01-02",
"first_name": "Jane",
"last_name": "Doe",
"ssn_last4": "1234",
}
@adam_englander
HTTP/1.1 200 OK
Content-Type: application/json
Server: Apache/2.1
Date: Thu, 08 Feb 2018 18:19:56 GMT
{
"account": "my-secret-account-number",
"date_of_birth": "1980-01-02",
"first_name": "Jane",
"last_name": "Doe",
"ssn_last4": "1234",
}
@adam_englander
HTTP/1.1 200 OK
Content-Type: application/json
Server: Apache/2.1
Date: Thu, 08 Feb 2018 18:19:56 GMT
{
"account": "my-secret-account-number",
"date_of_birth": "1980-01-02",
"first_name": "Jane",
"last_name": "Doe",
"ssn_last4": "1234",
}
@adam_englander
Credential data is highly
predictable
@adam_englander
Most services use email for the
username
@adam_englander
Passwords have very high
predictability and are reused
@adam_englander
–iovation: August 2015 Password Survey
https://s3.amazonaws.com/launchkey-blog/LaunchKey_Password_Survey_Results.pdf
“68% of people reuse passwords”
@adam_englander
–Keeper Security: The Most Common Passwords of 2016
https://keepersecurity.com/public/Most-Common-Passwords-of-2016-Keeper-Security-Study.pdf
“The top 25 passwords of 2016
constitute over 50% of the 10M
passwords that were analyzed.”
@adam_englander
–Keeper Security: The Most Common Passwords of 2016
https://keepersecurity.com/public/Most-Common-Passwords-of-2016-Keeper-Security-Study.pdf
“Nearly 17% of users are safeguarding
their accounts with “123456."”
@adam_englander
Most users will choose
passwords based on ease of
recall rather than entropy
@adam_englander
All the reuse and predictability
in passwords creates a very
serious problem
@adam_englander
user1 wI6Lx2klirB32K5T/4iQzsRVXI0PoVfc
user2 eHc9kCCZAzmR8HrelHeOAOs67XBo6OQe
user3 wI6Lx2klirB32K5T/4iQzsRVXI0PoVfc
user4 7U02IuFr4KJdjcexi26XFBWOuB3rTGLh
user5 wI6Lx2klirB32K5T/4iQzsRVXI0PoVfc
@adam_englander
user1 wI6Lx2klirB32K5T/4iQzsRVXI0PoVfc
user2 eHc9kCCZAzmR8HrelHeOAOs67XBo6OQe
user3 wI6Lx2klirB32K5T/4iQzsRVXI0PoVfc
user4 7U02IuFr4KJdjcexi26XFBWOuB3rTGLh
user5 wI6Lx2klirB32K5T/4iQzsRVXI0PoVfc
@adam_englander
Good cryptography uses random
salts to add entropy to hashes
@adam_englander
user1 4Ka7pm2M hqebP0ZRMl1DuBuoDC6+aA==
user2 lmsnAV/G XW0sV+kkle4DGaRyCul9mg==
user3 dLi1KjpE WrxmEs5ebHl1BiSp78fAeg==
user4 oRj3JUBE dATxMWkabTpBUwsjtNu3Eg==
user5 SD1sEqV tHKLSj5J8FoO0LHJfeI6lA==
@adam_englander
Nearly every type of data has
recognizable patterns
@adam_englander
English Message Patterns
• Spaces can be determined based on predictable word patterns
• Single letter words will be either the letter i or a
• In a two letter word, one of the letters is a vowel
• Three letter words mostly start and end with consonants and nearly
always have a vowel in the middle
• The letter e is the most common of all letters
@adam_englander
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
VXXo7Ov5OxFC5l6hEwDECoSjyTAIF1emZQY=
uoZjkwYzCwwN18xU8aZMzISjyTAIF1SmZQU=
yUe6wRXtblMRxrYP/N4n1ISjyTAIF1SmZQY=
coqei5pw+HHPDpaCPzcNW4SjyTMIF1emZQU=
@adam_englander
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
VXXo7Ov5OxFC5l6hEwDECoSjyTAIF1emZQY=
uoZjkwYzCwwN18xU8aZMzISjyTAIF1SmZQU=
yUe6wRXtblMRxrYP/N4n1ISjyTAIF1SmZQY=
coqei5pw+HHPDpaCPzcNW4SjyTMIF1emZQU=
@adam_englander
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
VXXo7Ov5OxFC5l6hEwDECoSjyTAIF1emZQY=
uoZjkwYzCwwN18xU8aZMzISjyTAIF1SmZQU=
yUe6wRXtblMRxrYP/N4n1ISjyTAIF1SmZQY=
coqei5pw+HHPDpaCPzcNW4SjyTMIF1emZQU=
@adam_englander
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
VXXo7Ov5OxFC5l6hEwDECoSjyTAIF1emZQY=
uoZjkwYzCwwN18xU8aZMzISjyTAIF1SmZQU=
yUe6wRXtblMRxrYP/N4n1ISjyTAIF1SmZQY=
coqei5pw+HHPDpaCPzcNW4SjyTMIF1emZQU=
@adam_englander
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
RrSRvtw/2Mk993TmCMjoAoSjyTAIF1emZQU=
VXXo7Ov5OxFC5l6hEwDECoSjyTAIF1emZQY=
uoZjkwYzCwwN18xU8aZMzISjyTAIF1SmZQU=
yUe6wRXtblMRxrYP/N4n1ISjyTAIF1SmZQY=
coqei5pw+HHPDpaCPzcNW4SjyTMIF1emZQU=
@adam_englander
H4pyN6ucltNSlZBsaT5h2SBIuAXvITa0N3U=
uAHjDXC+A0QcyxLugng2wGd/QoghrgbHMaM=
o3O+HjdzJOZ7bZEi8X5MBbMWVphZmGnHEoQ=
RCsavNOf1KNgf7FAqn0o6xV/nWWMsT3KkNU=
dkHaoUx4npXSIOvO8rvY07CdWfOoQ7+Pht4=
rBdxOfwfsGmavqsgpqcavapMNb2/vYEFW6c=
@adam_englander
Random salts and IVs need
good random values
@adam_englander
CSPRNG
@adam_englander
Stop it! You’re blowing my mind!
@adam_englander
Use the password extension!
@adam_englander
<?php
function validate_password($password, $user) {
}
@adam_englander
<?php
function validate_password($password, $user) {
if (!password_verify($password, $user->password)) {
throw new InvalidArgumentException("Password Failed");
}
}
@adam_englander
<?php
function validate_password($password, $user) {
if (!password_verify($password, $user->password)) {
throw new InvalidArgumentException("Password Failed");
}
if (password_needs_rehash($user->password, PASSWORD_DEFAULT)) {
$user->password = password_hash($password, PASSWORD_DEFAULT);
$user->save();
}
}
@adam_englander
It’s encryption that’s good for you
@adam_englander
// Generating your encryption key
$key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
@adam_englander
// Generating your encryption key
$key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
// Generate a random nonce
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
@adam_englander
// Generating your encryption key
$key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
// Generate a random nonce
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
// Using your key to encrypt information
$ciphertext = sodium_crypto_secretbox('test', $nonce, $key);
@adam_englander
// Generating your encryption key
$key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
// Generate a random nonce
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
// Using your key to encrypt information
$ciphertext = sodium_crypto_secretbox('test', $nonce, $key);
// Decrypting a message requires the nonce and key used to encrypt
$plaintext = sodium_crypto_secretbox_open($ciphertext, $nonce, $key);
if ($plaintext === false) {
throw new Exception("Bad ciphertext");
}
@adam_englander
@adam_englander
Books
• The Code Book: The Science of Secrecy from
Ancient Egypt to Quantum Cryptography -
Simon Singh - ISBN: 0-385-49532
• Cryptography Engineering: Design Principles
and Practical Applications - Niels Ferguson,
Bruce Schneider, Tadayoshi Kohno - ISBN:
978-0-470-47424-2
@adam_englander
Websites
• https://secure.php.net/manual/en/book.password.php
• https://paragonie.com/book/pecl-libsodium
• https://secure.php.net/manual/en/book.openssl.php
• https://secure.php.net/manual/en/book.csprng.php
• https://en.wikipedia.org/wiki/Cryptography
@adam_englander
https://joind.in/talk/f411c

More Related Content

Similar to Cryptography for Beginners - Sunshine PHP 2018 (20)

PDX Tech Meetup - The changing landscape of passwords
PDX Tech Meetup - The changing landscape of passwordsPDX Tech Meetup - The changing landscape of passwords
PDX Tech Meetup - The changing landscape of passwords
Ryan Smith
 
Seguridad en microservicios via micro profile jwt
Seguridad en microservicios via micro profile jwtSeguridad en microservicios via micro profile jwt
Seguridad en microservicios via micro profile jwt
César Hernández
 
Securing the Web without site-specific passwords
Securing the Web without site-specific passwordsSecuring the Web without site-specific passwords
Securing the Web without site-specific passwords
Francois Marier
 
How to Use Cryptography Properly: Common Mistakes People Make When Using Cry...
How to Use Cryptography Properly:  Common Mistakes People Make When Using Cry...How to Use Cryptography Properly:  Common Mistakes People Make When Using Cry...
How to Use Cryptography Properly: Common Mistakes People Make When Using Cry...
All Things Open
 
Death to Passwords SXSW 15
Death to Passwords SXSW 15Death to Passwords SXSW 15
Death to Passwords SXSW 15
Tim Messerschmidt
 
ZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for Beginners
Adam Englander
 
Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...
Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...
Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...
Codemotion
 
Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018
Adam Englander
 
In search of unique behaviour
In search of unique behaviourIn search of unique behaviour
In search of unique behaviour
DefCamp
 
OSDC 2019 | Automating Security in Your Data Pipline by Troy Harvey
OSDC 2019 | Automating Security in Your Data Pipline by Troy HarveyOSDC 2019 | Automating Security in Your Data Pipline by Troy Harvey
OSDC 2019 | Automating Security in Your Data Pipline by Troy Harvey
NETWAYS
 
SunshinePHP 2017: Tales From The Crypt - A Cryptography Primer
SunshinePHP 2017: Tales From The Crypt - A Cryptography PrimerSunshinePHP 2017: Tales From The Crypt - A Cryptography Primer
SunshinePHP 2017: Tales From The Crypt - A Cryptography Primer
Adam Englander
 
Encryption Basics Everyone Should Know
Encryption Basics Everyone Should KnowEncryption Basics Everyone Should Know
Encryption Basics Everyone Should Know
Jason Truppi
 
Scalabay - API Design Antipatterns
Scalabay - API Design AntipatternsScalabay - API Design Antipatterns
Scalabay - API Design Antipatterns
Manish Pandit
 
CipherKey Algorithm
CipherKey AlgorithmCipherKey Algorithm
CipherKey Algorithm
ijtsrd
 
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The SpuriousTom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper
 
Cryptography Methodologies
Cryptography MethodologiesCryptography Methodologies
Cryptography Methodologies
ijtsrd
 
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
Adam Englander
 
How Raft consensus algorithm will make replication even better in MongoDB 3.2...
How Raft consensus algorithm will make replication even better in MongoDB 3.2...How Raft consensus algorithm will make replication even better in MongoDB 3.2...
How Raft consensus algorithm will make replication even better in MongoDB 3.2...
Ontico
 
Hacknbeers sqli and cryptography
Hacknbeers sqli and cryptographyHacknbeers sqli and cryptography
Hacknbeers sqli and cryptography
Miguel Ibarra
 
Using Cryptography Properly in Applications
Using Cryptography Properly in ApplicationsUsing Cryptography Properly in Applications
Using Cryptography Properly in Applications
Great Wide Open
 
PDX Tech Meetup - The changing landscape of passwords
PDX Tech Meetup - The changing landscape of passwordsPDX Tech Meetup - The changing landscape of passwords
PDX Tech Meetup - The changing landscape of passwords
Ryan Smith
 
Seguridad en microservicios via micro profile jwt
Seguridad en microservicios via micro profile jwtSeguridad en microservicios via micro profile jwt
Seguridad en microservicios via micro profile jwt
César Hernández
 
Securing the Web without site-specific passwords
Securing the Web without site-specific passwordsSecuring the Web without site-specific passwords
Securing the Web without site-specific passwords
Francois Marier
 
How to Use Cryptography Properly: Common Mistakes People Make When Using Cry...
How to Use Cryptography Properly:  Common Mistakes People Make When Using Cry...How to Use Cryptography Properly:  Common Mistakes People Make When Using Cry...
How to Use Cryptography Properly: Common Mistakes People Make When Using Cry...
All Things Open
 
ZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for BeginnersZendCon 2017 - Cryptography for Beginners
ZendCon 2017 - Cryptography for Beginners
Adam Englander
 
Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...
Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...
Amanda Sopkin - Computational Randomness: Creating Chaos in an Ordered Machin...
Codemotion
 
Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018Practical API Security - Midwest PHP 2018
Practical API Security - Midwest PHP 2018
Adam Englander
 
In search of unique behaviour
In search of unique behaviourIn search of unique behaviour
In search of unique behaviour
DefCamp
 
OSDC 2019 | Automating Security in Your Data Pipline by Troy Harvey
OSDC 2019 | Automating Security in Your Data Pipline by Troy HarveyOSDC 2019 | Automating Security in Your Data Pipline by Troy Harvey
OSDC 2019 | Automating Security in Your Data Pipline by Troy Harvey
NETWAYS
 
SunshinePHP 2017: Tales From The Crypt - A Cryptography Primer
SunshinePHP 2017: Tales From The Crypt - A Cryptography PrimerSunshinePHP 2017: Tales From The Crypt - A Cryptography Primer
SunshinePHP 2017: Tales From The Crypt - A Cryptography Primer
Adam Englander
 
Encryption Basics Everyone Should Know
Encryption Basics Everyone Should KnowEncryption Basics Everyone Should Know
Encryption Basics Everyone Should Know
Jason Truppi
 
Scalabay - API Design Antipatterns
Scalabay - API Design AntipatternsScalabay - API Design Antipatterns
Scalabay - API Design Antipatterns
Manish Pandit
 
CipherKey Algorithm
CipherKey AlgorithmCipherKey Algorithm
CipherKey Algorithm
ijtsrd
 
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The SpuriousTom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper Mozcon 2021 - Core Web Vitals - The Fast & The Spurious
Tom Capper
 
Cryptography Methodologies
Cryptography MethodologiesCryptography Methodologies
Cryptography Methodologies
ijtsrd
 
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the FutureConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
ConFoo Vancouver 2017 - Biometrics: Fantastic Failure Point of the Future
Adam Englander
 
How Raft consensus algorithm will make replication even better in MongoDB 3.2...
How Raft consensus algorithm will make replication even better in MongoDB 3.2...How Raft consensus algorithm will make replication even better in MongoDB 3.2...
How Raft consensus algorithm will make replication even better in MongoDB 3.2...
Ontico
 
Hacknbeers sqli and cryptography
Hacknbeers sqli and cryptographyHacknbeers sqli and cryptography
Hacknbeers sqli and cryptography
Miguel Ibarra
 
Using Cryptography Properly in Applications
Using Cryptography Properly in ApplicationsUsing Cryptography Properly in Applications
Using Cryptography Properly in Applications
Great Wide Open
 

More from Adam Englander (20)

Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptx
Adam Englander
 
Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Practical API Security - PyCon 2019
Practical API Security - PyCon 2019
Adam Englander
 
Threat Modeling for Dummies
Threat Modeling for DummiesThreat Modeling for Dummies
Threat Modeling for Dummies
Adam Englander
 
ZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API Security
Adam Englander
 
ZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in Depth
Adam Englander
 
Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018
Adam Englander
 
php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2
Adam Englander
 
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Adam Englander
 
Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Practical API Security - PyCon 2018
Practical API Security - PyCon 2018
Adam Englander
 
Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018
Adam Englander
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Adam Englander
 
ZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is Coming
Adam Englander
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async Primer
Adam Englander
 
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatSymfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Adam Englander
 
Coder Cruise 2017 - The Red Team Is Coming
Coder Cruise 2017 - The Red Team Is ComingCoder Cruise 2017 - The Red Team Is Coming
Coder Cruise 2017 - The Red Team Is Coming
Adam Englander
 
Don't Loose Sleep - Secure Your Rest - php[tek] 2017
Don't Loose Sleep - Secure Your Rest - php[tek] 2017Don't Loose Sleep - Secure Your Rest - php[tek] 2017
Don't Loose Sleep - Secure Your Rest - php[tek] 2017
Adam Englander
 
Build a bot workshop async primer - php[tek]
Build a bot workshop  async primer - php[tek]Build a bot workshop  async primer - php[tek]
Build a bot workshop async primer - php[tek]
Adam Englander
 
Python and Docker
Python and DockerPython and Docker
Python and Docker
Adam Englander
 
Concurrent Programming in Python
Concurrent Programming in PythonConcurrent Programming in Python
Concurrent Programming in Python
Adam Englander
 
Biometrics - Fantastic Failure Point of the Future
Biometrics - Fantastic Failure Point of the FutureBiometrics - Fantastic Failure Point of the Future
Biometrics - Fantastic Failure Point of the Future
Adam Englander
 
Making PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptxMaking PHP Smarter - Dutch PHP 2023.pptx
Making PHP Smarter - Dutch PHP 2023.pptx
Adam Englander
 
Practical API Security - PyCon 2019
Practical API Security - PyCon 2019Practical API Security - PyCon 2019
Practical API Security - PyCon 2019
Adam Englander
 
Threat Modeling for Dummies
Threat Modeling for DummiesThreat Modeling for Dummies
Threat Modeling for Dummies
Adam Englander
 
ZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API SecurityZendCon 2018 - Practical API Security
ZendCon 2018 - Practical API Security
Adam Englander
 
ZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in DepthZendCon 2018 - Cryptography in Depth
ZendCon 2018 - Cryptography in Depth
Adam Englander
 
Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018Threat Modeling for Dummies - Cascadia PHP 2018
Threat Modeling for Dummies - Cascadia PHP 2018
Adam Englander
 
php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2php[tek] 2108 - Cryptography Advances in PHP 7.2
php[tek] 2108 - Cryptography Advances in PHP 7.2
Adam Englander
 
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Biometrics: Sexy, Secure and... Stupid - RSAC 2018
Adam Englander
 
Practical API Security - PyCon 2018
Practical API Security - PyCon 2018Practical API Security - PyCon 2018
Practical API Security - PyCon 2018
Adam Englander
 
Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018Cryptography for Beginners - Midwest PHP 2018
Cryptography for Beginners - Midwest PHP 2018
Adam Englander
 
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your RESTCon Foo 2017 - Don't Loose Sleep - Secure Your REST
Con Foo 2017 - Don't Loose Sleep - Secure Your REST
Adam Englander
 
ZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is ComingZendCon 2017: The Red Team is Coming
ZendCon 2017: The Red Team is Coming
Adam Englander
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async PrimerZendCon 2017 - Build a Bot Workshop - Async Primer
ZendCon 2017 - Build a Bot Workshop - Async Primer
Adam Englander
 
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and BehatSymfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Symfony Live San Franciso 2017 - BDD API Development with Symfony and Behat
Adam Englander
 
Coder Cruise 2017 - The Red Team Is Coming
Coder Cruise 2017 - The Red Team Is ComingCoder Cruise 2017 - The Red Team Is Coming
Coder Cruise 2017 - The Red Team Is Coming
Adam Englander
 
Don't Loose Sleep - Secure Your Rest - php[tek] 2017
Don't Loose Sleep - Secure Your Rest - php[tek] 2017Don't Loose Sleep - Secure Your Rest - php[tek] 2017
Don't Loose Sleep - Secure Your Rest - php[tek] 2017
Adam Englander
 
Build a bot workshop async primer - php[tek]
Build a bot workshop  async primer - php[tek]Build a bot workshop  async primer - php[tek]
Build a bot workshop async primer - php[tek]
Adam Englander
 
Concurrent Programming in Python
Concurrent Programming in PythonConcurrent Programming in Python
Concurrent Programming in Python
Adam Englander
 
Biometrics - Fantastic Failure Point of the Future
Biometrics - Fantastic Failure Point of the FutureBiometrics - Fantastic Failure Point of the Future
Biometrics - Fantastic Failure Point of the Future
Adam Englander
 

Recently uploaded (20)

Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 

Cryptography for Beginners - Sunshine PHP 2018