Advanced Cryptography Protocols

Slides:



Advertisements
Similar presentations
Digital Signatures and Hash Functions. Digital Signatures.
Advertisements

CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (4) Information Security.
Bitcoin Double Spending Attack Karame, Androulaki & Capkun Presented by Subhro Kar CSCE 715, Fall 2013.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering.
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
WS Algorithmentheorie 03 – Randomized Algorithms (Public Key Cryptosystems) Prof. Dr. Th. Ottmann.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Public Key Cryptography RSA Diffie Hellman Key Management Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College,
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Public Key Model 8. Cryptography part 2.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Storage & Revoking.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Cryptography, Authentication and Digital Signatures
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
1 Public-Key Cryptography and Message Authentication.
1 Bitcoin A Digital Currency. Functions of Money.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
1 Chapter 10: Key Management in Public key cryptosystems Fourth Edition by William Stallings Lecture slides by Lawrie Brown (Modified by Prof. M. Singhal,
Key Management Network Systems Security Mort Anvari.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
EE 122: Lecture 24 (Security) Ion Stoica December 4, 2001.
Section #9: Bitcoins. Digital currency Unique string of bits Use cryptography for security and privacy Not tied to names: hard to trace Finite set of.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
What is in a name? Identity-based cryptography. How public-key crypto works When you use public key cryptography, you can publish a value (public key)
Motivation ✓ ✘ ? Bitcoin/Ideal Credit Card Works on Internet
Overview Modern public-key cryptosystems: RSA
Basics of Cryptography
Security Outline Encryption Algorithms Authentication Protocols
CSCE 715: Network Systems Security
Asymmetric-Key Cryptography
Boneh-Franklin Identity Based Encryption Scheme
Cryptographic Hash Function
Bitcoin - a distributed virtual currency system
Public Key Encryption and Digital Signatures
Distributed Systems for Information Systems Management
Cryptography and Security Technologies
Campbell R. Harvey Duke University and NBER
Focus Group 3: Blockchain and digitalisation
PART VII Security.
Campbell R. Harvey Duke University and NBER
Chapter 10: Key Management (Again) and other Public Key Systems
Enabling Technology1: Cryptography
Lecture 4 - Cryptography
Key Management Network Systems Security
CSCE 715: Network Systems Security
Consensus Algorithms.
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Public-Key, Digital Signatures, Management, Security
Chapter -5 PUBLIC-KEY CRYPTOGRAPHY AND RSA
Kai Bu 04 Blockchain Kai Bu
CSCE 715: Network Systems Security
Blockchains and Auditing
Wokshop SAIS 2018 Dr. Meg Murray Kennesaw state university
Faculty Seminar Series Blockchain Technology
Fluency with Information Technology Lawrence Snyder
Blockchain Technology: A New Approach to Provenance
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Bitcoin and Blockchain
Explore Txs, block, blockchain in Bitcoin
Presentation transcript:

Advanced Cryptography Protocols Colorado State University

Existing Challenges Secret key / Symmetric Key Cryptosystems Communication / Protected files on disk How to store the key? Full? Partial? Outsource? How to get the key when I need it? Public Key / Asymmetric Key Cryptosystems Communication – Encryption, Digital Signatures. How to store the “secret” key. Certificates – Expensive. Management? Revocation?

Topics Shamir’s Secret Sharing. Identity Based Cryptosystems. Storing a secret. Information Dispersal. Identity Based Cryptosystems. PKC without(one) certificates. Blockchain Merkle Tree. Forward Chaining. Consensus algorithm.

Shamir's Secret Sharing

Secret Sharing Example Scenario You obtain nuclear launch codes (somehow!). You cannot afford to get caught. You cannot share the same with your friends. They know the code. They have the same power. Split the code. e.g. code is 12345. You – 6745, 1st friend – 3011, 2nd friend – 2589 (6745 + 3011 + 2589 = 12345)

Secret Sharing All 3 must be present to recalculate the code. Problem – If any one gets caught, that part is lost and now you cannot compute the actual code. Wouldn’t it be better - 3011 + 2589 = 12345. All shareholders need not be present, a certain number (threshold) is enough to compute the code.

Secret Sharing Generalizing the idea, given a secret s, we would like n parties to share the secret so that the following properties hold. All n parties can get together and recover s. Less than n parties cannot recover s. This is called linear secret sharing (n out of n). Another way, we would like n parties to share the secret so that the following properties hold. Any k parties, k < n can get together and recover s. Less than k, k-1 parties cannot recover s. This is called threshold scheme. (k out of n)

Secret Sharing Introduced by Adi Shamir in 1979, “How to share a secret”. Basic idea – Y = 12X + 34 How many points are needed to draw the straight line? Given the straight line how many points are on it? Can we call it a (2,n) threshold? For, higher k, increase the order of the polynomial. (3,n) – quadratic, (4,n) – cubic …. So on.

Generating the Shares Threshold = k , order of polynomial = k-1. E.g. lets choose threshold 3, order = 2 Y = aX2 + bX + c a and b can be anything, c must be the secret, f(0) = c. For x = 1 to n, calculate (x, f(x)), these are the shares. Lets choose – y = 2X2 + x + 3, secret = 3, threshold = 3. f(0) = 3, f(1) = 6, f(2) = 13, f(3) = 24, f(4) = 39 (1,6) (2,13) (3,24) (4,39) …. are the shares. Never use (0,3) … this is the secret.

Recovering the Secret (1,6) (2,13) (3,24) (4,39) is what you start with. Take any 3 points – threshold 3. We want to find the polynomial and f(0) – the secret. Use Lagrange interpolation.

Recovering the Secret Lets choose these 3 points - (1,6) (2,13) (3,24) f(1) = 6 , f(2) = 13, f(3) = 24. f(x) = δ1(x) + δ2(x) + δ3(x). δ1 (x) = 6.(x-2).(x-3)/ (1-2) (1-3). δ2 (x) = 13.(x-1).(x-3)/ (2-1) (2-3). δ3 (x) = 24.(x-1).(x-2)/ (3-1) (3-2). Calculate f(x) and find f(0).

Secret Sharing For uses in cryptography All calculations are done over finite fields. Choose a large prime P. Perform modulo P for every operation. Generation of shares (x mod P , y mod P) Reconstruction Division is modulo inverse.

Identity Based Cryptography

Present PKC model

Alternate model Wayne PRIVATE – dw PUBLIC - ew

Alternate model If anyone uses ew to encrypt, who can decrypt? If anyone uses dw to sign, it can be verified by ew If you know dw, you are “Wayne”. Target – One key-pair with a certificate. Everyone will use that. (encryption / signing) dw is never disclosed to others.

Identity-Based Cryptosystem Introduced by Adi Shamir in 1984, “Identity-Based Cryptosystems and Signature Schemes.” A unique string is used as an identity. Publicly known to all. Email ID, ORCID etc. A central authority (Wayne) has a key-pair. Users keys are derived from their ID and the central authorities keys.

Shamir’s IBS A user wants to sign a message. User needs a private key. Sends ID to central authority. Central authority authenticates the user and provides a token / private key (SID). SID = [H(ID)]d mod n. Given, SID hard to find d – DLP.

Shamir’s IBS Signing a message – Verifying a message – Choose r at random. Compute t = re mod n. Compute f = H(t||m). Compute s = SID . rf mod n Signature = (s,t) Verifying a message – se = ? = ID . t H(t||m) mod n.

Shamir’s IBE Shamir did not give a concrete way of solving identity based encryptions. Given ID, append bits to it to make co-prime to n. (eID) Find its corresponding dID [dID . eID = 1 mod φ(n)] Note dID is not same as d, eID is not same as e. Essentially, create a key-pair for every user based in their ID. Does not solve the problem.

Present day IBE Was an open problem till 2001. Dan Boneh, Matthew K. Franklin, 2001, “Identity-Based Encryption from the Weil Pairing.” Based on Elliptic Curve Cryptography. Bilinear Pairings. Suggested path to understand this. ECC -> Bilinear pairings -> IBE. Not only IBE but IBS, IBI, IBA, IBKE are all possible now thanks to bilinear pairing.

Blockchain !

What is blockchain? It is NOT Bitcoin. (or other cryptocurrencies) Bitcoin (others) USE blockchain. Blockchain is a technology. Conceptualized by a person (or group of people) known as Satoshi Nakamoto in 2008. It is a distributed ledger/database. Maintains a continuously growing list of records (blocks). Transactions are grouped into a block. New blocks are appended at the end of existing ones. Uses cryptography to prevent altering tampering etc.

What is blockchain? The underlying principles were already there. Blockchain is the combination. Some important principles: Forward chaining (attaching one block to another) Merkle Tree (verifying the transactions in a block) Consensus Protocol (Voting/agreement that a new block is valid and can be added to the chain) Proof of Work(PoW) Consensus. (others - Proof of stake (PoS), Delegated Proof of Stake(DPoS), Practical Byzantine Fault Tolerance (PBFT) etc.)

Structure of a block

Forward Chaining

Forward Chaining Like CBC – Cipher block chaining. Each block contains hash of previous block, its own data and its own block hash. Provides a chain of linked blocks. Any change in any previous block will have a ripple effect. Protects integrity of the chain. First block in the chain is called “Genesis” block. Previous block hash - 0

Merkle Tree

Merkle Tree Introduced by Ralph Merkle, 1979, “A Certified Digital Signature.” One hash for an entire list of data. Used for efficient data verification. Used in a lot of areas apart from blockchain. Distributed storage. (Cassandra) File download (torrent)

Merkle Tree

Merkle Tree

Consensus: Proof of Work

Consensus: PoW There is no single central authority in a blockchain. The ledger is distributed. Everyone has a copy of the ledger. Generally the longest chain is considered correct. Given a chain, I can pick arbitrary transactions and create new blocks and extend the chain. Whether my block is correct is determined by voting by others. One who creates a block is called a “miner”.

Consensus: PoW Recall we had two fields in the block – Nonce. Target to be solved. Without this there would be easy creation and addition of blocks. Miners use these two to show that they have put some “effort ” or work to validate the block. The target contains the challenge e.g. the block hash must start with 16 0’s.

Consensus: PoW Keeping other contents unchanged, find a Nonce that will produce 16 0’s. The best way to find this is brute-force. Once the nonce is found the block is broadcasted. Verifications is very simple and fast. Others check this block and add this to chain making it the current last block. Miners are rewarded for this work that they put in. This ensures that there are minimal forks.

Consensus using PoW New transactions are broadcast to all nodes. Each node collects new transactions into a block. Each node works on finding a difficult proof-of-work for its block. When a node finds a proof-of-work, it broadcasts the block to all nodes. Nodes accept the block only if all transactions in it are valid and not already spent. Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash. Nodes always consider the longest chain to be the correct one and will keep working on extending it. 

Consensus using PoW

Consensus using PoW

Consensus using PoW

Consensus using PoW

Consensus using PoW

Consensus using PoW

Questions?