SlideShare a Scribd company logo
1 of 77
Secure Function
Evaluation In Practice
Fairplay – A Two-Party Computation System
Malkhi - Nisan – Pinkas - Sella
Giuliana Carullo
Crypographic Protocol Course
Universityof Salerno
2012/2013
The Love Game
The Love Game
…
…
Want to know if
both parties are
interested in each
other.
The Love Game
…
…
But…
The Love Game
…
…
Do not want to
reveal unrequited
love.
But can we do it?
Yes!
Yes!
Theory Practice
Fairplay
2004
SCET
2004
SEPIA
2008
VMCrypt
2010
Some implementations
Back to 1980s construct the
garbled circuit
encode own
input in the
circuit
send circuit to
P2
participatein
the OT
receive results
receive circuit
learn input keys
from P1 via OT
evaluate circuit
send results to
P1
Back to 2004
A full-fledged
system that
implements
generic secure
function
evaluation (SFE)
Fairplay
Yao Fairplay
security level
semi-honest malicious
Yao and Malicious
WHAT CAN GO WRONG?
Yao and Malicious Malicious
Parties refusing to participate
Parties substituting their local inputs
Parties aborting the protocol
prematurely
WHAT CAN GO WRONG?
Yao and Malicious Malicious
incorrect circuit
Misbehaving Bob may construct an incorrect circuit,
thus harming correctness, privacy and
independence ofinputs.
WHAT CAN GO WRONG?
Yao and Malicious Malicious
incorrect circuit
Misbehaving Bob may construct an incorrect circuit,
thus harming correctness, privacy and
independence ofinputs.
Bob may present a correct key for 1 and incorrect key
for 0.
WHAT CAN GO WRONG?
selective input
attack
Yao and Malicious Malicious
incorrect circuit
Misbehaving Bob may construct an incorrect circuit,
thus harming correctness, privacy and
independence ofinputs.
Bob may present a correct key for 1 and incorrect key
for 0.
If Alice obtains a valid output then, Bob knows that
she has 1 as input.
WHAT CAN GO WRONG?
selective input
attack
Yao and Malicious Malicious
incorrect circuit
Misbehaving Bob may construct an incorrect circuit,
thus harming correctness, privacy and
independence ofinputs.
Bob may present a correct key for 1 and incorrect key
for 0.
If Alice obtains a valid output then, Bob knows that
she has 1 as input.
Bob is also able to let Alice‟s computation aborts
(with a certain probabilityp) also in the ideal model
(sending garbage). However in this case, the abort
depends on Alice’s inputs.
WHAT CAN GO WRONG?
selective input
attack
Yao Fairplay
performances
symmetric
encryption
cryptographic
hash function
Fairplay Computation
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The computable function is represented via SFDL
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The computable function is represented via SFDL
ad hoc compiler
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The computable function is represented via SFDL
ad hoc compiler
SHDL
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The circuit is optimized before it is parsed.
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The circuit is optimized before it is parsed.
peekhole optimization
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The circuit is optimized before it is parsed.
peekhole optimization
duplicate code removal
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The circuit is optimized before it is parsed.
peekhole optimization
duplicate code removal
dead code elimination
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
The resulting circuit is a Java object.
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
Circuit exchange via
Cut and Choose
technique
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
Circuit exchange via
Cut and Choose
technique
…
Avoid a cheating Bob!
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
Circuit exchange via
Cut and Choose
technique
…
Avoid a cheating Bob!
(partially)
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
Bob constructs m garbled circuits
and sends the to Alice…
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
…which chooses a single circuit
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
Bob exposes m-1 circuits
…
Circuit
Generation
m Garbled
Circuits
Choose
Circuit
Reveal m-1
Secrets
Circuits
Verify
Alice verifies them against
her reference circuit
…
… Garbled
Input
Input
Insert
OT
Sender
OT
Chooser
Bob sends garbled input
Circuit
Evaluation
… Garbled
Input
Input
Insert
OT
Sender
OT
Chooser
Alice inserts Bob’s
input in the circuit
Circuit
Evaluation
… Garbled
Input
Input
Insert
OT
Sender
OT
Chooser
Alice specifies her inputs
Bob and Alice engage in OT
Circuit
Evaluation
… Garbled
Input
Input
Insert
OT
Sender
OT
Chooser
Alice evaluates the circuit
and sends outputs to Bob
Circuit
Evaluation
A finger in the pie
program And {
const N=8;
type Byte = Int<N>;
type AliceInput = Byte;
type BobInput = Byte;
type AliceOutput = Byte;
type BobOutput = Byte;
type Input = struct {AliceInput alice, BobInput bob};
type Output = struct {AliceOutput alice, BobOutput bob};
function Output output(Input input) {
output.alice = (input.bob & input.alice);
output.bob = (input.bob & input.alice);
}
}
SFDL’s syntax borrows
heavily from C and Pascal.
program And {
const N=8;
type Byte = Int<N>;
type AliceInput = Byte;
type BobInput = Byte;
type AliceOutput = Byte;
type BobOutput = Byte;
type Input = struct {AliceInput alice, BobInput bob};
type Output = struct {AliceOutput alice, BobOutput bob};
function Output output(Input input) {
output.alice = (input.bob & input.alice);
output.bob = (input.bob & input.alice);
}
}
program And {
const N=8;
type Byte = Int<N>;
type AliceInput = Byte;
type BobInput = Byte;
type AliceOutput = Byte;
type BobOutput = Byte;
type Input = struct {AliceInput alice, BobInput bob};
type Output = struct {AliceOutput alice, BobOutput bob};
function Output output(Input input) {
output.alice = (input.bob & input.alice);
output.bob = (input.bob & input.alice);
}
}
program And {
const N=8;
type Byte = Int<N>;
type AliceInput = Byte;
type BobInput = Byte;
type AliceOutput = Byte;
type BobOutput = Byte;
type Input = struct {AliceInput alice, BobInput bob};
type Output = struct {AliceOutput alice, BobOutput bob};
function Output output(Input input) {
output.alice = (input.bob & input.alice);
output.bob = (input.bob & input.alice);
}
}
Special types, that
must be defined in
every program
Obliviousness
Obliviousness
No
pointers and
general loops
(unfolding)
Obliviousness
No “forward”
and recursion
Obliviousness
array‟s index must
be a constant
(O(n) gates)
Obliviousness
if-then
treated as
if-then-else
1: program And {
2: const N=8;
3: type Byte = Int<N>;
4: type AliceInput = Byte;
5: type BobInput = Byte;
6: type AliceOutput = Byte;
7: type BobOutput = Byte;
8: type Input = struct {AliceInput alice, BobInput bob};
9: type Output = struct {AliceOutput alice, BobOutput bob};
10: function Output output(Input input) {
11: output.alice = (input.bob & input.alice);
12: output.bob = (input.bob & input.alice); }
}
Security Guarantees Malicious
misbehaving
Alice
Guaranteed by Yao‟s protocol and by
the usage of both OT and SHA-1.
misbehaving
Bob
Guaranteed by Cut and Choose, with
a probabilityp = 1 – 1/m
Security Guarantees Malicious
misbehaving
Alice
Guaranteed by Yao‟s protocol and by
the usage of both OT and SHA-1
Semi
Honest
OT
misbehaving
Bob
Guaranteed by Cut and Choose, with
a probabilityp = 1 – 1/m
Simplified OT.
Cut and
Choose
Avoid to use it.
Performance analysis (AND) number of
gates
Total
32 16 8
Input Alice Input
Performance analysis (AND) number of
gates
Total
LAN
of the total delay is given by
public key operations
32 16 8
Input Alice Input
27%-77%
Performance analysis (AND) number of
gates
Total
LAN
of the total delay is given by
public key operations
32 16 8
Input Alice Input
27%-77%
WAN
9%-42%
of the total delay is given by
public key operations
What about secure computation
today?
LAST
5 YEARS
INCREDIBLE
PROGRESS
ON MAKING
SECURE
COMPUTATION
PRACTICAL
Today
LAST
5 YEARS
INCREDIBLE
PROGRESS
ON MAKING
SECURE
COMPUTATION
PRACTICAL
semi–honest AES in tens of
milliseconds
Today
LAST
5 YEARS
INCREDIBLE
PROGRESS
ON MAKING
SECURE
COMPUTATION
PRACTICAL
semi–honest AES in tens of
milliseconds
huge computations on
circuits of over a billion
gates in minutes
Today
LAST
5 YEARS
INCREDIBLE
PROGRESS
ON MAKING
SECURE
COMPUTATION
PRACTICAL
semi–honest AES in tens of
milliseconds
huge computations on
circuits of over a billion
gates in minutes
protocols for malicious
adversaries with amazing
amortized complexity
Today
Summary
Efficient secure computation is a reality:
there is interest and we have fast protocols.
Even if Yao‟s garbled circuits can yield very
fast protocols, there is still more effort to
put in this field
Many other approaches are available in the
literature
References
1) Malkhi D., Nisan N.; Pinkas B. ; Sella Y., Fairplay – A Two-Party
Computation System, USENIX Security 2004
2) Orlandi C., Is multiparty computation any good in practice?,
Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE
International Conference on , vol., no., pp.5848,5851, 22-27
May 2011
3) Bogdanov D., Sharemind: programmable secure
computations with practical applications, PhD thesis,
University of Tartu, 2013.
4) Lindell Y., Techniques for Efficient Secure Computation Based
on Yao's Protocol. in Proc. Public Key Cryptography, 2013,
pp.253-253.
5) Kilian J., Secure Computation
Credits
Pictures
1) Bob And Alice (personally modified)
http://www.hep.yorku.ca/menary/courses/phys2040/images/alice_b
ob_quantum_joke.gif
2) Old vs Young
http://www.kellyrennie.com/lifes-journey/the-secrets-on-how-to-
grow-young/
3) World
http://blaberize.com/2009/10/15-really-cool-world-map-
wallpapers/
4) Baby chef
http://www.wallpaperhi.com/Technology/Apple/baby_milk_food_br
ead_cooking_chief_apples_cooks_children_2560x1600_wallpaper_10
0797
Others
Thanks to Jon Froehlich for getting inspired by his presentations
Thank you
g.carullo3@studenti.unisa.it
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
assumptions
focus
gates
input
All gates in SHDL have a single Boolean output.
The number of inputs into a gate can be 1, 2 and 3.
gates
output
Only binary gates.
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
STEP 1: Parameter generation
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
For each wire wi ∈ Wk Bob assigns vi
0 vi
1 and the
permutation pi .
He computes wi
0 wi
1 such that:
STEP 1: Parameter generation
wi
0 = vi
0 || (0 ⊕ pi) wi
1 = vi
1 || (1 ⊕ pi)
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
STEP 2 : Garbled-Truth-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
For each gate g ∈ C Bob constructs the Garbled-
Truth-Table (GTT) by replacing every 0 and 1 with wi
0
and wi
1 respectively.
STEP 2 : Garbled-Truth-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
STEP 3: Encrypted-Garbled-Truth-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
For each gate g ∈ C Bob constructs the Encrypted-
Garbled-Truth-Table (EGTT).
For entry (x, y) computes x„= x ⊕ pi and y„= y ⊕ pi.
Performs Encrypt vi
0 vi
1k, x„, y„ (GTT(x, y))
STEP 3: Encrypted-Garbled-Truth-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
STEP 4 : Permuted-Encrypted-Garbled-Truth-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
For each gate g ∈ C Bob constructs the Permuted-
Encrypted-Garbled-Truth-Table (PEGTT) by simply
swapping entries in EGTT.
STEP 4 : Permuted-Encrypted-Garbled-Truth-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
STEP 5 : Translation-Table
Circuit Generation notation
pi
circuit
definition
vi
0 vi
1
Let C be a circuit. Wk denotes the set of all wires in C
s. t. k ∈ {0, … , l-1}. g ∈ C denotes a gate.
Random t-bits strings which represents bit 0 and 1
respectively. (t is a security parameter).
Random binary permutation (i.e. a bit).
For each wire which carries a bit of Alice„s output,
Bob send a translation table that allows Alice to
interpret the outputs. This is performed sending the
hash value of wi
0 wi
1 .
STEP 5 : Translation-Table

More Related Content

What's hot (11)

Experiment write-vhdl-code-for-realize-all-logic-gates
Experiment write-vhdl-code-for-realize-all-logic-gatesExperiment write-vhdl-code-for-realize-all-logic-gates
Experiment write-vhdl-code-for-realize-all-logic-gates
 
VHDL CODE
VHDL CODE VHDL CODE
VHDL CODE
 
e CAD lab manual
e CAD lab manuale CAD lab manual
e CAD lab manual
 
implementation of NAND gate
implementation of NAND gateimplementation of NAND gate
implementation of NAND gate
 
ECAD lab manual
ECAD lab manualECAD lab manual
ECAD lab manual
 
VLSI & E-CAD Lab Manual
VLSI & E-CAD Lab ManualVLSI & E-CAD Lab Manual
VLSI & E-CAD Lab Manual
 
Programming arduino makeymakey
Programming arduino makeymakeyProgramming arduino makeymakey
Programming arduino makeymakey
 
Programs of VHDL
Programs of VHDLPrograms of VHDL
Programs of VHDL
 
Cse
CseCse
Cse
 
24.logic gates
24.logic gates 24.logic gates
24.logic gates
 
Session1
Session1Session1
Session1
 

Similar to Fairplay Talk

Syed IoT - module 5
Syed  IoT - module 5Syed  IoT - module 5
Syed IoT - module 5Syed Mustafa
 
Tears for quantum fears
Tears for quantum fearsTears for quantum fears
Tears for quantum fearsMark Carney
 
Introduction to Arduino and Circuits
Introduction to Arduino and CircuitsIntroduction to Arduino and Circuits
Introduction to Arduino and CircuitsJason Griffey
 
IRJET - Multi-Key Privacy in Cloud Computing
IRJET -  	  Multi-Key Privacy in Cloud ComputingIRJET -  	  Multi-Key Privacy in Cloud Computing
IRJET - Multi-Key Privacy in Cloud ComputingIRJET Journal
 
Programmable Logic Array
Programmable Logic Array Programmable Logic Array
Programmable Logic Array Sharun Rajeev
 
Introduction to Arduino Programming
Introduction to Arduino ProgrammingIntroduction to Arduino Programming
Introduction to Arduino ProgrammingJames Lewis
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical fileArchita Misra
 
Token Ring Basic Concepts
Token Ring Basic ConceptsToken Ring Basic Concepts
Token Ring Basic ConceptsRonald Bartels
 
Linking E-Mails and Source Code Artifacts
Linking E-Mails and Source Code ArtifactsLinking E-Mails and Source Code Artifacts
Linking E-Mails and Source Code ArtifactsAlberto Bacchelli
 
ENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITS
ENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITSENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITS
ENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITSIRJET Journal
 
Scottish Ruby Conference 2010 Arduino, Ruby RAD
Scottish Ruby Conference 2010 Arduino, Ruby RADScottish Ruby Conference 2010 Arduino, Ruby RAD
Scottish Ruby Conference 2010 Arduino, Ruby RADlostcaggy
 
Tools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionTools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionAlexander Bolshev
 
Deep learning: what? how? why? How to win a Kaggle competition
Deep learning: what? how? why? How to win a Kaggle competitionDeep learning: what? how? why? How to win a Kaggle competition
Deep learning: what? how? why? How to win a Kaggle competition317070
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote controlVilayatAli5
 
ARUDINO UNO and RasberryPi with Python
 ARUDINO UNO and RasberryPi with Python ARUDINO UNO and RasberryPi with Python
ARUDINO UNO and RasberryPi with PythonJayanthi Kannan MK
 
One library for all Java encryption
One library for all Java encryptionOne library for all Java encryption
One library for all Java encryptionDan Cvrcek
 
Cisco systems hacking layer 2 ethernet switches
Cisco systems   hacking layer 2 ethernet switchesCisco systems   hacking layer 2 ethernet switches
Cisco systems hacking layer 2 ethernet switchesKJ Savaliya
 

Similar to Fairplay Talk (20)

amrapali builders@@sub way hacking.pdf
amrapali builders@@sub way hacking.pdfamrapali builders@@sub way hacking.pdf
amrapali builders@@sub way hacking.pdf
 
Syed IoT - module 5
Syed  IoT - module 5Syed  IoT - module 5
Syed IoT - module 5
 
Tears for quantum fears
Tears for quantum fearsTears for quantum fears
Tears for quantum fears
 
Introduction to Arduino and Circuits
Introduction to Arduino and CircuitsIntroduction to Arduino and Circuits
Introduction to Arduino and Circuits
 
IRJET - Multi-Key Privacy in Cloud Computing
IRJET -  	  Multi-Key Privacy in Cloud ComputingIRJET -  	  Multi-Key Privacy in Cloud Computing
IRJET - Multi-Key Privacy in Cloud Computing
 
Programmable Logic Array
Programmable Logic Array Programmable Logic Array
Programmable Logic Array
 
Samplab19
Samplab19Samplab19
Samplab19
 
Introduction to Arduino Programming
Introduction to Arduino ProgrammingIntroduction to Arduino Programming
Introduction to Arduino Programming
 
Digital system design practical file
Digital system design practical fileDigital system design practical file
Digital system design practical file
 
Intro to IO-Link
Intro to IO-LinkIntro to IO-Link
Intro to IO-Link
 
Token Ring Basic Concepts
Token Ring Basic ConceptsToken Ring Basic Concepts
Token Ring Basic Concepts
 
Linking E-Mails and Source Code Artifacts
Linking E-Mails and Source Code ArtifactsLinking E-Mails and Source Code Artifacts
Linking E-Mails and Source Code Artifacts
 
ENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITS
ENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITSENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITS
ENCRYPTION KEY GENERATION FOR DIGITAL CIRCUITS USING ANALOG CIRCUITS
 
Scottish Ruby Conference 2010 Arduino, Ruby RAD
Scottish Ruby Conference 2010 Arduino, Ruby RADScottish Ruby Conference 2010 Arduino, Ruby RAD
Scottish Ruby Conference 2010 Arduino, Ruby RAD
 
Tools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital ConversionTools for Practical Attacks on Analog-to-Digital Conversion
Tools for Practical Attacks on Analog-to-Digital Conversion
 
Deep learning: what? how? why? How to win a Kaggle competition
Deep learning: what? how? why? How to win a Kaggle competitionDeep learning: what? how? why? How to win a Kaggle competition
Deep learning: what? how? why? How to win a Kaggle competition
 
Arduino windows remote control
Arduino windows remote controlArduino windows remote control
Arduino windows remote control
 
ARUDINO UNO and RasberryPi with Python
 ARUDINO UNO and RasberryPi with Python ARUDINO UNO and RasberryPi with Python
ARUDINO UNO and RasberryPi with Python
 
One library for all Java encryption
One library for all Java encryptionOne library for all Java encryption
One library for all Java encryption
 
Cisco systems hacking layer 2 ethernet switches
Cisco systems   hacking layer 2 ethernet switchesCisco systems   hacking layer 2 ethernet switches
Cisco systems hacking layer 2 ethernet switches
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Fairplay Talk