×key distribution : negotiation ×key management : n*(n-1)/2
TRANSCRIPT
Xu Bowen
Principle and Practice of Computer AlgorithmsSummer 2015
Simple Implementation of Algorithmin Data Encryption
Characteristics of Key:
Symmetric , Public
Processing of Plaintext :
Block (DES , Knapsack , RSA)Stream (RC4 , SEAL)
Categorization
∆ Symmetric Key Cryptosystem
∆ Public Key Cryptosystem
∆ Authentication
Symmetric Key Cryptosystem
DES Algorithm --- Feistel Structure
Stream Cipher --- Exclusive OR
Symmetric Key Cryptosystem
Disadvantages :
× Key Distribution : Negotiation
× Key Management : N*(N-1)/2
Public Key Cryptosystem
Knapsack Algorithm
Knapsack Algorithm
In 1978 , Knapsack System, a public key cryptosystem, was raised by Merkle and Hellman based on its intractability
Given N+1 Positive integers :and
Decide the solution of where
() called the vectors of knapsack
Knapsack Problem (01)
Known , calculating is easy
Oppositely , known calculating is difficult
• f[i-1][j-a[i]] = true -> f[i][j] = true, recording : g[i][j] = true;
• F[i-1][j] = true -> f[i][j] = true, recording : g[i][j] = false;
Knapsack Problem (01)
Knapsack Algorithm
Special vectors of knapsack :
When given a positive integer , calculating is easy
Generally, when , calculating is also easy
This kind of knapsack is called Super Increasing Knapsack
Knapsack Algorithm
Generating the vectors of super increasing knapsack
Choose two integers ,, W < M and gcd(W, M) = 1
Calculating
Calculating
Knapsack Algorithm
Public Key : k = (
Private Key : k’ = ()*(, because it can be easily calculated)
Knapsack Algorithm
Encryption :
Plaintext : m = () where Public Key : k = ()
Knapsack Algorithm
Decryption :
mod M () mod M () mod M () mod M
Super Increasing Knapsack
Public Key Cryptosystem
RSA Algorithm
RSA Algorithm
In 1978 , RSA System, a public key cryptosystem, was raised by Rivest , Shamire and Adleman based on Decomposition of BigNumber and Detection of Primes
RSA Algorithm
Generating two big primes P, Q (PQ)
Let n = P*Q, (n) = (P-1)*(Q-1)
Choose an integer e, where 1<e<(n) and gcd((n), e) = 1
Calculating (existence : ax+by=1)
Public Key : k =
Private Key : k’ = (P, Q, )
RSA Algorithm
Encryption :
Plaintext : m , where m < nPublic Key : k =
RSA Algorithm
Decryption :
*()
RSA Algorithm
Why must we need authentication ?
Authentication
Attack to Information Security :
Passive Attack : Cut-Out & Analysis
Active Attack : Forge , Resend , Distort , Reject
Denial : deny the info sender sends
Authentication
Defense :
Passive Attack : Encryption
Active Attack , Denial : Digital Signature
Authentication
Reliability
Unforgeability
Nonduplication
Unchangeability
Nonrepudiation
Digital Signature
Digital Signature
Info Info
Summary Summary
Hash Hash
Digital signature
Encryption (RSA) Decryption (RSA)
AUTHENTICATION
Private Key Public Key
Q & A
Thx for listening
Xu Bowen