SlideShare une entreprise Scribd logo
1  sur  172
Security Procedures Y.C.  Stamatiou Department of Mathematics, University of Ioannina and Research and Academic Computer Technology Institute Master Program in Web Science, Veroia, March 2010
Cryptography! It is all about the following simple, but highly important, scenario:
Cryptanalysis
What is used in Cryptology? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Turing machine: The mathematical model of the computer! # 0 1 0 1  q 0 q 1  q n (q 1 ,0)  (q 2 ,1,  )  ,[object Object],[object Object],[object Object],[object Object],ALAN TURING
An algorithm ! The “program” below computes the difference between two positive integers m and   n  ( only if   m > n, otherwise it “returns”  0)  given in the form  0 m 10 n   on the tape of the Turing machine  ( isn’t it, a bit, reminiscent of good, old   Assembly?): q 0 q 1 q 2 q 3 q 4 q 5 q 6 0 (q 1 ,#, Δ) (q 1 , 0 , Δ) (q 3 , 1 , Α) (q 3 , 0 , Α) (q 4 , 0 , Α) (q 5 ,#, Δ) - ( stops ) 1 (q 5 ,#, Δ) (q 2 , 1 , Δ) (q 2 , 1 , Δ) (q 3 , 1 , Α) (q 4 ,#, Α) (q 5 ,#, Δ) - ( stops ) # - ( hangs ) (q 4 ,#, Α) (q 0 , # , Δ) (q 6 , 0 , Δ) (q 6 ,#, Δ) - ( stops )
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Computation resources t(n), s(n)
Observe how the functions that are bounded from above by a polynomial have “reasonable” rate of increase !
Two important time complexity classes of problems P : Problems for which there exists a  polynomial time deterministic  Turing machine (algorithm) that solves them NP : Problems for which no polynomial time deterministic Turing machine has been discovered, yet, that solves them but for which a  polynomial time  non -deterministic  Turing machine exists!
Integers! God made the integers; all else is the work of man Leopold Kronecker (1823 – 1891)
Primes: the building blocks of integers! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],From Wolfram Demonstration Projects
Prime Factorisation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Relatively Prime Numbers & GCD ,[object Object],[object Object],[object Object],[object Object],[object Object]
Fermat's Little Theorem (FLT) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Euler Totient Function  φ( n) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Euler Totient Function  ø(n)
Euler's Theorem ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Primality Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Miller Rabin Test ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
Probabilistic Considerations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Prime Number Distribution ,[object Object],[object Object],[object Object],[object Object],[object Object]
Chinese Remainder Theorem ,[object Object],[object Object],[object Object],[object Object]
Chinese Remainder Theorem ,[object Object],[object Object],[object Object],[object Object],[object Object]
Primitive Roots ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Discrete Logarithms ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
One-Way Functions: Number Theory meets Complexity Theory! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Public key cryptography
Public key cryptography ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RSA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RSA Public-key Cryptosystem ,[object Object],[object Object],[object Object],[object Object],[object Object],Public Key :  (e,n) Private Key : d Encode : m    Z n E(m) = m e  mod n Decode : D(c) = c d  mod n
RSA continued ,[object Object],[object Object],[object Object],[object Object],[object Object],Chinese Remainder Theorem:  If p and q are relatively prime, and a = b mod p and a = b mod q, then a = b mod pq. m  ·  (m p-1 ) k(q-1)  = m mod p m  ·  (m q-1 ) k(p-1)  = m mod q D(c) = m mod pq
RSA computations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Security of RSA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Algorithm to factor given d and e ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],LasVegas algorithm Probability of pass is > .5. Will return p or q if it passes. Try until you pass . w 2 s r  = w ed-1 = w k φ  = 1 mod n v 0 2  = 1 mod n (v 0  – 1)(v 0  + 1)= k’n
RSA in the “Real World” ,[object Object],[object Object],[object Object],[object Object],[object Object]
Factoring in the Real World ,[object Object],[object Object],[object Object],[object Object],[object Object]
ElGamal ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ElGamal Public-key Cryptosystem ,[object Object],[object Object],[object Object],[object Object],[object Object],Public Key :  ( α ,  β ) and some description of G Private Key : a Encode : Pick random k    Z |G| E(m) = (y 1 , y 2 )   = ( α k , m *  β k ) Decode : D(y) = y 2  * (y 1 a ) -1   = (m *  β k )   * ( α ka ) -1   = m *  β k  * ( β k ) -1   = m You need to know a to easily decode y!
ElGamal: Example ,[object Object],[object Object],[object Object],[object Object],Public Key : (2, 3), Z 11 * Private Key : a = 8 Encode :  7 Pick random k = 4 E(m) = (2 4 , 7 * 3 4 )   = (5, 6) Decode :  (5, 6) D(y) = 6   * (5 8 ) -1   = 6 * 4 -1   = 6 * 3 (mod 11)   = 7
Probabilistic Encryption ,[object Object],[object Object],[object Object]
Digital Signatures ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Secret Sharing ,[object Object],[object Object],[object Object]
Shamir Secret Sharing Scheme ,[object Object],[object Object],[object Object]
Threshold Encryption ,[object Object],[object Object],[object Object]
Zero-knowledge Proofs ,[object Object],[object Object],[object Object]
Zero-knowledge Proof Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Woo-Lam  Authentication Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A weakness … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Details of the impersonation attack Step 1:  Eve, acting as both herself and Alice,  attempts to authenticate herself to Bob as both herself and Alice. Step 2:  Bob, as he should,  replies with two nonce challenges. Eve gets her nonce but, at the same time, intercepts the nonce directed to Alice. Step 3:  Eve answers both challenges. Eve, naturally, can only send a wrong reply on behalf of Alice. She can, however, swap her response with Alice’s before contacting Bob. Step 4:  Bob receives both responses and contacts Trent for translation. Step 5:  Trent responds. One response consists, as expected, of garbage. The other respond, for Alice, is of course correct.  Bob gets, correctly, back the challenge he issued for Alice and then authenticates Eve as Alice!
A way round this problem ,[object Object],[object Object],[object Object],[object Object],[object Object]
The Needham-Schroeder Key Exchange Protocol Step 1:  Alice tells Trent what she is requesting Step 2:  Trent gives Alice the session key and gives Alice a package to deliver to Bob. Step 3:  Bob can get the session key, and the identity of who he is talking with (verified because it came from Trent). Step 4:  Bob sends Alice a challenge Step 5:  Alice answers challenge
An attack on Needham-Schroeder ,[object Object],[object Object],[object Object],Step 1:  Eve replays step 3 from NS as if she were Alice.  Step 2:  Bob gets this message and issues a challenge to Alice in the form of a new nonce. This challenge is intercepted by Eve. Step 3:  Since Eve knows the session key, she can respond correctly to the challenge. The basic problem: messages can be replayed once the session key is compromised!
The morale?
We will look into how theory and practice meet using two working systems: e-Lotteries! e-Voting!
[object Object],[object Object],[object Object],[object Object],[object Object],A protocol for the support of  large-scale national lotteries
Special System Characteristics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
An overview of the system Agencies Coupon File  &Audit Information Audit Information Audit Information Audit Information Data  to  Optical Signal Connected  in high Availability Configuration Optical  Fibre Converter  To TV Station Telephone lines Lottery  Organization Computer Verifier Gen1 Gen2
Operational Requirements ,[object Object],[object Object],[object Object],[object Object]
Security & Safety  Requirements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Security & Safety  Requirements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design considerations ,[object Object],[object Object],[object Object],[object Object],[object Object]
Design Considerations Randomness Sources Approaches Disadvantages Advantages Common (e.g. as given by Java) Pseudorandom Number Generators Algorithm is susceptible to clever attacks Uniform distributed  numbers Cryptographically Secure PNG In principle they could be guessed, given the initial state. Guessing is intractable however! Based  on deterministic algorithms Handles the disadvantage above Truly Random Number Generators Physical processes often obey specific distribution laws They depend on environmental parameters (e.g. temperature) Hard to reproduce their output  Non deterministic method, truly random output
Design Considerations Seed Commitment & Reproduction  of received numbers ,[object Object],[object Object],[object Object]
Design Considerations State Stamping ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Considerations Seed Processing Seed 1 ->Produced  from Physical Generator Hash value of The Coupon File Naor-Reingold Pseudorandom Function Input(1) Input(2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Final Seed 2
Seed Processing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Considerations Signing and Authenticating ,[object Object],After Numbers   Generation Encryption Scheme Signing Process Numbers & Seeds Verifier
A high-level description of the protocol Exchange keys  for encryption & A private /public key for signature GEN1 VERIFIER Idle Drawing Initiation signal Random bits from the TRNG Hash value of the Coupon’s file Bit-commitment  &Signature Seed 1 Seed 2 XOR NR function Generate the Numbers From PRNG Verify and decrypt Seeds & nums Encrypt and sign  Seeds & numbers Verify that Gen1Commited on the True seeds From the retrieved seeds Regenerate the numbers System Failed SUCCESS! Check the numbers
Time Table 6 min before the Draw time 3 min later: If the verifier hasn’t received the numbers, he sends Initiation Signal to Gen2 Gen2 produces the numbers in 3 minutes, on time, with the same processes of the Gen1 Verifier GEN1 Draw initiation signal GEN2 Initiation signal GEN2
Software  random number generators ,[object Object],[object Object],[object Object],[object Object],[object Object]
Physical  random number generators ,[object Object],[object Object],[object Object],[object Object]
Output Processing ,[object Object],[object Object],[object Object]
Output Processing ,[object Object],[object Object],[object Object]
Output Testing ,[object Object],[object Object],[object Object],[object Object]
Considerations ,[object Object],[object Object],[object Object],[object Object]
The Issue of  Trust ,[object Object],[object Object],[object Object]
Our Goal ,[object Object],[object Object]
[object Object],[object Object],[object Object],Our approach
Pragmatic Trust ,[object Object],[object Object]
The trust-centered approach
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Some basic requirements for a general e-Voting scheme
How to meet these requirements? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mixnets ,[object Object],[object Object],[object Object],[object Object],[object Object],Parallelizing efficiently the process, we conjecture, is   P-complete (reduction from CVP) : Given n   inputs in some particular order, is the i let to output j after the application of all the permutation stages of the Mixnet?
Homomorphic functions ,[object Object],[object Object],[object Object],[object Object],[object Object],Efficient parallelization :
Registering voters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Counting the votes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Counting by exploiting the homomorphism property ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CGS97 - The Protocol
CGS97 - The Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
More on Scientific Soundness: Randomness ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More on Scientific Soundness: Randomness ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Layers of the architecture
Implementation Soundness ,[object Object],[object Object]
Implementation Soundness ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The CORAS Methodology Risk Analysis and Management ( 2/11)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Risk Analysis and Management ( 2/11) Basic steps of CORAS
Step  1:  Context Identification Risk Analysis and Management ( 3/11) Abstract Class Diagram Activity Diagram Use Case   DIagram
Step  1 ( continues )   Risk Analysis and Management  (4/11) Example of Time Sequence Diagram (Decryption and Calculation of Result)
Step  2:  Risk Identification Risk Analysis and Management  (5/11) Part of high-level risk table Who/what causes it? How?   What is the incident?   What does it harm? What makes it possible? Keyholders Disclosure of secret keys Corrupted   Keyholders (software ) Voter Disclosure of credentials  ( id ,  password , πιστοποιητικό)  to another person Malicious Voter EA Vote Alteration Corrupted  ΕΑ EA Vote disclosure Corrupted  ΕΑ EA Tallying error Software Error EA Result Alteration Corrupted  ΕΑ Coercer Voter coercing Lack of monitoring during remote vote casting Hacker Vote Alteration Insufficient Security Hacker Final result Alteration Insufficient Security
Step  2 ( continues )   Risk Analysis and Management  (6/11) Part of HazOp Table Asset :  Keys Κ i   (step 1) Guideword Threats Likelihood Consequence Countermeasures Manipulation Alteration of key generator operation by authorized person Small Keys are not secret or are not random Testing of key generator before elections Restricted access to software Disclosure Disclosure of some K i  by their holders Medium Corruption in elections is possible Key sharing (k out of k). In order for the overall Key to be disclosed,  all keyholders  need to disclose their keys Programming  Ε rrors Errors in generator software Medium The keys are not randomly generated  ( fake randomness ). The keys do not satisfy the requirements (e.g. length) Application of good programming practices. Extensive testing and debugging. Use of secure random number generators
Step  2 ( Continues )   Risk Analysis and Management ( 7/11) Fault Tree Diagram (ITEM Toolkit)
[object Object],Step  3:  Risk Analysis   Risk Analysis and Management  (8/11) Calculation of threat occurrence likelihood Event Description Likelihood Disclosure by Voter 1 Disclosure of Vote by Voter 0,05 2 Voter software error 0,1 3 Malicious software in Voter’s PC 0,1 Stolen while in transit 4 SSL failure  0,1 Disclosure by Vote Manager 5 Malicious Election Authority  ( vote manager ) 0,05 6 Malicious software in Election Authority  ( vote manager ) 0,05 Threat ID Description Events involved Likelihood 1 Disclosure of vote  Μ 1-6 0,3 8  (Medium )
Step  3   ( Continues ) Risk Analysis and Management  (9/11) Qualitative assessment of Consequence using FMEA ID Function/ Entity  Failure Mode Effects Causes Consequences Local System wide 1 GenerateElGamalParameters (size) Size parameter is not available in system config file The public parameters may not be created System initialization is not possible Config file is not properly updated by system administrator. Access to config file/database is not possible Voting process may not begin 2 Publish(elGamalParameters) Bulletin Board is not updated with the public parameters Keyholders may not produce keys System initialization is not possible Connection to database is not possible Voting process may not begin
Step  4:  Risk Assessment Risk Analysis and Management  (10/11) Risk Categorization Matrix Consequence Value Likelihood Value Rare Unlikely Possible Likely Certain Insignificant           Minor   4, 10, 12, 30, 31 29, 32, 34, 35, 36, 39, 40 14   Moderate   3  8, 22     Major   1, 9, 21, 23, 26, 27 7, 17 , 20, 24, 25, 28, 33, 37 13   Catastrophic 2, 5, 11, 47 6, 15, 16, 18, 19, 41, 43, 44, 45, 46 38, 48, 49 42  
Step  5:  Risk Treatment (taken into account in   the design/implementation phases)   Risk ID Description Risk Level  Treatment options - measures Risks with regard to Partial Keys disclosure or non-availability 2 Disclosure of some of K i   by their keyholders Extreme The disclosure of partial keys would be catastrophic, as it would allow the decryption of individual votes and the final result by unauthorized parties (or even the EA)  Threshold cryptography techniques  are used as a countermeasure. Such techniques require for at least t out of n keyholders to cooperate for the conduction of the elections. Moreover, colluding interests of the keyholders discourage potential alliances among them. For ultimate security, we suggest that t=n, which means that all keyholders need to cooperate. 5 Some of the K i   are not available Extreme
Layers of the Architecture ,[object Object],[object Object],[object Object]
Internal Operation Soundness ,[object Object],[object Object],[object Object]
Internal Operation Soundness ,[object Object],[object Object],[object Object],[object Object],[object Object]
Layers of the Architecture ,[object Object],[object Object],[object Object]
Externally Visible Operational Soundness ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Externally Visible Operational Soundness
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Externally Visible Operational Soundness
[object Object],[object Object],[object Object],Layers of the architecture
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Layers of the architecture
5.  Trust by extensive logging and auditing of system  activities  (logging and auditing activities are scheduled  on daily basis, results available for public scrutiny).  6.  Trust by contingency planning  (failures in system  that offer e-services are not acceptable, contingency  plan publicly available).   7.  Trust by regulation and laws  (system operator  introduces suitable legislation for the protection of the  public in case of mishaps). 8.  Trust by reputation and past experience  (the  involvement of engineers and experts should be  accompanied by credentials that prove their  expertise). Convincing the public
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],System and implementation related aspects
Application server: Apache Tomcat ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Intrusion Detection System: HELENA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Voter authentication: OpenCA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ensuring privacy in the network: OpenVPN ,[object Object],[object Object],[object Object],[object Object]
High availability and fault tolerance: mon, heartbeat, and coda (1/2) ,[object Object],[object Object],[object Object]
High availability and fault tolerance: mon, heartbeat, and coda (1/2)
Database replication: Slony-I (1/2) ,[object Object],[object Object],[object Object]
Database replication: Slony-I (2/2)
Heartbeat and Slony-I: An architecture for high availability and fault tolerance
Secure EA bootstrapping: MCUs with protected memory ,[object Object],[object Object],[object Object],[object Object]
Performance aspects/ System simulation Network architecture: Directed Acyclic Graph (DAG) Traffic: open Jackson network of M/M/1 queues (Poisson distributed arrival rate – exponentially distributed service rate – one server – unlimited queue size) Voters’ arrival behavior: Weibull distributed with a peak around noon Simulation tool: Uses the CSIM 19 (C and C++) simulation library
Performance aspects/ System simulation Shifted Weibull distribution with parameters  α  = 2.5,  b = 5 and t 0  = 8 Time interval λ s i [8:00,10:00) 5.67 [10:00,12:00) 10.32 [12:00,14:00) 6.70 [14:00,16:00) 2 [16:00,18:00) 0.26 [18:00,20:00) 0.026 Time interval s i  (incoming vote rate) [8:00,10:00) 0.11 [10:00,12:00) 0.20 [12:00,14:00) 0.13 [14:00,16:00) 0.039 [16:00,18:00) 0. 005 [18:00,20:00) 0. 0005
Performance aspects/ System simulation
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object]
Elliptic Curve Cryptography ,[object Object],[object Object],[object Object],[object Object],[object Object]
Example ,[object Object],[object Object]
Generation of a key pair (private-public) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Elliptic Curve Cryptosystems based on F p 1. Choose at random a  private key  d   {1,m-1} 2. Find a random point G on the EC 3. Calculate the  public key e  = dG mod p
EC Cryptosystems vs. Conventional Systems ,[object Object]
Advantages of ECC ,[object Object],[object Object],[object Object],[object Object]
Generation of secure ECs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generation of ECs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Generation of ECs-Known Methods ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Complex Multiplication Method Input:an integer D Calculate the Hilbert polynomial H D (x) YES Is one of them suitable? Choose prime p = x 2 +Dy 2  and find integers (x,y) Possible orders: m = p+1    2x NO Calculate the roots of the Hilbert polynomial From every root generate a pair of ECs Find the EC which has order m
Shortcomings of the CM method ,[object Object],[object Object]
A practical approach ,[object Object],[object Object],[object Object],[object Object]
Weber vs. Hilbert Polynomials ,[object Object],[object Object],[object Object]
An Example ( D  = 292) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Implementation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Implementation Considerations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
  Architecture
Architecture
Attacks on ECC ,[object Object],[object Object],[object Object]
Signatures: from “syntax” to “semantics” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The methodology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The 3-coloring problem ,[object Object],[object Object],1 2 3 4 5 1 2 3 4 5
The complexity of 3-coloring ,[object Object],[object Object],[object Object],Use bit-sequences that represent graphs and proof of ownership is equivalent to the ability to exhibit readily a 3-coloring of the graph  IDEA:
The “hard”-instance region for 3-coloring ,[object Object],[object Object],[object Object],[object Object],[object Object]
Threshold phenomena in other problems: 3-SAT Many combinatorial problems exhibit a  threshold behavior: Instances generated with their  critical parameter  (clause/variable ratio in 3-SAT) around the value (4.2 in 3-SAT) that marks the  transition  from  almost certain solubility  (satisfiability in 3-SAT) to  almost certain insolubility , seem to be among the  hardest  to solve with the best of algorithms available PROBLEM:  Proof of  existence  and  calculation  of the critical value
Producing random 3-colorable graphs ,[object Object],[object Object],[object Object],[object Object]
Targeting at the “hard” instances region ,[object Object],[object Object],[object Object],[object Object],[object Object]
Zero Knowledge Interactive Proof Protocols (ZKIP) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The “gory” details … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],R 1,0 , R 1,1 1 P V RSA key u  ,RSA key v P P R 2,0 , R 2,1 2 R n,0 , R n,1 n V V
Why the ZKIP for 3-coloring works? ,[object Object],[object Object],[object Object]
[object Object],[object Object],More formally …
Current research efforts ,[object Object],[object Object],[object Object],[object Object],[object Object]
 

Contenu connexe

Tendances

Time and space complexity
Time and space complexityTime and space complexity
Time and space complexityAnkit Katiyar
 
Dynamic Programming - Part II
Dynamic Programming - Part IIDynamic Programming - Part II
Dynamic Programming - Part IIAmrinder Arora
 
Introduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationIntroduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationAmrinder Arora
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsKrishnan MuthuManickam
 
Fractal dimension versus Computational Complexity
Fractal dimension versus Computational ComplexityFractal dimension versus Computational Complexity
Fractal dimension versus Computational ComplexityHector Zenil
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1chidabdu
 
Divide and Conquer - Part 1
Divide and Conquer - Part 1Divide and Conquer - Part 1
Divide and Conquer - Part 1Amrinder Arora
 
Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2Traian Rebedea
 
Introducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosIntroducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosluzenith_g
 
Analysis Of Algorithms I
Analysis Of Algorithms IAnalysis Of Algorithms I
Analysis Of Algorithms ISri Prasanna
 
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier AnalysisDSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier AnalysisAmr E. Mohamed
 

Tendances (20)

Time andspacecomplexity
Time andspacecomplexityTime andspacecomplexity
Time andspacecomplexity
 
Time and space complexity
Time and space complexityTime and space complexity
Time and space complexity
 
Dynamic Programming - Part II
Dynamic Programming - Part IIDynamic Programming - Part II
Dynamic Programming - Part II
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Introduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationIntroduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic Notation
 
Lecture26
Lecture26Lecture26
Lecture26
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of Algorithms
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Fractal dimension versus Computational Complexity
Fractal dimension versus Computational ComplexityFractal dimension versus Computational Complexity
Fractal dimension versus Computational Complexity
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1
 
Lec5
Lec5Lec5
Lec5
 
algorithm Unit 3
algorithm Unit 3algorithm Unit 3
algorithm Unit 3
 
Greedy Algorithms
Greedy AlgorithmsGreedy Algorithms
Greedy Algorithms
 
Divide and Conquer - Part 1
Divide and Conquer - Part 1Divide and Conquer - Part 1
Divide and Conquer - Part 1
 
Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2
 
Algorithm.ppt
Algorithm.pptAlgorithm.ppt
Algorithm.ppt
 
Introducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosIntroducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmos
 
Analysis Of Algorithms I
Analysis Of Algorithms IAnalysis Of Algorithms I
Analysis Of Algorithms I
 
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier AnalysisDSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
DSP_FOEHU - MATLAB 02 - The Discrete-time Fourier Analysis
 

Similaire à 2010 3-24 cryptography stamatiou

ch08 modified.pptmodified.pptmodified.ppt
ch08 modified.pptmodified.pptmodified.pptch08 modified.pptmodified.pptmodified.ppt
ch08 modified.pptmodified.pptmodified.ppttahirnaquash2
 
The Mathematics of RSA Encryption
The Mathematics of RSA EncryptionThe Mathematics of RSA Encryption
The Mathematics of RSA EncryptionNathan F. Dunn
 
01 - DAA - PPT.pptx
01 - DAA - PPT.pptx01 - DAA - PPT.pptx
01 - DAA - PPT.pptxKokilaK25
 
Unit-1 DAA_Notes.pdf
Unit-1 DAA_Notes.pdfUnit-1 DAA_Notes.pdf
Unit-1 DAA_Notes.pdfAmayJaiswal4
 
DAA - UNIT 4 - Engineering.pptx
DAA - UNIT 4 - Engineering.pptxDAA - UNIT 4 - Engineering.pptx
DAA - UNIT 4 - Engineering.pptxvaishnavi339314
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihmSajid Marwat
 
lecture 1
lecture 1lecture 1
lecture 1sajinsc
 
RSA final notation change2
RSA final notation change2RSA final notation change2
RSA final notation change2Coleman Gorham
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to AlgorithmsVenkatesh Iyer
 
Skiena algorithm 2007 lecture01 introduction to algorithms
Skiena algorithm 2007 lecture01 introduction to algorithmsSkiena algorithm 2007 lecture01 introduction to algorithms
Skiena algorithm 2007 lecture01 introduction to algorithmszukun
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexityAbbas Ali
 

Similaire à 2010 3-24 cryptography stamatiou (20)

Ch08
Ch08Ch08
Ch08
 
ch08 modified.pptmodified.pptmodified.ppt
ch08 modified.pptmodified.pptmodified.pptch08 modified.pptmodified.pptmodified.ppt
ch08 modified.pptmodified.pptmodified.ppt
 
Daa notes 2
Daa notes 2Daa notes 2
Daa notes 2
 
Ch08
Ch08Ch08
Ch08
 
Unit 3.ppt
Unit 3.pptUnit 3.ppt
Unit 3.ppt
 
The Mathematics of RSA Encryption
The Mathematics of RSA EncryptionThe Mathematics of RSA Encryption
The Mathematics of RSA Encryption
 
01 - DAA - PPT.pptx
01 - DAA - PPT.pptx01 - DAA - PPT.pptx
01 - DAA - PPT.pptx
 
Unit-1 DAA_Notes.pdf
Unit-1 DAA_Notes.pdfUnit-1 DAA_Notes.pdf
Unit-1 DAA_Notes.pdf
 
Slide2
Slide2Slide2
Slide2
 
DAA - UNIT 4 - Engineering.pptx
DAA - UNIT 4 - Engineering.pptxDAA - UNIT 4 - Engineering.pptx
DAA - UNIT 4 - Engineering.pptx
 
Time complexity.ppt
Time complexity.pptTime complexity.ppt
Time complexity.ppt
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
 
lecture 1
lecture 1lecture 1
lecture 1
 
RSA final notation change2
RSA final notation change2RSA final notation change2
RSA final notation change2
 
01-algo.ppt
01-algo.ppt01-algo.ppt
01-algo.ppt
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to Algorithms
 
Skiena algorithm 2007 lecture01 introduction to algorithms
Skiena algorithm 2007 lecture01 introduction to algorithmsSkiena algorithm 2007 lecture01 introduction to algorithms
Skiena algorithm 2007 lecture01 introduction to algorithms
 
Programming Exam Help
Programming Exam Help Programming Exam Help
Programming Exam Help
 
Alg1
Alg1Alg1
Alg1
 
Lec03 04-time complexity
Lec03 04-time complexityLec03 04-time complexity
Lec03 04-time complexity
 

Plus de vafopoulos

publicspending.gr
publicspending.grpublicspending.gr
publicspending.grvafopoulos
 
2011 05-02 linked data intro
2011 05-02 linked data intro2011 05-02 linked data intro
2011 05-02 linked data introvafopoulos
 
2011 05-01 linked data
2011 05-01 linked data2011 05-01 linked data
2011 05-01 linked datavafopoulos
 
2010 06-08 chania stochastic web modelling - copy
2010 06-08 chania stochastic web modelling - copy2010 06-08 chania stochastic web modelling - copy
2010 06-08 chania stochastic web modelling - copyvafopoulos
 
Amaxus con webdoc_10773
Amaxus con webdoc_10773Amaxus con webdoc_10773
Amaxus con webdoc_10773vafopoulos
 
Ws13 1(2010-11)
Ws13 1(2010-11)Ws13 1(2010-11)
Ws13 1(2010-11)vafopoulos
 
Ws13 2(2010-11)
Ws13 2(2010-11)Ws13 2(2010-11)
Ws13 2(2010-11)vafopoulos
 
Ws 13-3(2010-11)
Ws 13-3(2010-11)Ws 13-3(2010-11)
Ws 13-3(2010-11)vafopoulos
 
Ws 13-4(2010-11)
Ws 13-4(2010-11)Ws 13-4(2010-11)
Ws 13-4(2010-11)vafopoulos
 
2010 07 modeling web evolution amarantidis antoniou vafopoulos final
2010 07 modeling web evolution amarantidis antoniou vafopoulos final2010 07 modeling web evolution amarantidis antoniou vafopoulos final
2010 07 modeling web evolution amarantidis antoniou vafopoulos finalvafopoulos
 
Presentation gr
Presentation grPresentation gr
Presentation grvafopoulos
 
Vafopoulos is the 2faces of janus
Vafopoulos is the 2faces of janusVafopoulos is the 2faces of janus
Vafopoulos is the 2faces of janusvafopoulos
 
κοινωνια της πληροφοριας ευκαιριες και απειλες
κοινωνια της πληροφοριας ευκαιριες και απειλεςκοινωνια της πληροφοριας ευκαιριες και απειλες
κοινωνια της πληροφοριας ευκαιριες και απειλεςvafopoulos
 
2010 02-24 ws gm logic
2010 02-24 ws gm logic2010 02-24 ws gm logic
2010 02-24 ws gm logicvafopoulos
 
Wiki technologies nov_2008_ye
Wiki technologies nov_2008_yeWiki technologies nov_2008_ye
Wiki technologies nov_2008_yevafopoulos
 
Issue 11834$pdf
Issue 11834$pdfIssue 11834$pdf
Issue 11834$pdfvafopoulos
 
Gget 30 webscience
Gget 30 webscienceGget 30 webscience
Gget 30 websciencevafopoulos
 
Mit csail-tr-2007-034
Mit csail-tr-2007-034Mit csail-tr-2007-034
Mit csail-tr-2007-034vafopoulos
 
Riseptis report 1
Riseptis report 1Riseptis report 1
Riseptis report 1vafopoulos
 

Plus de vafopoulos (20)

publicspending.gr
publicspending.grpublicspending.gr
publicspending.gr
 
2011 05-02 linked data intro
2011 05-02 linked data intro2011 05-02 linked data intro
2011 05-02 linked data intro
 
2011 05-01 linked data
2011 05-01 linked data2011 05-01 linked data
2011 05-01 linked data
 
D bpedia
D bpediaD bpedia
D bpedia
 
2010 06-08 chania stochastic web modelling - copy
2010 06-08 chania stochastic web modelling - copy2010 06-08 chania stochastic web modelling - copy
2010 06-08 chania stochastic web modelling - copy
 
Amaxus con webdoc_10773
Amaxus con webdoc_10773Amaxus con webdoc_10773
Amaxus con webdoc_10773
 
Ws13 1(2010-11)
Ws13 1(2010-11)Ws13 1(2010-11)
Ws13 1(2010-11)
 
Ws13 2(2010-11)
Ws13 2(2010-11)Ws13 2(2010-11)
Ws13 2(2010-11)
 
Ws 13-3(2010-11)
Ws 13-3(2010-11)Ws 13-3(2010-11)
Ws 13-3(2010-11)
 
Ws 13-4(2010-11)
Ws 13-4(2010-11)Ws 13-4(2010-11)
Ws 13-4(2010-11)
 
2010 07 modeling web evolution amarantidis antoniou vafopoulos final
2010 07 modeling web evolution amarantidis antoniou vafopoulos final2010 07 modeling web evolution amarantidis antoniou vafopoulos final
2010 07 modeling web evolution amarantidis antoniou vafopoulos final
 
Presentation gr
Presentation grPresentation gr
Presentation gr
 
Vafopoulos is the 2faces of janus
Vafopoulos is the 2faces of janusVafopoulos is the 2faces of janus
Vafopoulos is the 2faces of janus
 
κοινωνια της πληροφοριας ευκαιριες και απειλες
κοινωνια της πληροφοριας ευκαιριες και απειλεςκοινωνια της πληροφοριας ευκαιριες και απειλες
κοινωνια της πληροφοριας ευκαιριες και απειλες
 
2010 02-24 ws gm logic
2010 02-24 ws gm logic2010 02-24 ws gm logic
2010 02-24 ws gm logic
 
Wiki technologies nov_2008_ye
Wiki technologies nov_2008_yeWiki technologies nov_2008_ye
Wiki technologies nov_2008_ye
 
Issue 11834$pdf
Issue 11834$pdfIssue 11834$pdf
Issue 11834$pdf
 
Gget 30 webscience
Gget 30 webscienceGget 30 webscience
Gget 30 webscience
 
Mit csail-tr-2007-034
Mit csail-tr-2007-034Mit csail-tr-2007-034
Mit csail-tr-2007-034
 
Riseptis report 1
Riseptis report 1Riseptis report 1
Riseptis report 1
 

2010 3-24 cryptography stamatiou

  • 1. Security Procedures Y.C. Stamatiou Department of Mathematics, University of Ioannina and Research and Academic Computer Technology Institute Master Program in Web Science, Veroia, March 2010
  • 2. Cryptography! It is all about the following simple, but highly important, scenario:
  • 4.
  • 5.
  • 6. An algorithm ! The “program” below computes the difference between two positive integers m and n ( only if m > n, otherwise it “returns” 0) given in the form 0 m 10 n on the tape of the Turing machine ( isn’t it, a bit, reminiscent of good, old Assembly?): q 0 q 1 q 2 q 3 q 4 q 5 q 6 0 (q 1 ,#, Δ) (q 1 , 0 , Δ) (q 3 , 1 , Α) (q 3 , 0 , Α) (q 4 , 0 , Α) (q 5 ,#, Δ) - ( stops ) 1 (q 5 ,#, Δ) (q 2 , 1 , Δ) (q 2 , 1 , Δ) (q 3 , 1 , Α) (q 4 ,#, Α) (q 5 ,#, Δ) - ( stops ) # - ( hangs ) (q 4 ,#, Α) (q 0 , # , Δ) (q 6 , 0 , Δ) (q 6 ,#, Δ) - ( stops )
  • 7.
  • 8. Observe how the functions that are bounded from above by a polynomial have “reasonable” rate of increase !
  • 9. Two important time complexity classes of problems P : Problems for which there exists a polynomial time deterministic Turing machine (algorithm) that solves them NP : Problems for which no polynomial time deterministic Turing machine has been discovered, yet, that solves them but for which a polynomial time non -deterministic Turing machine exists!
  • 10. Integers! God made the integers; all else is the work of man Leopold Kronecker (1823 – 1891)
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Details of the impersonation attack Step 1: Eve, acting as both herself and Alice, attempts to authenticate herself to Bob as both herself and Alice. Step 2: Bob, as he should, replies with two nonce challenges. Eve gets her nonce but, at the same time, intercepts the nonce directed to Alice. Step 3: Eve answers both challenges. Eve, naturally, can only send a wrong reply on behalf of Alice. She can, however, swap her response with Alice’s before contacting Bob. Step 4: Bob receives both responses and contacts Trent for translation. Step 5: Trent responds. One response consists, as expected, of garbage. The other respond, for Alice, is of course correct. Bob gets, correctly, back the challenge he issued for Alice and then authenticates Eve as Alice!
  • 51.
  • 52. The Needham-Schroeder Key Exchange Protocol Step 1: Alice tells Trent what she is requesting Step 2: Trent gives Alice the session key and gives Alice a package to deliver to Bob. Step 3: Bob can get the session key, and the identity of who he is talking with (verified because it came from Trent). Step 4: Bob sends Alice a challenge Step 5: Alice answers challenge
  • 53.
  • 55. We will look into how theory and practice meet using two working systems: e-Lotteries! e-Voting!
  • 56.
  • 57.
  • 58. An overview of the system Agencies Coupon File &Audit Information Audit Information Audit Information Audit Information Data to Optical Signal Connected in high Availability Configuration Optical Fibre Converter To TV Station Telephone lines Lottery Organization Computer Verifier Gen1 Gen2
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. Design Considerations Randomness Sources Approaches Disadvantages Advantages Common (e.g. as given by Java) Pseudorandom Number Generators Algorithm is susceptible to clever attacks Uniform distributed numbers Cryptographically Secure PNG In principle they could be guessed, given the initial state. Guessing is intractable however! Based on deterministic algorithms Handles the disadvantage above Truly Random Number Generators Physical processes often obey specific distribution laws They depend on environmental parameters (e.g. temperature) Hard to reproduce their output Non deterministic method, truly random output
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. A high-level description of the protocol Exchange keys for encryption & A private /public key for signature GEN1 VERIFIER Idle Drawing Initiation signal Random bits from the TRNG Hash value of the Coupon’s file Bit-commitment &Signature Seed 1 Seed 2 XOR NR function Generate the Numbers From PRNG Verify and decrypt Seeds & nums Encrypt and sign Seeds & numbers Verify that Gen1Commited on the True seeds From the retrieved seeds Regenerate the numbers System Failed SUCCESS! Check the numbers
  • 70. Time Table 6 min before the Draw time 3 min later: If the verifier hasn’t received the numbers, he sends Initiation Signal to Gen2 Gen2 produces the numbers in 3 minutes, on time, with the same processes of the Gen1 Verifier GEN1 Draw initiation signal GEN2 Initiation signal GEN2
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96. CGS97 - The Protocol
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106. Step 1: Context Identification Risk Analysis and Management ( 3/11) Abstract Class Diagram Activity Diagram Use Case DIagram
  • 107. Step 1 ( continues ) Risk Analysis and Management (4/11) Example of Time Sequence Diagram (Decryption and Calculation of Result)
  • 108. Step 2: Risk Identification Risk Analysis and Management (5/11) Part of high-level risk table Who/what causes it? How? What is the incident? What does it harm? What makes it possible? Keyholders Disclosure of secret keys Corrupted Keyholders (software ) Voter Disclosure of credentials ( id , password , πιστοποιητικό) to another person Malicious Voter EA Vote Alteration Corrupted ΕΑ EA Vote disclosure Corrupted ΕΑ EA Tallying error Software Error EA Result Alteration Corrupted ΕΑ Coercer Voter coercing Lack of monitoring during remote vote casting Hacker Vote Alteration Insufficient Security Hacker Final result Alteration Insufficient Security
  • 109. Step 2 ( continues ) Risk Analysis and Management (6/11) Part of HazOp Table Asset : Keys Κ i (step 1) Guideword Threats Likelihood Consequence Countermeasures Manipulation Alteration of key generator operation by authorized person Small Keys are not secret or are not random Testing of key generator before elections Restricted access to software Disclosure Disclosure of some K i by their holders Medium Corruption in elections is possible Key sharing (k out of k). In order for the overall Key to be disclosed, all keyholders need to disclose their keys Programming Ε rrors Errors in generator software Medium The keys are not randomly generated ( fake randomness ). The keys do not satisfy the requirements (e.g. length) Application of good programming practices. Extensive testing and debugging. Use of secure random number generators
  • 110. Step 2 ( Continues ) Risk Analysis and Management ( 7/11) Fault Tree Diagram (ITEM Toolkit)
  • 111.
  • 112. Step 3 ( Continues ) Risk Analysis and Management (9/11) Qualitative assessment of Consequence using FMEA ID Function/ Entity Failure Mode Effects Causes Consequences Local System wide 1 GenerateElGamalParameters (size) Size parameter is not available in system config file The public parameters may not be created System initialization is not possible Config file is not properly updated by system administrator. Access to config file/database is not possible Voting process may not begin 2 Publish(elGamalParameters) Bulletin Board is not updated with the public parameters Keyholders may not produce keys System initialization is not possible Connection to database is not possible Voting process may not begin
  • 113. Step 4: Risk Assessment Risk Analysis and Management (10/11) Risk Categorization Matrix Consequence Value Likelihood Value Rare Unlikely Possible Likely Certain Insignificant           Minor   4, 10, 12, 30, 31 29, 32, 34, 35, 36, 39, 40 14   Moderate   3 8, 22     Major   1, 9, 21, 23, 26, 27 7, 17 , 20, 24, 25, 28, 33, 37 13   Catastrophic 2, 5, 11, 47 6, 15, 16, 18, 19, 41, 43, 44, 45, 46 38, 48, 49 42  
  • 114. Step 5: Risk Treatment (taken into account in the design/implementation phases) Risk ID Description Risk Level Treatment options - measures Risks with regard to Partial Keys disclosure or non-availability 2 Disclosure of some of K i by their keyholders Extreme The disclosure of partial keys would be catastrophic, as it would allow the decryption of individual votes and the final result by unauthorized parties (or even the EA) Threshold cryptography techniques are used as a countermeasure. Such techniques require for at least t out of n keyholders to cooperate for the conduction of the elections. Moreover, colluding interests of the keyholders discourage potential alliances among them. For ultimate security, we suggest that t=n, which means that all keyholders need to cooperate. 5 Some of the K i are not available Extreme
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124. 5. Trust by extensive logging and auditing of system activities (logging and auditing activities are scheduled on daily basis, results available for public scrutiny). 6. Trust by contingency planning (failures in system that offer e-services are not acceptable, contingency plan publicly available). 7. Trust by regulation and laws (system operator introduces suitable legislation for the protection of the public in case of mishaps). 8. Trust by reputation and past experience (the involvement of engineers and experts should be accompanied by credentials that prove their expertise). Convincing the public
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131. High availability and fault tolerance: mon, heartbeat, and coda (1/2)
  • 132.
  • 134. Heartbeat and Slony-I: An architecture for high availability and fault tolerance
  • 135.
  • 136. Performance aspects/ System simulation Network architecture: Directed Acyclic Graph (DAG) Traffic: open Jackson network of M/M/1 queues (Poisson distributed arrival rate – exponentially distributed service rate – one server – unlimited queue size) Voters’ arrival behavior: Weibull distributed with a peak around noon Simulation tool: Uses the CSIM 19 (C and C++) simulation library
  • 137. Performance aspects/ System simulation Shifted Weibull distribution with parameters α = 2.5, b = 5 and t 0 = 8 Time interval λ s i [8:00,10:00) 5.67 [10:00,12:00) 10.32 [12:00,14:00) 6.70 [14:00,16:00) 2 [16:00,18:00) 0.26 [18:00,20:00) 0.026 Time interval s i (incoming vote rate) [8:00,10:00) 0.11 [10:00,12:00) 0.20 [12:00,14:00) 0.13 [14:00,16:00) 0.039 [16:00,18:00) 0. 005 [18:00,20:00) 0. 0005
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148. The Complex Multiplication Method Input:an integer D Calculate the Hilbert polynomial H D (x) YES Is one of them suitable? Choose prime p = x 2 +Dy 2 and find integers (x,y) Possible orders: m = p+1  2x NO Calculate the roots of the Hilbert polynomial From every root generate a pair of ECs Find the EC which has order m
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 163. Threshold phenomena in other problems: 3-SAT Many combinatorial problems exhibit a threshold behavior: Instances generated with their critical parameter (clause/variable ratio in 3-SAT) around the value (4.2 in 3-SAT) that marks the transition from almost certain solubility (satisfiability in 3-SAT) to almost certain insolubility , seem to be among the hardest to solve with the best of algorithms available PROBLEM: Proof of existence and calculation of the critical value
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.  

Notes de l'éditeur

  1. A central concern of number theory is the study of prime numbers. Indeed, whole books have been written on the subject. An integer p>1 is a prime number if and only if its only divisors are 1 and itself. Prime numbers play a critical role in number theory and in the techniques discussed in this chapter. Stallings Table 8.1 (excerpt above) shows the primes less than 2000. Note the way the primes are distributed. In particular note the number of primes in each range of 100 numbers.
  2. The idea of "factoring" a number is important - finding numbers which divide into it. Taking this as far as can go, by factorising all the factors, we can eventually write the number as a product of (powers of) primes - its prime factorisation. Note also that factoring a number is relatively hard compared to multiplying the factors together to generate the number.
  3. Have the concept of “relatively prime” if two number share no common factors other than 1. Another common problem is to determine the "greatest common divisor” GCD(a,b) which is the largest number that divides into both a & b.
  4. Two theorems that play important roles in public-key cryptography are Fermat’s theorem and Euler’s theorem. Fermat’s theorem ( also known as Fermat’s Little Theorem ) as listed above, states an important property of prime numbers. See Stallings section 8.2 for its proof.
  5. Now introduce the Euler’s totient function ø(n) , defined as the number of positive integers less than n & relatively prime to n. Note the term “residue” refers to numbers less than some modulus, and the “ reduced set of residues” to those numbers (residues) which are relatively prime to the modulus (n). Note by convention that ø(1) = 1.
  6. To compute ø(n) need to count the number of residues to be excluded. In general you need use a complex formula on the prime factorization of n, but have a couple of special cases as shown.
  7. Euler's Theorem is a generalization of Fermat's Theorem for any number n. See Stallings section 8.2 for its proof.
  8. For many cryptographic functions it is necessary to select one or more very large prime numbers at random. Thus we are faced with the task of determining whether a given large number is prime. Traditionally sieve for primes using trial division of all possible prime factors of some number, but this only works for small numbers. Alternatively can use repeated statistical primality tests based on properties of primes, and then for certainty, use a slower deterministic primality test, such as the AKS test.
  9. The algorithm shown is due to Miller and Rabin is typically used to test a large number for primality. See Stallings section 8.3 for its proof, which is based on Fermat’s theorem.
  10. If Miller-Rabin returns “composite” the number is definitely not prime, otherwise it is either a prime or a pseudo-prime. The chance it detects a pseudo-prime is < 1 / 4 So if apply test repeatedly with different values of a, the probabiility that the number is a pseudo-prime can be made as small as desired, eg after 10 tests have chance of error < 0.00001 If really need certainty, then would now expend effort to run a deterministic primality proof such as AKS.
  11. A result from number theory, known as the prime number theorem, states that primes near n are spaced on the average one every (ln n) integers. Since you can ignore even numbers, on average need only test 0.5 ln(n) numbers of size n to locate a prime. eg. for numbers round 2^200 would check 0.5ln(2^200) = 69 numbers on average. This is only an average, can see successive odd primes, or long runs of composites.
  12. O ne of the most useful results of number theory is the Chinese remainder theorem (CRT), so called because it is believed to have been discovered by the Chinese mathematician Sun-Tse in around 100 AD. It is very useful in speeding up some operations in the RSA public-key scheme, since it allows you to do perform calculations modulo factors of your modulus, and then combine the answers to get the actual result. Since the computational cost is proportional to size, this is faster than working in the full modulus sized modulus.
  13. One of the useful features of the Chinese remainder theorem is that it provides a way to manipulate (potentially very large) numbers mod M, in terms of tuples of smaller numbers.This can be useful when M is 150 digits or more. However note that it is necessary to know beforehand the factorization of M. See worked examples in Stallings section 8.4.
  14. Consider the powers of an integer modulo n. By Eulers theorem, for every relatively prime a, there is at least one power equal to 1 (being ø(n) ), but there may be a smaller value. I f the smallest value is m = ø(n) then a is called a primitive root . If n is prime, then the powers of a primitive root “generate” all residues mod n. Such generators are very useful, and are used in a number of public-key algorithms, but they are relatively hard to find.
  15. Discrete logarithms are fundamental to a number of public-key algorithms, including Diffie-Hellman key exchange and the digital signature algorithm (DSA). Discrete logs (or indices) share the properties of normal logarithms, and are quite useful. The logarithm of a number is defined to be the power to which some positive base (except 1) must be raised in order to equal that number. If working with modulo arithmetic, and the base is a primitive root, then an integral discrete logarithm exists for any residue. However whilst exponentiation is relatively easy, finding discrete logs is not, in fact is as hard as factoring a number. This is an example of a problem that is "easy" one way (raising a number to a power), but "hard" the other (finding what power a number is raised to giving the desired answer). Problems with this type of asymmetry are very rare, but are of critical usefulness in modern cryptography.
  16. Can you give an example in which solving the discrete log is simple? All finite groups are isomorphic to (Z n ,+) so why isn’t it always easy?
  17. Note that the only roots of unity for a prime are 1 and n-1. This algorithm gives a hint of why you should have a large prime factor for (p-1) and/or (q-1)
  18. Can you give an example in which solving the discrete log is simple? All finite groups are isomorphic to (Z n ,+) so why isn’t it always easy?
  19. Can you give an example in which solving the discrete log is simple? All finite groups are isomorphic to (Z n ,+) so why isn’t it always easy?
  20. Explain RSA breifly