mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-27 14:54:05 -06:00
vault backup: 2022-10-20 12:35:02
This commit is contained in:
parent
a17f1625ea
commit
8fa0c6896b
@ -29,11 +29,61 @@ what can trudy to
|
|||||||
|
|
||||||
terminology
|
terminology
|
||||||
- m: plaintext message
|
- m: plaintext message
|
||||||
-
|
- $K_{A}(m)$: ciphertext, encrypted with key $K_{A}$
|
||||||
|
- m = $K_{B}(K_{A}(m))$
|
||||||
|
- 
|
||||||
|
- key: secret data used to encrypt and decrypt messages
|
||||||
|
|
||||||
# Symmetric key crypto
|
# Symmetric key crypto
|
||||||
|
bob and alice share the same key K
|
||||||
|
- e.g., key is knowing a substitution pattern in mono alphabetic substitution cipher
|
||||||
|
- substiution cipher
|
||||||
|
- map each letter to a different letter
|
||||||
|
- key is a mapping from a set of 26 letters to another set of 26 letters
|
||||||
|
- not secure: easy to decrypt using patterns etc
|
||||||
|
|
||||||
|
DES: data encryption standard
|
||||||
|
- data is split into blocks of 64 bits
|
||||||
|
- each block encrypted using 56-bit key
|
||||||
|
- blocks are chained together
|
||||||
|
- encryption of current block is based on the previous block
|
||||||
|
- 56-bit symmetric key, 64 kit plaintext input
|
||||||
|
- not very secure: short key- only 56 bits - less than a day to brute force
|
||||||
|
- no known good analytic attack
|
||||||
|
- 3DES: encrypt 3 times with 3 different keys: more secure
|
||||||
|
|
||||||
|
AES: advanced encryption standard
|
||||||
|
- larger key 128, 192 or 256
|
||||||
|
- 128-bit blocks
|
||||||
|
- brute force taking 1 sec on DES takes 149 trillion years for AES
|
||||||
|
|
||||||
|
# Public key crypto
|
||||||
|
symmetric requires sharing of key
|
||||||
|
|
||||||
|
process
|
||||||
|
- sender and reciever do not share secret key
|
||||||
|
- public key known to all
|
||||||
|
- pricate key known ony to reciever
|
||||||
|
|
||||||
|
- use public key to encrypt
|
||||||
|
- use private key to decrypt
|
||||||
|
|
||||||
|
public key reqs
|
||||||
|
- 
|
||||||
|
|
||||||
|
RSA
|
||||||
|
- popular public key encruption algorithm
|
||||||
|
- how to generate keys
|
||||||
|
- choose two large prime numbers (1024 bits each)
|
||||||
|
- compute $n=pq, z=(p-1)(q-1)$
|
||||||
|
- choose e (with e<n) that has no common factors with z (e, z, are "relatively prime")
|
||||||
|
- choose d such that ed-1 is exactly divisible by z. (i.e., ed mod z = 1)
|
||||||
|
- public key is (n, e) private key in (n, d)
|
||||||
|
- encrypt message m (<n)
|
||||||
|
- $c = m^e\mod n$
|
||||||
|
- decrypt recieved c
|
||||||
|
- $c = m^e\mod n$
|
||||||
|
|
||||||
# Public key
|
|
||||||
|
|
||||||
# Authentication of devices
|
# Authentication of devices
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user