570 likes | 596 Views
Cryptography and Digital Transformation. Kazue Sako , Distinguished Researcher, Security Research Labs ., Ex-president, JSIAM. Digital Transformation. D igitization is the 'technical process' of " converting analog information into digital form
E N D
Cryptography and Digital Transformation Kazue Sako, Distinguished Researcher, Security Research Labs., Ex-president, JSIAM
Digital Transformation • Digitization is the 'technical process' of "converting analog information into digital form • Digitalization is the 'organizational process' or 'business process' of the technologically-induced change • Digital Transformation is the total and overall societaleffect of digitalization. [Wikipedia]
Physical objects and digital data • Our societyhad been using physical objects in a smart way. • We built our rules based on its characteristics. • But they also had limitations. • Going digital, we can free ourselves from physical limitations. • At the same time, we’re at risk as we are no longer protected by familiar properties. • How can we make ‘digitalization’ happen ‘right’?
Cryptographic Algorithms provide alternative restrictions similar to physical objects had. Moreover, we can design it and control power!
Outline of the rest of the talk -Some cryptographic foundations -Examples of digitalization - Electronic Voting - Bitcoin Blockchain -Summary
Cryptographic Foundations I • Symmetric-key encryption • Public-key (Asymmetric-key) encryption Same key data data DEC ENC send send Public-key of the receiver My secret key data data DEC ENC
Cryptographic Foundations II • Public-key encryption • Digital Signature data data Gen- SIG Verify 7 Public-key of the receiver My secret key sig OK /NG data data DEC ENC My secret key Public-key of the signer
Cryptographyic Foundations III: Interactive proofs • Ordinary written-down proofs • Interactive proofs Claim Claim proof ? • Can be made to be zero-knowledge: Nothing leaked. • Trasnferable knowledge.
Cryptographic Algorithms provide alternative restrictions similar to physical objects had. Moreover, we can design it and control power!
My Journey on Digitalization • voting • privacy Auction • Anony-mousauthen-tication • Digital Identity • security • Lottery • Dice Rolls • fairness
Voting: Steps for Digitalization • Redefine its purpose • Model its features Yes No 4 Yes and 2 No Yes Yes Yes No Tallying authority Voters
Steps for Digitalization • Define the requirements Only legitimate voters vote, and one vote per voter. Tallying authority cannot announce faulty results. No one can learn how each voter voted. • Design a system • Verify the system meets the requirements
NAME How did we do with papers? VOTE Ballot in double envelopes Ballot Shuffle inner Envelopes And open VOTE VOTE VOTE open open open Supervisor Checks The process
ENC Data ENC Data ENC Data ENC Data NAME Digishuff: Shuffling based voting protocol Ballot data VOTE Encrypt Ballot And Sign Ballot in double envelopes SIG ENC Ballot Shuffle Enc-Data And then decrypt Shuffle inner Envelopes And open VOTE VOTE VOTE Prove in Zero-Knowledge That process is correct open open open DEC DEC DEC Supervisor Checks The process Ballot Ballot Ballot
How to shuffle digital data? After Shuffle??? Input AliceKE9SLIWEL BobSJAJIWE54S ChrisGKX3RPB9U EvaQKS769WML DaveGR83F80BUY SJAJIWE54S QKS769WML GR83F80BUY GKX3RPB9U KE9SLIWEL Easy to trace back
Probabilistic Encryption Ciphertext Space ENC+ RandomValue DEC KE9SLIWEL PQJ0D4NXH message1 message1 IE8XJFN39 P849XKJSN ・・・
Re-encryption Input Permute Output AliceKE9SLIWEL BobSJAJIWE54S ChrisGKX3RPB9U EvaQKS769WML DaveGR83F80BUY SJAJIWE54S QKS769WML GR83F80BUY GKX3RPB9U KE9SLIWEL IW0JDLS76 RDQM4LX F8ZPF1EG JV7D34S PQj0D4NXH KE9SLIWEL Change the look of encryption PQJ0D4NXH …. IE8XJFN39 P849XKJSN
Outline of the talk -Some cryptographic foundations -Examples of digitalization - Electronic Voting - Bitcoin Blockchain -Summary
Bitcoin Blockchain(Overview) There are many types of blockchain. Here we discuss Bitcoin Blockchain
Model: User (data generation) and Ledger (data) User Layer Ledger Layer
Prior electronic money:Data is Stored in one place User Layer Spending money LedgerLayer Maintain accounts
Prior Systems:Data is Stored in one place Status is updated. Transactions are collected A→B(20) A残高 500 B残高 0 C残高 100 D残高 200 E残高 300 F残高 0 G残高 50 H残高 50 I残高 150 J残高 400 A残高 480 B残高 20 C残高 60 D残高 240 E残高 250 F残高 50 G残高 10 H残高 90 I残高 110 J残高 440 A 480 B 0 C 80 D 220 E 270 F 30 G 20 H 90 I 110 J 460 D→E(20) B→C(20) I→J(40) G→H(40) E→F(50) C→D(40) A→B(20) A→B(20) C→D(40) A→B(20) E→F(50) C→D(40) A→B(20) I→G(10) F→J(20) D→E(20) B→C(20) I→J(40) G→H(40) E→F(50) C→D(40) A→B(20) I→J(40) G→H(40) E→F(50) C→D(40) A→B(20) F→J(20) D→E(20) B→C(20) I→J(40) G→H(40) E→F(50) C→D(40) A→B(20) A→E(80) I→G(10) F→J(20) D→E(20) B→C(20) I→J(40) G→H(40) E→F(50) C→D(40) A→B(20) B→C(20) I→J(40) G→H(40) E→F(50) C→D(40) A→B(20) A 400 B 0 C 80 D 220 E 350 F 30 G 20 H 90 I 110 J 460 Ledger Management is Centralized/Single point of failure Cost for Maintaining Security is high/Intentional data modification undetected
Blockchain| Users and Ledger Data Generation Layer(Users) Data Management Layer (DistributedLedger)
Blockchain| Multiple Nodes for Data Management Data Management Layer (DistributedLedger)
Blockchain | Data Propagated among Multiple Nodes Signed Transaction data is given to ledger layer C→D(40) C→D(40) C→D(40) C→D(40) C→D(40) C→D(40) Valid data is propagated in Peer-to-Peer communication
Blockchain | Transaction Data generated constantly Data propagated incompletely
Blockchain | Each Node receives different data Different number of data records Different ordering F→J(20) D→E(20) E→F(50) C→D(40) A→B(20) I→J(40) A→E(80) B→C(20) E→F(50) I→J(40) C→D(40) A→B(20) D→E(20) I→G(10) I→J(40) A→B(20) C→D(40) F→J(20) C→D(40) I→J(40) A→B(20) E→F(50) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20)
Blockchain | Each Node receives different data How can they synchronize given: No common clock They only know their neighbors (Bitcoin: permissionlessblockchain) F→J(20) D→E(20) E→F(50) C→D(40) A→B(20) I→J(40) A→E(80) B→C(20) E→F(50) I→J(40) C→D(40) A→B(20) D→E(20) I→G(10) I→J(40) A→B(20) C→D(40) F→J(20) C→D(40) I→J(40) A→B(20) E→F(50) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20)
Blockchain | Generating a ‘Block’=Crypto puzzle For the purpose of synchronization Time-consuming Crypto Puzzle is introduced Given your piece, form a square ※The puzzle always has an answer with any pieces(data) they have.
Blockchain| Broadcasting a block C→D(40) I→J(40) G→H(40) A→B(20) Nick
Blockchain| Verification of block (Data registration) C→D(40) I→J(40) G→H(40) A→B(20) Nick
Blockchain | How a consistent ledger is achieved D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … …
Blockchain | User’s view D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … …
Blockchain | User’s view My transaction data is not there! Wait a while (perhaps in a next block) 2. Resend D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … …
Blockchain | Immutability As there are many replications, it is robust against loss D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … … D→E(20) I→G(10) B→C(20) C→D(40) I→J(40) G→H(40) A→B(20) … … … …
Crypto puzzle For the purpose of synchronization Time-consuming Crypto Puzzle is introduced ※The puzzle always has an answer with any pieces(data) they have. Random Function Target range
Blockchain | Incentives Those who successfully solved a puzzle Receives reward in Bitcoin After several succession of blocks ¥ ¥
Nakamoto Rule: The longer chain is the valid chain Naruto Nancy Nathan
Nakamoto Rule: The longer chain is the valid chain Naruto Nancy Nathan
Nakamoto Rule: The longer chain is the valid chain Noby Naruto Nancy Nathan
Nakamoto Rule: The longer chain is the valid chain Noby Naruto Nancy Nathan
Nakamoto Rule: The longer chain is the valid chain Noby Nick Naruto Nancy Nathan
Blockchain can serve as a public bulletin board • ‘public bulletin board’ • Anyone can write on the board • Something once written can not be changed • Writer is authenticated • Everybody can see what is written • it was unclear how to efficiently build a public bulletin board without a Trusted Third Party.
Public Bulletin Board can • Solve disputes regarding message delivery. I sent but you ignored it You never sent any Water spraying argument
Public Bulletin Board can • It resolves unfair ‘personalized services’ • Not only prices, but also discriminatory services and opinion controlling ads---- more transparency For sale 30 45 32 40 35 44