SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Correctness of a Secret Computer
Peter T. Breuer
University of Birmingham, UK
This talk is available at
http://birmingham.academia.edu/PeterBreuer/Talks/
A 'fully homomorpic crypto-
processor' design
● Paper is about a general purpose crypto-processor
● Computer that works on encrypted data
● The design in the paper is called a KPU
● Never encrypts or decrypts anything at all
Observer sees ... Garbage inGarbage out
How does it work?
● KPU has one changed component wrt CPU:
– `arithmetic/logic unit' (ALU)
⇒ Arithmetic and logic is encrypted
●
4587898 '+' 4587898  97999
(2) (2) (4)
● Implementation? For this paper, we don't care!
● Paper shows it does work, whatever the technology
 Control flow is still observable
Why should this trick not work?
● You can imagine inserting codecs
● in internal CPU data paths
● That works as an encrypted CPU design procedure
● But just changing the arithmetic works instead!
● That's unexpected - a KPU contains no codecs
Unit 1 Unit 2
Encrypted
data
Modified unit 1 Modified unit 2
In fact it does not work universally
● Only certain programs work in KPU
– Those maintain separation between
● Program addresses (not encrypted)
● Data and data addesses (encrypted)
● This property is called crypto-safe for a KPU
– Example of not crypto-safe:
● Jump to suboutine whose address is Elvis's
birthdate written backwards
– If think `obvious it will work,' need to reconsider!
http://birmingham.academia.edu/PeterBreuer/Talks/
What the paper says
1.Defines the model-theoretic notion: crypto-safety
2.Proves crypto-safe programs run correctly in KPU
where correct means 'gets the same states as in a
normal CPU, but encrypted'
You don't need to read the paper now!
http://birmingham.academia.edu/PeterBreuer/Talks/
Erratum
● Mea culpa
– A program is crypto-safe if at runtime every
instruction that expects encrypted data gets
encrypted data and every instruction that
expects unencrypted data gets unencrypted data
and every read from an encrypted address is
from the exact same encryption of the
underlying address value that was last written
to.
● I forgot to include the “aliasing-safe” bit in paper
http://birmingham.academia.edu/PeterBreuer/Talks/
What's up with 'aliasing'?
● KPU programs must be address-alias -safe
Subroutine foo:
SP -= 32 # 8 local vars
…code ...
SP += 32 # destroy frame
return
Subroutine foo:
GP = SP
SP -= 32
…code ...
SP = GP
return
● Left program returns different alias of SP to caller
● Many different encrypted values of each plain value!
GoodBad
You can imagine ...
● Values have invisible extra bits
● 42.1101101
● Represent different encryptions of '42'
● Arithmetic ignores but mutates the extra bits
● 42.1101101 + 42.1100001 = 84.0110110
● Memory unit is sensitive to the extra bits
● Can't see just '42'. It's not privvy to own decryption
● KPU needs loving care from programmer
What's with the FHE connection?
● What exactly is fully homomorphic encryption?
●
Encrypt(2) '+' encrypt(2)  encrypt(4)
● Likewise for multiplication, division …
● Good news: bank keeps a/c in your own FHE
● Does addition, interest, etc. as required
● Bank never finds out how much money you have
● Gentry (2009) discovered a feasible FHE
●
IBM has implementation in 106
-bit cipherspace
● Seconds per 1-bit addition; vector acceleration ...
It turns out that ...
● The single design principle of a KPU is that its
altered ALU does arithmetic encrypted:
1. encrypt(2) '+' encrypt(2)  encrypt(4)
2. '-' encrypt(2)  encrypt(-2)
3. encrypt(2) '<' encrypt(4) = (2 < 4)
● “The chosen encryption is a homomorphism be-
tween primitive arithmetic functions & KPU ALU”
● Supplying a KPU is supplying the 'FHE operations'
● Constructing a KPU given the encryption is easy
What is a KPU good for?
● Classic answer .. anything FHE is good for:
● Run private computations in the cloud
● Nobody else can understand your data
● Configure encrypted processor safely in the clear
● DoD ought to like it!
● Different answer for KPU:
● Bank gives away KPU on smartcard
● Customers exchange $$$ offline; doing bank's work
● Don't need full 32-bit arithmetic, 1-bit logic suffices
While a KPU is a FHE ...
● You can give the bank your KPU
● Just copy its configuration to them – we're digital!
● Implements your FHE operations for the bank's use
● A FHE is not a KPU
● FHE: 'f'(encrypt(x))  encrypt(f(x)), any formula f
● KPU: 'f'(encrypt(state))  encrypt(f(state)), any
computation f
=/
How secure is a KPU?
● Big weakness: branch test circuitry leaks info!
● encrypted(x) '<' encrypted(y) = x < y {1,0}
● x<0 reveals top bit of x
● x+x <0 reveals second from top bit ...
● Defense: attacker can't tell + from *,/,>>,...
● And no constants are known
● So attacker doesn't really know how to decrypt!
● Why isn't the code for zero obvious?
● 0=0-0=1-1=2-2=3-3=... can't be recognized
● Always are multiple codes for each plain value!
Security news
● For theoreticians ...
● Believe KPU can run emulation of a CPU in its
encrypted arithmetic subsytem, without branching
● Result is a … KPU again
● This bootstrapped KPU is better
● Does not reveal branch test results in plain sight
● Fully encrypted instructions and data, addresses ...
● Not even its control flow is visible
● Sets theoretical limit on how secure KPU may be
● Major concern is signalling via repeat memory access
Size: Back-of-Envelope Calculation
● 3 ciperspace bits = 1 plain bit
● 1-bit encrypted arithmetic
●
+ = ( 26
 3 = 192 bits of info)
● 8!/4!4! = 70 ciphers with 4 codings each of 0,1
● Use different cipher for each bit
●
7032
different ciphers of 32-bit words
● 32-bit addition needs 325 1-bit modules
● 325192 = 30720 bits FPGA
● 32-bit multiplication needs 322
52
1-bit modules
● 322
52
192 = 4915200 bits FPGA
Summary
● Homomophic and Fully Homomorphic Encryptions
are 'holy grail' of cryptography for their possibilities
● E.g. RSA is homomorphic wrt multiplication
● Enables digital money security features
● KPU represents a new class of FHE technology
● Instead of making an E that is an H wrt the A...
● Implements the A[rithmetic] that makes the E a H
● Many open questions!Need to build one to answer!
http://birmingham.academia.edu/PeterBreuer/Talks/

Más contenido relacionado

Destacado

Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)profesoralorna
 
Dia da alimentação
Dia da alimentaçãoDia da alimentação
Dia da alimentaçãobibliogpais
 
Jorge salinas
Jorge salinasJorge salinas
Jorge salinasjarimar
 
Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4EcoHospedagem
 
Outubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipoOutubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipobibliogpais
 
L’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contateL’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contateKim Diaz
 
Leyenda Mitologica
Leyenda MitologicaLeyenda Mitologica
Leyenda MitologicaLaura-Ortega
 
Oferta hpd ok 72ppp
Oferta hpd ok 72pppOferta hpd ok 72ppp
Oferta hpd ok 72pppliserdesign
 
Resumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoasResumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoasLuciana Piovezan
 
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...Michael Altendorf
 
Reforma laboral 2012
Reforma laboral 2012Reforma laboral 2012
Reforma laboral 2012vgp212
 

Destacado (19)

Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)
 
Pensamiento critico
Pensamiento criticoPensamiento critico
Pensamiento critico
 
FRS Agenda PDF Version
FRS Agenda PDF VersionFRS Agenda PDF Version
FRS Agenda PDF Version
 
Dia da alimentação
Dia da alimentaçãoDia da alimentação
Dia da alimentação
 
Jorge salinas
Jorge salinasJorge salinas
Jorge salinas
 
Tabla
TablaTabla
Tabla
 
Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4
 
Outubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipoOutubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipo
 
Community Manager
Community Manager Community Manager
Community Manager
 
L’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contateL’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contate
 
El observador pdf
El observador pdfEl observador pdf
El observador pdf
 
Leyenda Mitologica
Leyenda MitologicaLeyenda Mitologica
Leyenda Mitologica
 
Oferta hpd ok 72ppp
Oferta hpd ok 72pppOferta hpd ok 72ppp
Oferta hpd ok 72ppp
 
Giineth
GiinethGiineth
Giineth
 
Para el blog
Para el blogPara el blog
Para el blog
 
Resumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoasResumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoas
 
Habito (1)
Habito (1)Habito (1)
Habito (1)
 
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
 
Reforma laboral 2012
Reforma laboral 2012Reforma laboral 2012
Reforma laboral 2012
 

Más de Peter Breuer

Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)Peter Breuer
 
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)Peter Breuer
 
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...Peter Breuer
 
A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)Peter Breuer
 
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)Peter Breuer
 
Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)Peter Breuer
 
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...Peter Breuer
 
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...Peter Breuer
 

Más de Peter Breuer (8)

Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
 
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
 
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
 
A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)
 
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
 
Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)
 
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
 
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
 

Último

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Último (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Correctness of a Secret Computer (ESSoS '13)

  • 1. Correctness of a Secret Computer Peter T. Breuer University of Birmingham, UK This talk is available at http://birmingham.academia.edu/PeterBreuer/Talks/
  • 2. A 'fully homomorpic crypto- processor' design ● Paper is about a general purpose crypto-processor ● Computer that works on encrypted data ● The design in the paper is called a KPU ● Never encrypts or decrypts anything at all Observer sees ... Garbage inGarbage out
  • 3. How does it work? ● KPU has one changed component wrt CPU: – `arithmetic/logic unit' (ALU) ⇒ Arithmetic and logic is encrypted ● 4587898 '+' 4587898  97999 (2) (2) (4) ● Implementation? For this paper, we don't care! ● Paper shows it does work, whatever the technology  Control flow is still observable
  • 4. Why should this trick not work? ● You can imagine inserting codecs ● in internal CPU data paths ● That works as an encrypted CPU design procedure ● But just changing the arithmetic works instead! ● That's unexpected - a KPU contains no codecs Unit 1 Unit 2 Encrypted data Modified unit 1 Modified unit 2
  • 5. In fact it does not work universally ● Only certain programs work in KPU – Those maintain separation between ● Program addresses (not encrypted) ● Data and data addesses (encrypted) ● This property is called crypto-safe for a KPU – Example of not crypto-safe: ● Jump to suboutine whose address is Elvis's birthdate written backwards – If think `obvious it will work,' need to reconsider! http://birmingham.academia.edu/PeterBreuer/Talks/
  • 6. What the paper says 1.Defines the model-theoretic notion: crypto-safety 2.Proves crypto-safe programs run correctly in KPU where correct means 'gets the same states as in a normal CPU, but encrypted' You don't need to read the paper now! http://birmingham.academia.edu/PeterBreuer/Talks/
  • 7. Erratum ● Mea culpa – A program is crypto-safe if at runtime every instruction that expects encrypted data gets encrypted data and every instruction that expects unencrypted data gets unencrypted data and every read from an encrypted address is from the exact same encryption of the underlying address value that was last written to. ● I forgot to include the “aliasing-safe” bit in paper http://birmingham.academia.edu/PeterBreuer/Talks/
  • 8. What's up with 'aliasing'? ● KPU programs must be address-alias -safe Subroutine foo: SP -= 32 # 8 local vars …code ... SP += 32 # destroy frame return Subroutine foo: GP = SP SP -= 32 …code ... SP = GP return ● Left program returns different alias of SP to caller ● Many different encrypted values of each plain value! GoodBad
  • 9. You can imagine ... ● Values have invisible extra bits ● 42.1101101 ● Represent different encryptions of '42' ● Arithmetic ignores but mutates the extra bits ● 42.1101101 + 42.1100001 = 84.0110110 ● Memory unit is sensitive to the extra bits ● Can't see just '42'. It's not privvy to own decryption ● KPU needs loving care from programmer
  • 10. What's with the FHE connection? ● What exactly is fully homomorphic encryption? ● Encrypt(2) '+' encrypt(2)  encrypt(4) ● Likewise for multiplication, division … ● Good news: bank keeps a/c in your own FHE ● Does addition, interest, etc. as required ● Bank never finds out how much money you have ● Gentry (2009) discovered a feasible FHE ● IBM has implementation in 106 -bit cipherspace ● Seconds per 1-bit addition; vector acceleration ...
  • 11. It turns out that ... ● The single design principle of a KPU is that its altered ALU does arithmetic encrypted: 1. encrypt(2) '+' encrypt(2)  encrypt(4) 2. '-' encrypt(2)  encrypt(-2) 3. encrypt(2) '<' encrypt(4) = (2 < 4) ● “The chosen encryption is a homomorphism be- tween primitive arithmetic functions & KPU ALU” ● Supplying a KPU is supplying the 'FHE operations' ● Constructing a KPU given the encryption is easy
  • 12. What is a KPU good for? ● Classic answer .. anything FHE is good for: ● Run private computations in the cloud ● Nobody else can understand your data ● Configure encrypted processor safely in the clear ● DoD ought to like it! ● Different answer for KPU: ● Bank gives away KPU on smartcard ● Customers exchange $$$ offline; doing bank's work ● Don't need full 32-bit arithmetic, 1-bit logic suffices
  • 13. While a KPU is a FHE ... ● You can give the bank your KPU ● Just copy its configuration to them – we're digital! ● Implements your FHE operations for the bank's use ● A FHE is not a KPU ● FHE: 'f'(encrypt(x))  encrypt(f(x)), any formula f ● KPU: 'f'(encrypt(state))  encrypt(f(state)), any computation f =/
  • 14. How secure is a KPU? ● Big weakness: branch test circuitry leaks info! ● encrypted(x) '<' encrypted(y) = x < y {1,0} ● x<0 reveals top bit of x ● x+x <0 reveals second from top bit ... ● Defense: attacker can't tell + from *,/,>>,... ● And no constants are known ● So attacker doesn't really know how to decrypt! ● Why isn't the code for zero obvious? ● 0=0-0=1-1=2-2=3-3=... can't be recognized ● Always are multiple codes for each plain value!
  • 15. Security news ● For theoreticians ... ● Believe KPU can run emulation of a CPU in its encrypted arithmetic subsytem, without branching ● Result is a … KPU again ● This bootstrapped KPU is better ● Does not reveal branch test results in plain sight ● Fully encrypted instructions and data, addresses ... ● Not even its control flow is visible ● Sets theoretical limit on how secure KPU may be ● Major concern is signalling via repeat memory access
  • 16. Size: Back-of-Envelope Calculation ● 3 ciperspace bits = 1 plain bit ● 1-bit encrypted arithmetic ● + = ( 26  3 = 192 bits of info) ● 8!/4!4! = 70 ciphers with 4 codings each of 0,1 ● Use different cipher for each bit ● 7032 different ciphers of 32-bit words ● 32-bit addition needs 325 1-bit modules ● 325192 = 30720 bits FPGA ● 32-bit multiplication needs 322 52 1-bit modules ● 322 52 192 = 4915200 bits FPGA
  • 17. Summary ● Homomophic and Fully Homomorphic Encryptions are 'holy grail' of cryptography for their possibilities ● E.g. RSA is homomorphic wrt multiplication ● Enables digital money security features ● KPU represents a new class of FHE technology ● Instead of making an E that is an H wrt the A... ● Implements the A[rithmetic] that makes the E a H ● Many open questions!Need to build one to answer! http://birmingham.academia.edu/PeterBreuer/Talks/