SlideShare a Scribd company logo
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 2006
Martin Kobetic
 
Strong cryptography in PHP
Strong cryptography in PHPStrong cryptography in PHP
Strong cryptography in PHP
Enrico Zimuel
 
Secret key cryptography
Secret key cryptographySecret key cryptography
Secret key cryptography
Prabhat 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 PHP
Anthony Ferrara
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
Dr.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 Ooms
Ajay Ohri
 
Cryptography in PHP: use cases
Cryptography in PHP: use casesCryptography in PHP: use cases
Cryptography in PHP: use cases
Enrico Zimuel
 
Crypto theory to practice
Crypto theory to practiceCrypto theory to practice
Crypto theory to practice
Harry Potter
 
Classic Information encryption techniques
Classic Information encryption techniquesClassic Information encryption techniques
Classic Information encryption techniques
Jay Nagar
 
Substitution techniques
Substitution techniquesSubstitution techniques
Substitution techniques
vinitha96
 
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 JVM
Matthew McCullough
 
Cryptography For The Average Developer
Cryptography For The Average DeveloperCryptography For The Average Developer
Cryptography For The Average Developer
Anthony Ferrara
 
Embark 2 Upcoming Features and Goals
Embark 2 Upcoming Features and GoalsEmbark 2 Upcoming Features and Goals
Embark 2 Upcoming Features and Goals
Iuri 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 2
Mohamed Loey
 
Defeating the entropy downgrade attack
Defeating the entropy downgrade attackDefeating the entropy downgrade attack
Defeating the entropy downgrade attack
Seth Wahle
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
babak 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 - Overview
Mohammed Adam
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers
Sam Bowne
 
Go paranoid
Go paranoidGo paranoid
Go paranoid
Nisheed KM
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
Sam Bowne
 
3. Cryptographic Security
3. Cryptographic Security3. Cryptographic Security
3. Cryptographic Security
Sam Bowne
 
Cryptography - 101
Cryptography - 101Cryptography - 101
Intro to blockchain
Intro to blockchainIntro to blockchain
Intro to blockchain
Đoàn Thái Thiên Lộc
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
Sam Bowne
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
Sam Bowne
 
Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014
Cloudflare
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
Sam Bowne
 
12 symmetric key cryptography
12   symmetric key cryptography12   symmetric key cryptography
12 symmetric key cryptographydrewz lin
 
AllBits presentation - Security in Theory
AllBits presentation - Security in TheoryAllBits presentation - Security in Theory
AllBits presentation - Security in Theory
AllBits BVBA (freelancer)
 
HifnCrypto101
HifnCrypto101HifnCrypto101
HifnCrypto101Jim Faith
 
Cryptography 202
Cryptography 202Cryptography 202
Cryptography 202
UTD Computer Security Group
 
Encryption Deep Dive
Encryption Deep DiveEncryption Deep Dive
Encryption Deep Dive
Diego Pacheco
 
Challenges Building Secure Mobile Applications
Challenges Building Secure Mobile ApplicationsChallenges Building Secure Mobile Applications
Challenges Building Secure Mobile Applications
Masabi
 
Introduction to cryptography part2-final
Introduction to cryptography  part2-finalIntroduction to cryptography  part2-final
Introduction to cryptography part2-final
Taymoor Nazmy
 
Securing your Bitcoin wallet
Securing your Bitcoin walletSecuring your Bitcoin wallet
Securing your Bitcoin wallet
Ron 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
 

More from Roy Wasse

Definitive answer to developer productivity v1 .2 Devworld.pptx
Definitive answer to developer productivity v1 .2 Devworld.pptxDefinitive answer to developer productivity v1 .2 Devworld.pptx
Definitive answer to developer productivity v1 .2 Devworld.pptx
Roy Wasse
 
How good of developer are you v1 .1 ASML.pptx
How good of developer are you v1 .1 ASML.pptxHow good of developer are you v1 .1 ASML.pptx
How good of developer are you v1 .1 ASML.pptx
Roy Wasse
 
How good of developer are you v1.1 DevWorld.pdf
How good of developer are you v1.1 DevWorld.pdfHow good of developer are you v1.1 DevWorld.pdf
How good of developer are you v1.1 DevWorld.pdf
Roy Wasse
 
How good of developer are you?
How good of developer are you?How good of developer are you?
How good of developer are you?
Roy Wasse
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
Roy Wasse
 
Blockchain talk isense 30-5-2018
Blockchain talk isense 30-5-2018 Blockchain talk isense 30-5-2018
Blockchain talk isense 30-5-2018
Roy Wasse
 
Blockchain talk open value meetup 31-8-17
Blockchain talk open value meetup 31-8-17Blockchain talk open value meetup 31-8-17
Blockchain talk open value meetup 31-8-17
Roy Wasse
 

More from Roy Wasse (7)

Definitive answer to developer productivity v1 .2 Devworld.pptx
Definitive answer to developer productivity v1 .2 Devworld.pptxDefinitive answer to developer productivity v1 .2 Devworld.pptx
Definitive answer to developer productivity v1 .2 Devworld.pptx
 
How good of developer are you v1 .1 ASML.pptx
How good of developer are you v1 .1 ASML.pptxHow good of developer are you v1 .1 ASML.pptx
How good of developer are you v1 .1 ASML.pptx
 
How good of developer are you v1.1 DevWorld.pdf
How good of developer are you v1.1 DevWorld.pdfHow good of developer are you v1.1 DevWorld.pdf
How good of developer are you v1.1 DevWorld.pdf
 
How good of developer are you?
How good of developer are you?How good of developer are you?
How good of developer are you?
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
 
Blockchain talk isense 30-5-2018
Blockchain talk isense 30-5-2018 Blockchain talk isense 30-5-2018
Blockchain talk isense 30-5-2018
 
Blockchain talk open value meetup 31-8-17
Blockchain talk open value meetup 31-8-17Blockchain talk open value meetup 31-8-17
Blockchain talk open value meetup 31-8-17
 

Recently uploaded

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 

Recently uploaded (20)

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 

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