10
Public-Key Cryptology An Asymmetrical Approach to Encryption

Public-Key Cryptology An Asymmetrical Approach to Encryption

Embed Size (px)

Citation preview

Page 1: Public-Key Cryptology An Asymmetrical Approach to Encryption

Public-Key Cryptology

An Asymmetrical Approach to Encryption

Page 2: Public-Key Cryptology An Asymmetrical Approach to Encryption

Overview

• Symmetric Cryptology

• Asymmetric Cryptology• Digital Signature

• Public-Key Utilization

• Output of Typical Java Public-Key Encryption Program• Security Discussion

• Q&A

Page 3: Public-Key Cryptology An Asymmetrical Approach to Encryption

Symmetric Cryptology

• A (unlocked); B(locked)

• A > B (Locking)

• B > A (Unlocking)

Page 4: Public-Key Cryptology An Asymmetrical Approach to Encryption

Digital Signature

• A, C (Locked); B (Unlocked)

• A > B > C (Private Key)

• C > B > A (Public Key)

Page 5: Public-Key Cryptology An Asymmetrical Approach to Encryption

Public-Key Utilization

• Reverse of the digital signature method.

• Public key is used first.

• C > B > A (Public Key)

• A > B > C (Private Key)

• Only the person with the private key can access this message.

Page 6: Public-Key Cryptology An Asymmetrical Approach to Encryption

Java Program Output

• Keys are just very large integers. (BigIntegers)

• This program utilizes the BigInteger class to make keys.

• Output on next slide.

Page 7: Public-Key Cryptology An Asymmetrical Approach to Encryption

Output

Plaintext: Yellow and Black Border Collies

Ciphertext:9836616982166653482645006372197464130512685598624446688038209259229811715639585877358783636599416258581268159312178855357078473798790637852219720576465697138560292629947891863632967992128391246425929118796048947648339967197944410272433013222944564883825985745203197057480292429589977355320433224626523346630

Plaintext: Yellow and Black Border Collies

Page 8: Public-Key Cryptology An Asymmetrical Approach to Encryption

Brute Force

• The only guaranteed method for decrypting an encrypted message without a key is through a brute-force method.

• Test every integer until it matches the correct key.

• Use the found BigInteger to decrypt the message.

• This can take a considerable amount of time.

• Thus, public-key encryption is extremely secure.