SlideShare a Scribd company logo
1 of 48
Intro
◦ Roy Wasse
◦ Co Founder OpenValue
◦ Dutch JUG leader
◦ Love technochange
◦ Disclaimer: no heavy math
2
ΚΡΥΠΤΕΙ
ΓΡΆΦΩ
CAESAR CIPHER
◦ Invented by Leon Battista in 1467
◦ Uses multiple alphabets (polyalphabetic)
◦ Circumvents frequency analysis
A T T A C K A T D A W N
L E M O N L E M O N L E
L X F O P V E F R N H R
Vigenère cipher
Repetition is deadly
Playfair
◦ Key PLAYFAIR EXAMPLE
◦ Plaintext HI DE TH EG OL DI NT HE TR EX ES TU MP
◦ Ciphertext BM OD ZB XD NA BE KU DM UI XM MO UV IF
Image http://kerryb.github.io/enigmaa/
tps://hackaday.com/2016/04/29/centennial-birthday-of-claude-e-shannon-the-math-and-ee-pioneer/
One time pad
◦ If and only if:
◦ Key length >= Source text
◦ Key is generated randomly
◦ Any key is used only once
◦ Only sender and receiver have key
One time function
Source T H I S I S S E C R E T
Position 20 8 9 19 9 19 19 5 3 18 5 20
KEY X V H E U W N O P G D L
+ 23 21 7 4 20 22 13 14 15 6 3 12
Result 43 29 16 23 29 41 32 19 18 24 8 32
Mod 26 17 3 16 23 3 15 6 19 18 24 8 6
Ciphertext R D Q X D P G T S Y 9 G
Disadvantages
One time pad
Works fine in some use cases (pen &
paper)
1 GB file requires 1 GB random key
No access to true random input
Key can only be used once, how to
guarantee
Semantic
security
Shorter key
Pseudo random generator
Ciphers for varying message length
Safe enough for vast amount of computing power
Practical encryption != Mathematical safe
STREAM CIPHER
Middle Squares
method
◦ Take random input number (11)
◦ Square number (11 * 11 = 121)
◦ Select # middle chars (0121)
◦ add trailing zero if needed
◦ Square those (12 * 12 = 144)
◦ Repeat until key is long enough
ATTACK AT NOON
◦ Key needed consisting of 12 chars (spaces removed)
Sum Outcome Key Length PRG key
11 * 11 0121 12 2
12 * 12 0144 1214 4
14 * 14 0196 121419 6
19 * 19 0361 12141936 8
36 * 36 1296 1214193629 10
84 * 84 7056 121419362905 12
Position 1 2 3 4 5 6 7 8 9 10 11 12
Input A T T A C K A T N O O N
Key 1 2 1 4 1 9 3 6 2 9 0 5
Pseudo Random is hard
Nonce
◦ Cipher algorithm that uses a Nonce next
to a Seed
◦ Seed * Nonce => ~Cipher text
◦ Reuse key because s1*n0 != s1*n1
◦ IV = Initialization Vector, example of
Nonce
◦ In WPA Nonce reuse was predictable
C M V H
F R O M M O L L Y
Position 6 18 15 13 13 15 12 12 25
KEY X V H U W N O P G
+ 23 21 7 20 22 13 14 15 6
Result 29 39 22 33 35 28 26 27 31
Mod 26 3 13 22 7 9 2 0 1 5
Ciphertext C M V H J C A B X
F R O M A L I C E
Position 6 18 15 13 1 12 9 3 5
KEY D B J E L L M W A
+ 4 2 10 13 1 12 9 3 5
Result 10 20 25 26 2 24 18 6 10
Mod 26 10 20 25 0 2 24 18 6 10
Ciphertext K U Z A C Y S G K
C Y S G KK U Z A
J C A B X
HASHING
VERSUS
ENCRYPTION
Checksum
◦ Based on hash function
◦ Small change in input, totally different
output
◦ Sender embeds a checksum in encrypted
message
◦ Receiver checks if he can reproduce the
checksum
Block ciphers
Plaintext A B C D E F
Ciphertext F A B C D E
Ciphertext E F A C
Source F A C E
Asymmetric encryption
Elliptic Curve
◦ Safer then RSA
◦ y2 = x3 + ax + b
◦ Bitcoin uses it
◦ SSL can use it
30
Quantum computing
◦ Sohr‘s algorithm mid 90’s showed RSA is vulnerable
◦ ECC even more vulnerable
◦ To guess Private key in reasonable amount of time few thousand qubits needed
◦ Currently best Quantum computer has 20-50 qubits
◦ Supersingular Isogeny Diffie-Hellman is post-quantum secure
Superencryption
◦ AKA Multi encryption
◦ Combine multiple encryption approaches
Mixing service & Onion Routing
◦ Implemented in TOR (The Onion Router)
◦ Alice want to send message to Bob’s forum anonymously
◦ Use proxy Carol ( A -> C -> B )
◦ Share a key with Carol and send cyphertext
◦ Use mixing service
Peeling the onion
◦ Use Multiple mixing services
◦ c1 := E(kd,m))
◦ c2 := E(kc, E(kd,m))
◦ Adding routing info: c2 := E(kc, <David, c1>) where c1 := E(kd, <Bob,m>)
◦ Carol doesn’t know she’s the entry point / Alice is a sender
Zero knowledge proof
CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=313648
◦Sender’s address
◦Amount of coins sent
◦Receiver’s address
Exploiting multiplication to hide
information and verify ownership
Credit: https://medium.com/beam-mw/mimblewimble-explained-like-youre-12-d779a5bb483d
Hiding transaction amounts
Proving that money in = out
Schnorr Signatures
◦ Bitcoin uses script which signs several tx inputs for a single tx
◦ Signatures take up a lot of space.
◦ Schnorr allows aggregating signatures like:
◦ Output 1 -> ~Input A = Sig 1000
◦ Output 2 -> Input A= Sig 5000
◦ Just store 15000 (10000+15000)
◦ This enables scriptless transactions!
Image: https://bitcoinmagazine.com/articles/scriptless-scripts-how-bitcoin-can-support-smart-contracts-without-smart-contracts/
Scriptless scripts
◦ Smart contracts without use of a script
◦ No one can see the smart contract
◦ In this year maybe implemented in bitcoin
Unlock song with signature
Schnorr 8000
Schnorr 7000
Initiate transaction
Schnorr 1000
Zero knowledge proof
Calculate Song Schnorr 7000
Schnorr 8000
Finish transaction (streamer Schnorr)
Recommended
Reading
Dan Boney & Victor Shoup, A Graduate Course in Applied Cryptography
(September 2017, v0.4). https://crypto.stanford.edu/~dabo/cryptobook/
Applications of Modern Cryptography Technologies, applications and choices
(SURFNet, 2010)
https://www.surf.nl/binaries/content/assets/surf/en/knowledgebase/2010/rapport_20
1009_SNcryptoWEB.pdf
Decrypted secrets. Methods & Maixms of Cryptology byF.L Bauer. (2007).
Bitcoin magazine (November 2017)
https://bitcoinmagazine.com/articles/scriptless-scripts-how-bitcoin-can-support-
smart-contracts-without-smart-contracts/
https://medium.com/beam-mw/mimblewimble-explained-like-youre-12-
d779a5bb483d
Crypto erasure
◦ GDPR (AVG) requires option to erase all data (right to be forgotten)
◦ But how to keep track?
◦ And what if system crashes because record is deleted (in event sourcing
for instance)
◦ Crypto erasure, safe all sensitive records encrypted in data store.
◦ Just throw away key if you want to erase all data related to person x
Commitment Scheme
◦ Alice & Bob going on a date, but which movie to pick?
◦ Coin flip
◦ Bob make a choice (bit commitment), send to Alice
◦ Coin is flipped, outcome is known to Alice & Bob
◦ Alice can now open envelope
AMOUNT
PART
MUST BE
VANISHED!

More Related Content

What's hot

Cryptography for Smalltalkers 2 - ESUG 2006
Cryptography for Smalltalkers 2 - ESUG 2006Cryptography for Smalltalkers 2 - ESUG 2006
Cryptography for Smalltalkers 2 - ESUG 2006Martin Kobetic
 
Strong cryptography in PHP
Strong cryptography in PHPStrong cryptography in PHP
Strong cryptography in PHPEnrico Zimuel
 
Secret key cryptography
Secret key cryptographySecret key cryptography
Secret key cryptographyPrabhat Goel
 
Cryptography For The Average Developer - Sunshine PHP
Cryptography For The Average Developer - Sunshine PHPCryptography For The Average Developer - Sunshine PHP
Cryptography For The Average Developer - Sunshine PHPAnthony Ferrara
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniquesDr.Florence Dayana
 
How does cryptography work? by Jeroen Ooms
How does cryptography work?  by Jeroen OomsHow does cryptography work?  by Jeroen Ooms
How does cryptography work? by Jeroen OomsAjay Ohri
 
Cryptography in PHP: use cases
Cryptography in PHP: use casesCryptography in PHP: use cases
Cryptography in PHP: use casesEnrico Zimuel
 
Crypto theory to practice
Crypto theory to practiceCrypto theory to practice
Crypto theory to practiceHarry Potter
 
Classic Information encryption techniques
Classic Information encryption techniquesClassic Information encryption techniques
Classic Information encryption techniquesJay Nagar
 
Substitution techniques
Substitution techniquesSubstitution techniques
Substitution techniquesvinitha96
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Svetlin Nakov
 
Encryption Boot Camp on the JVM
Encryption Boot Camp on the JVMEncryption Boot Camp on the JVM
Encryption Boot Camp on the JVMMatthew McCullough
 
Cryptography For The Average Developer
Cryptography For The Average DeveloperCryptography For The Average Developer
Cryptography For The Average DeveloperAnthony Ferrara
 
Embark 2 Upcoming Features and Goals
Embark 2 Upcoming Features and GoalsEmbark 2 Upcoming Features and Goals
Embark 2 Upcoming Features and GoalsIuri Matias
 
Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Svetlin Nakov
 
IS Unit 1_Conventional Encryption_Classical Encryption Techniques
IS Unit 1_Conventional Encryption_Classical Encryption TechniquesIS Unit 1_Conventional Encryption_Classical Encryption Techniques
IS Unit 1_Conventional Encryption_Classical Encryption TechniquesSarthak Patel
 
Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2Mohamed Loey
 
Defeating the entropy downgrade attack
Defeating the entropy downgrade attackDefeating the entropy downgrade attack
Defeating the entropy downgrade attackSeth Wahle
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Securitybabak danyal
 

What's hot (19)

Cryptography for Smalltalkers 2 - ESUG 2006
Cryptography for Smalltalkers 2 - ESUG 2006Cryptography for Smalltalkers 2 - ESUG 2006
Cryptography for Smalltalkers 2 - ESUG 2006
 
Strong cryptography in PHP
Strong cryptography in PHPStrong cryptography in PHP
Strong cryptography in PHP
 
Secret key cryptography
Secret key cryptographySecret key cryptography
Secret key cryptography
 
Cryptography For The Average Developer - Sunshine PHP
Cryptography For The Average Developer - Sunshine PHPCryptography For The Average Developer - Sunshine PHP
Cryptography For The Average Developer - Sunshine PHP
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
 
How does cryptography work? by Jeroen Ooms
How does cryptography work?  by Jeroen OomsHow does cryptography work?  by Jeroen Ooms
How does cryptography work? by Jeroen Ooms
 
Cryptography in PHP: use cases
Cryptography in PHP: use casesCryptography in PHP: use cases
Cryptography in PHP: use cases
 
Crypto theory to practice
Crypto theory to practiceCrypto theory to practice
Crypto theory to practice
 
Classic Information encryption techniques
Classic Information encryption techniquesClassic Information encryption techniques
Classic Information encryption techniques
 
Substitution techniques
Substitution techniquesSubstitution techniques
Substitution techniques
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
 
Encryption Boot Camp on the JVM
Encryption Boot Camp on the JVMEncryption Boot Camp on the JVM
Encryption Boot Camp on the JVM
 
Cryptography For The Average Developer
Cryptography For The Average DeveloperCryptography For The Average Developer
Cryptography For The Average Developer
 
Embark 2 Upcoming Features and Goals
Embark 2 Upcoming Features and GoalsEmbark 2 Upcoming Features and Goals
Embark 2 Upcoming Features and Goals
 
Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)Cryptography for Absolute Beginners (May 2019)
Cryptography for Absolute Beginners (May 2019)
 
IS Unit 1_Conventional Encryption_Classical Encryption Techniques
IS Unit 1_Conventional Encryption_Classical Encryption TechniquesIS Unit 1_Conventional Encryption_Classical Encryption Techniques
IS Unit 1_Conventional Encryption_Classical Encryption Techniques
 
Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2
 
Defeating the entropy downgrade attack
Defeating the entropy downgrade attackDefeating the entropy downgrade attack
Defeating the entropy downgrade attack
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Similar to Cool Crypto Concepts CodeOne SFO

Cryptography - Overview
Cryptography - OverviewCryptography - Overview
Cryptography - OverviewMohammed Adam
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers Sam Bowne
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
3. Cryptographic Security
3. Cryptographic Security3. Cryptographic Security
3. Cryptographic SecuritySam Bowne
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Cloudflare
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersSam Bowne
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptographydrewz lin
 
HifnCrypto101
HifnCrypto101HifnCrypto101
HifnCrypto101Jim Faith
 
Encryption Deep Dive
Encryption Deep DiveEncryption Deep Dive
Encryption Deep DiveDiego Pacheco
 
Challenges Building Secure Mobile Applications
Challenges Building Secure Mobile ApplicationsChallenges Building Secure Mobile Applications
Challenges Building Secure Mobile ApplicationsMasabi
 
Introduction to cryptography part2-final
Introduction to cryptography  part2-finalIntroduction to cryptography  part2-final
Introduction to cryptography part2-finalTaymoor Nazmy
 
Securing your Bitcoin wallet
Securing your Bitcoin walletSecuring your Bitcoin wallet
Securing your Bitcoin walletRon Reiter
 

Similar to Cool Crypto Concepts CodeOne SFO (20)

Cryptography - Overview
Cryptography - OverviewCryptography - Overview
Cryptography - Overview
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers
 
Go paranoid
Go paranoidGo paranoid
Go paranoid
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
3. Cryptographic Security
3. Cryptographic Security3. Cryptographic Security
3. Cryptographic Security
 
Cryptography-101
Cryptography-101Cryptography-101
Cryptography-101
 
Cryptography - 101
Cryptography - 101Cryptography - 101
Cryptography - 101
 
Intro to blockchain
Intro to blockchainIntro to blockchain
Intro to blockchain
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptography
 
AllBits presentation - Security in Theory
AllBits presentation - Security in TheoryAllBits presentation - Security in Theory
AllBits presentation - Security in Theory
 
HifnCrypto101
HifnCrypto101HifnCrypto101
HifnCrypto101
 
Cryptography 202
Cryptography 202Cryptography 202
Cryptography 202
 
Encryption Deep Dive
Encryption Deep DiveEncryption Deep Dive
Encryption Deep Dive
 
Challenges Building Secure Mobile Applications
Challenges Building Secure Mobile ApplicationsChallenges Building Secure Mobile Applications
Challenges Building Secure Mobile Applications
 
Introduction to cryptography part2-final
Introduction to cryptography  part2-finalIntroduction to cryptography  part2-final
Introduction to cryptography part2-final
 
Securing your Bitcoin wallet
Securing your Bitcoin walletSecuring your Bitcoin wallet
Securing your Bitcoin wallet
 

Recently uploaded

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

Cool Crypto Concepts CodeOne SFO

  • 1.
  • 2. Intro ◦ Roy Wasse ◦ Co Founder OpenValue ◦ Dutch JUG leader ◦ Love technochange ◦ Disclaimer: no heavy math 2
  • 5.
  • 6.
  • 7. ◦ Invented by Leon Battista in 1467 ◦ Uses multiple alphabets (polyalphabetic) ◦ Circumvents frequency analysis A T T A C K A T D A W N L E M O N L E M O N L E L X F O P V E F R N H R Vigenère cipher
  • 9.
  • 10. Playfair ◦ Key PLAYFAIR EXAMPLE ◦ Plaintext HI DE TH EG OL DI NT HE TR EX ES TU MP ◦ Ciphertext BM OD ZB XD NA BE KU DM UI XM MO UV IF
  • 11.
  • 14. One time pad ◦ If and only if: ◦ Key length >= Source text ◦ Key is generated randomly ◦ Any key is used only once ◦ Only sender and receiver have key
  • 15. One time function Source T H I S I S S E C R E T Position 20 8 9 19 9 19 19 5 3 18 5 20 KEY X V H E U W N O P G D L + 23 21 7 4 20 22 13 14 15 6 3 12 Result 43 29 16 23 29 41 32 19 18 24 8 32 Mod 26 17 3 16 23 3 15 6 19 18 24 8 6 Ciphertext R D Q X D P G T S Y 9 G
  • 16.
  • 17. Disadvantages One time pad Works fine in some use cases (pen & paper) 1 GB file requires 1 GB random key No access to true random input Key can only be used once, how to guarantee
  • 18. Semantic security Shorter key Pseudo random generator Ciphers for varying message length Safe enough for vast amount of computing power Practical encryption != Mathematical safe
  • 20. Middle Squares method ◦ Take random input number (11) ◦ Square number (11 * 11 = 121) ◦ Select # middle chars (0121) ◦ add trailing zero if needed ◦ Square those (12 * 12 = 144) ◦ Repeat until key is long enough
  • 21. ATTACK AT NOON ◦ Key needed consisting of 12 chars (spaces removed) Sum Outcome Key Length PRG key 11 * 11 0121 12 2 12 * 12 0144 1214 4 14 * 14 0196 121419 6 19 * 19 0361 12141936 8 36 * 36 1296 1214193629 10 84 * 84 7056 121419362905 12 Position 1 2 3 4 5 6 7 8 9 10 11 12 Input A T T A C K A T N O O N Key 1 2 1 4 1 9 3 6 2 9 0 5
  • 23. Nonce ◦ Cipher algorithm that uses a Nonce next to a Seed ◦ Seed * Nonce => ~Cipher text ◦ Reuse key because s1*n0 != s1*n1 ◦ IV = Initialization Vector, example of Nonce ◦ In WPA Nonce reuse was predictable
  • 24. C M V H F R O M M O L L Y Position 6 18 15 13 13 15 12 12 25 KEY X V H U W N O P G + 23 21 7 20 22 13 14 15 6 Result 29 39 22 33 35 28 26 27 31 Mod 26 3 13 22 7 9 2 0 1 5 Ciphertext C M V H J C A B X F R O M A L I C E Position 6 18 15 13 1 12 9 3 5 KEY D B J E L L M W A + 4 2 10 13 1 12 9 3 5 Result 10 20 25 26 2 24 18 6 10 Mod 26 10 20 25 0 2 24 18 6 10 Ciphertext K U Z A C Y S G K C Y S G KK U Z A J C A B X
  • 26. Checksum ◦ Based on hash function ◦ Small change in input, totally different output ◦ Sender embeds a checksum in encrypted message ◦ Receiver checks if he can reproduce the checksum
  • 27. Block ciphers Plaintext A B C D E F Ciphertext F A B C D E Ciphertext E F A C Source F A C E
  • 28.
  • 30. Elliptic Curve ◦ Safer then RSA ◦ y2 = x3 + ax + b ◦ Bitcoin uses it ◦ SSL can use it 30
  • 31.
  • 32. Quantum computing ◦ Sohr‘s algorithm mid 90’s showed RSA is vulnerable ◦ ECC even more vulnerable ◦ To guess Private key in reasonable amount of time few thousand qubits needed ◦ Currently best Quantum computer has 20-50 qubits ◦ Supersingular Isogeny Diffie-Hellman is post-quantum secure
  • 33. Superencryption ◦ AKA Multi encryption ◦ Combine multiple encryption approaches
  • 34.
  • 35. Mixing service & Onion Routing ◦ Implemented in TOR (The Onion Router) ◦ Alice want to send message to Bob’s forum anonymously ◦ Use proxy Carol ( A -> C -> B ) ◦ Share a key with Carol and send cyphertext ◦ Use mixing service
  • 36. Peeling the onion ◦ Use Multiple mixing services ◦ c1 := E(kd,m)) ◦ c2 := E(kc, E(kd,m)) ◦ Adding routing info: c2 := E(kc, <David, c1>) where c1 := E(kd, <Bob,m>) ◦ Carol doesn’t know she’s the entry point / Alice is a sender
  • 37. Zero knowledge proof CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=313648
  • 38. ◦Sender’s address ◦Amount of coins sent ◦Receiver’s address
  • 39. Exploiting multiplication to hide information and verify ownership Credit: https://medium.com/beam-mw/mimblewimble-explained-like-youre-12-d779a5bb483d
  • 41. Proving that money in = out
  • 42. Schnorr Signatures ◦ Bitcoin uses script which signs several tx inputs for a single tx ◦ Signatures take up a lot of space. ◦ Schnorr allows aggregating signatures like: ◦ Output 1 -> ~Input A = Sig 1000 ◦ Output 2 -> Input A= Sig 5000 ◦ Just store 15000 (10000+15000) ◦ This enables scriptless transactions! Image: https://bitcoinmagazine.com/articles/scriptless-scripts-how-bitcoin-can-support-smart-contracts-without-smart-contracts/
  • 43. Scriptless scripts ◦ Smart contracts without use of a script ◦ No one can see the smart contract ◦ In this year maybe implemented in bitcoin
  • 44. Unlock song with signature Schnorr 8000 Schnorr 7000 Initiate transaction Schnorr 1000 Zero knowledge proof Calculate Song Schnorr 7000 Schnorr 8000 Finish transaction (streamer Schnorr)
  • 45. Recommended Reading Dan Boney & Victor Shoup, A Graduate Course in Applied Cryptography (September 2017, v0.4). https://crypto.stanford.edu/~dabo/cryptobook/ Applications of Modern Cryptography Technologies, applications and choices (SURFNet, 2010) https://www.surf.nl/binaries/content/assets/surf/en/knowledgebase/2010/rapport_20 1009_SNcryptoWEB.pdf Decrypted secrets. Methods & Maixms of Cryptology byF.L Bauer. (2007). Bitcoin magazine (November 2017) https://bitcoinmagazine.com/articles/scriptless-scripts-how-bitcoin-can-support- smart-contracts-without-smart-contracts/ https://medium.com/beam-mw/mimblewimble-explained-like-youre-12- d779a5bb483d
  • 46. Crypto erasure ◦ GDPR (AVG) requires option to erase all data (right to be forgotten) ◦ But how to keep track? ◦ And what if system crashes because record is deleted (in event sourcing for instance) ◦ Crypto erasure, safe all sensitive records encrypted in data store. ◦ Just throw away key if you want to erase all data related to person x
  • 47. Commitment Scheme ◦ Alice & Bob going on a date, but which movie to pick? ◦ Coin flip ◦ Bob make a choice (bit commitment), send to Alice ◦ Coin is flipped, outcome is known to Alice & Bob ◦ Alice can now open envelope