Symmetric Cryptography (fast, one key)
- DES (dataencryption standard)
-56-bitkey
- 3DES
-3different keys, each key is 56 bits
- AES(Advanced Encryption Standard)
-mostused
-keysize: 128, 192 or 256 bit
-blocksize:128 bit
- Blowfish
-key:32 to 448
-blocksize:64 bit
**BlockCipher vs Stream Cipher
-BinaryOR
-BinaryAND
-BinaryXOR (exclusive or)
Asymmetric Cryptography (slow, two key)
-Diffie-Hellman
- RSA
-widelyuse
-Howdoes it works?
-p,q : large random primes, e.g.: 128bit, 256 bit
-n=p*q
-m=(p-1)(q-1)
-e=smallnumber of n and m, and co-prime to m
-d=de%/m=1
Then,
=>e,nas public key
=>d,nas secret key
- EllipticCurve
public key and private key (one key encrypt, another keydecrypt)
Two Usage:
1:encrption the private message you send to me (confidential)
-you usepublic key to encrypt message then send to me
-then i canuse my only private key to read my message
2:to identify the message, or singature is send by me(authentication)
-I use private key to encrypt
-you getthe message, then use public key to decrypt
Hashing(ensure integrity, nothing change, one way)
- hidden password
- input:varies size of string
- ouput:fixed size string
- MD5
-e.g.:windows login password is one way hash, even the administrator cannot know thepassword, they can only reset password
Hash-Salt
- Salt canbe dynamic generated by system, and will add into user password, then do the Hashing. so even two users use the same password, but the salt is different, sothe hash value is different