Building Block Protocol
Building Block Protocol
Cryptographic Protocol
Building Block Protocols
Contents
Definition Type of Protocol Communications Using Symmetric Cryptography One-Way Functions & One-Way Hash Functions Communications Using Public-Key Cryptography Digital Signatures with Encryption Random and Pseudo-Random-Sequence Generation
Definition
Order
Step
Protocol
Two or More Parties
Task
Accomplish a task:
This can involve sharing (parts of) a secret, conrming an identity, signing a contract, etc.
Characteristic
Established in advance
Unambiguous
Definition
Everyone involved in the protocol must know the protocol and all of the steps to follow in advance. Everyone involved in the protocol must agree to follow it. The protocol must be unambiguous. The protocol must be complete
Definition
Protocol
Buying goods over the internet, playing online poker E-voting in an election Internet Banking Rekening Bersama
Type of Protocols
Arbitrated Protocols An arbitrator is a disinterested third party trusted to complete the protocol
Has no allegiance to any party involved All people participating trust that he is acting honestly and correctly
Arbitrators can help complete protocols between parties that dont trust each other
Arbitrated Protocols
In the real world, lawyers, public notaries, and banksact as arbitrators For example, Bob can buy a car from Alice using anarbitrated protocol 1. Bob writes a check and gives it to the bank (Trent) 2. Bank puts enough money on hold to cover check and certies the check 3. Alice gives the title to Bob and Bob gives the certied check to Alice 4. Alice deposits the check This works, because Alice trusts the banks certication
Arbitrated Protocols There are some problems with arbitrated protocols in the virtual world:
Its more difcult for people to trust a faceless entity somewhere in the network An arbitrator can become a bottleneck, as he has to deal with every transaction
This may lead to even more delay (due to the arbitrator theres always some delay)
Lots of damage can be caused if arbitrator is subverted Someone has to pay for running an arbitration service
Adjudicated Protocols Arbitrators have high costs, so arbitrated protocols can be split into two sub-protocols:
A non-arbitrated part An arbitrated part that is executed only if there is adispute
Adjudicated Protocols An adjudicator is a third party who can judge whether a transaction was performed fairly, in case of a dispute. Example: a notary public, who attests the authenticity of a signed document An adjudicated protocol allows an adjudicator to examine transaction data to decide whether two disputing parties acted fairly.
Self-Enforcing Protocols A self-enforcing protocol guarantees fairness of a transaction, without the presence of a third party. During the transaction, either partys attempt to cheat becomes immediately obvious to the other party.
Example :
There are several ways two people can divide a piece of cake in half.
Disadvantages:
There is not a self-enforcing protocol for every situation.
www.themegallery.com
Company Logo
Reflection
The adversary send protocols messages back to the principal who sent them
Denial of Services
www.themegalle
Protocol Interaction
The adversary chooses a new protocol to interact with known protocol
www.themegalle
Cheaters
(1) Alice and Bob agree on a cryptosystem (2) Alice and Bob agree on a key (3) Alice takes her plaintext message and encrypts it using the encryption algorithm and the key. This creates a ciphertext message. (4) Alice sends the ciphertext message to Bob. (5) Bob decrypts the ciphertext message with the same algorithm and key and reads it.
Problem Keys must be distributed in secret If a key is compromised (stolen, guessed, extorted, bribed, etc.), the security has been gone. The total number of keys increases rapidly as the number of users increases
One-Way Functions
One-way functions are relatively easy to compute, but significantly harder to reverse. Given x it is easy to compute f(x), but given f(x) it is hard to compute x Problem : A trapdoor one-way function
a.k.a compression function, contraction function, message digest, fingerprint, cryptographic checksum, message integrity check (MIC), and manipulation detection code (MDC). a variable-length input string (called a pre-image) and converts it to a fixed-length (generally smaller) output string (called a hash value) Collision-Free Message Authentication Codes
A.k.a. data authentication code (DAC) is a one-way hash function with the addition of a secret key
Problems
Public-key algorithms are slow, Large Number requirement Public-key cryptosystems are vulnerable to chosen-plaintext attacks
Hybrid Cryptosystem (1) Bob sends Alice his public key. (2) Alice generates aK, encrypts it using Bobs public key, and sends it to Bob. EB(K) random session key, (3) Bob decrypts Alices message using his private key to recover the session key. DB(EB(K)) = K (4) Both of them encrypt their communications using the same session key.
Digital Signatures
Requirement
The signature is authentic The signature is unforgeable The signature is not reusable The signed document is unalterable The signature cannot be repudiated In reality, none of these statements about signatures is completely true.
(1) Alice encrypts her message to Bob with KA and sends it to Trent. (2) Trent decrypts the message with KA. (3) Trent takes the decrypted message and a statement that he has received this message from Alice, and encrypts the whole bundle with KB. (4) Trent sends the encrypted bundle to Bob. (5) Bob decrypts the bundle with KB. He can now read both the message and Trents certification that Alice sent it.
Problems The protocol take too much time for Trent Hard to creating and maintaining good Trent Trent is bottlenecks in any communication system
Digital Signature Trees Ralph Merkle proposed a digital signatures scheme using a tree structure. Use Root, node and sub node hierarchical
Advantages Fulfilled the requirement of Signatures Trent is not needed to either sign and verify signatures.
Other Digital Signature Signing Documents and Timestamps Signing Documents with Public Key Cryptography and One-Way Hash Functions
1. Alice produces a one-way hash of a document. 2. Alice encrypts the hash with her private key, thereby signing the document. 3. Alice sends the document and the signed hash to Bob. 4. Bob produces a one-way hash of the document that Alice sent. He then, using the digital signature algorithm, decrypts the signed hash with Alices public key. If the signed hash matches the hash he generated, the signature is valid.
Multiple Signatures (1) (2) (3) (4) Alice signs the hash of the document. Bob signs the hash of the document. Bob sends his signature to Alice. Alice sends the document, her signature, and Bobs signature to Carol. (5) Carol verifies both Alices signature and Bobs signature.
Digital Signatures with Encryption The signature provides proof of authorship and the envelope provides privacy.
(1) Alice signs the message with her private key. SA(M) (2) Alice encrypts the signed message with Bobs public key and sends it to Bob. EB(SA(M)) (3) Bob decrypts the message with his private key. DB(EB(SA(M))) = SA(M) (4) Bob verifies with Alices public key and recovers the message. VA(SA(M)) = M
Pseudo-Random Sequences
It looks random. This means that it passes all the statistical tests of randomness
Question ?
Basic Protocols