53
www.novell.com The Secrets of Keeping Secrets Gary J Porter Senior Network Analyst MindWorks, Inc. of Kentucky [email protected]

The Secrets of Keeping Secrets

  • Upload
    jethro

  • View
    180

  • Download
    10

Embed Size (px)

DESCRIPTION

The Secrets of Keeping Secrets. Gary J Porter Senior Network Analyst MindWorks, Inc. of Kentucky [email protected]. Crypto—ASCII style. ASCII represents 27 bits (128) which can represent all of the English alphabet plus punctuation A = 1000001 a = 1100001 - PowerPoint PPT Presentation

Citation preview

Page 1: The Secrets of Keeping Secrets

www.novell.com

The Secrets of Keeping SecretsThe Secrets of Keeping Secrets

Gary J PorterSenior Network AnalystMindWorks, Inc. of [email protected]

Page 2: The Secrets of Keeping Secrets

Crypto—ASCII style

• ASCII represents 27 bits (128) which can represent all of the English alphabet plus punctuation

A = 1000001 a = 1100001

• Because ASCII uses bits to represent letters,

it’s a kind of cypher

Page 3: The Secrets of Keeping Secrets

Transposition Cipher

• One of the simplest transposition ciphers substitutes the first and second digits and the third and forth digits

• Megan ASCII— 1001101 1100101 1100111 1100001 1101110 Cypher— 0110101 0011101 0011111 0011001 0010110

• 5 ) 1 % “

Page 4: The Secrets of Keeping Secrets

Key-Based Algorithm

The security of key-based algorithms is based on

the secrecy of the algorithm, the key(s), or both

Page 5: The Secrets of Keeping Secrets

Private Key Cryptosystem(Symmetric)

Dear Cindy,

You are so

beautiful!

ANQR1DBw

4DokTETykx

LwQB/9JZe

7eCzXW

9iYVNOT

HWjioKOI

Dear Cindy,

You are so

beautiful!

ANQR1DBw

4DokTETykx

LwQB/9JZe

7eCzXW

9iYVNOT

HWjioKOI

Clear TextClear Text Clear TextClear TextCypher TextCypher Text Cypher TextCypher Text

Same Encryption KeySame Encryption Key

Page 6: The Secrets of Keeping Secrets

Modified Substitution Cipher

• Message = COOL

• In ASCII

• Key = MEGAN

• Ciphertext

1000010100111110011111001100

01101010011101001111100110010010110

1110111101001010100001010101

Key longer than message is okayKey longer than message is okay

Page 7: The Secrets of Keeping Secrets

Modified Substitution Cipher

• Can be broken with simple techniques• Not secure

SECURE

Page 8: The Secrets of Keeping Secrets

Whitfield Diffie

• Interested (obsessed!) with the key distribution problem

• Imagined two strangers meeting on the net—wondered how they would send secret messages

Page 9: The Secrets of Keeping Secrets

• Was reluctant to even talk to Diffie

• Eventually became Diffie’s crypto-partner

• Solved the key exchange problem

Martin Hellman

Page 10: The Secrets of Keeping Secrets

Cryptography: Algorithms and Keys

• A method of encryption and decryption is called a cipher

• Generally there are two related functions Encryption Decryption

• All modern algorithms use a key to control encryption and decryption

• Encryption key may be different from decryption key

Page 11: The Secrets of Keeping Secrets

From the Minds of Diffie/Hellman

• The postal problem...

Demonstration

Page 12: The Secrets of Keeping Secrets

Postman

To: Wilt Diffie

Wow! I can see inside. I think I’ll

take a look!

Got here safely.

Page 13: The Secrets of Keeping Secrets

Postman

I’ll lock it this time

Page 14: The Secrets of Keeping Secrets

Postman

Hummm!

I can’t see either—I’ll lock it too!

Page 15: The Secrets of Keeping Secrets

Postman

Page 16: The Secrets of Keeping Secrets

Postman

Page 17: The Secrets of Keeping Secrets

Postman

Page 18: The Secrets of Keeping Secrets

Postman

Page 19: The Secrets of Keeping Secrets

Postman

Page 20: The Secrets of Keeping Secrets

• Alice’s key abcdefghijklmnopqrstuvwxyz EDIRCTOYNUWAPFLMBGJZHKQXVS

• Bob’s key Abcdefghijklmnopqrstuvwxyz ZNAMSREVILYUCKOGJTBWDXQHPF

• Message lost my hotel key• Encrypted with Alice’s key ALJZ PV YLZCA WCV• Encrypted with Bob’s key UOBW CP VOWSU YSP• Decrypted with Alice’s key HLDQ IM KLQJH VJM• Decrypted with Bob’s key VUMJ IC YUJLV XLC

Why the Postal Example Won’t Work

Page 21: The Secrets of Keeping Secrets

One-Way Functions

• Diffie and Hellman were not interested in two-way functions, only solving the problem with one-way functions

• Because they could imagine the postal example, there MUST be a solution

Page 22: The Secrets of Keeping Secrets

sender receiver

Bob Alice

Page 23: The Secrets of Keeping Secrets

Enck

Types of Algorithms

Symmetric (Encryption)

M ciphertext ciphertext Mencryption decryption

Deck

kk

sender receiver

Bob Alice

Page 24: The Secrets of Keeping Secrets

One-Way Function

Demonstration

Page 25: The Secrets of Keeping Secrets

5 + 10 (mod 12) = 38 + 31 (mod 12) = 3

Page 26: The Secrets of Keeping Secrets

Diffie/Hellman Key Exchange Technique

Demonstration

Page 27: The Secrets of Keeping Secrets

2929292956565656

729 mod (98219) = 75149 756 mod (98219) = 67665

6766529 mod (98219)

40912

7514956 mod (98219)

40912

7N mod (98219)

75149

7N mod (98219)

67665

Page 28: The Secrets of Keeping Secrets

A Mathematical Genius?!

•Whitfield Diffie is best known for his 1975 discovery of the concept of Public Key Cryptography

Page 29: The Secrets of Keeping Secrets

Rivest Shamir Adleman

Page 30: The Secrets of Keeping Secrets

Types of AlgorithmsPublic Key (Asymmetric Encryption)

encryption decryption

M ciphertext ciphertext MEncpubkey Decprivkey

sender receiverprivkeyprivkeypubkeypubkey

Page 31: The Secrets of Keeping Secrets

encryption decryption

M ciphertext ciphertextEncpubkey Dec

privkeyprivkey

pubkey

pubkeypubkey

Types of AlgorithmsPublic Key (Asymmetric Encryption)

sender receiverpubkeypubkey

Page 32: The Secrets of Keeping Secrets

encryption

decryptionM ciphertext

ciphertext TRASH!TRASH!

Encpubkey

Dec

pubkeypubkey

pubkey

Types of AlgorithmsPublic Key (Asymmetric Encryption)

sender receiverpubkeypubkey privkeyprivkey

pubkeypubkey

Page 33: The Secrets of Keeping Secrets

Encryption and Decryption

The following identity must hold true

D(C) = M, where C = E(M)

M is the message, E is encryption, C is Ciphertext, D is decryption

Jna fq Jna fq

h5tunh5tun

b89d`b89d`

58jdf[58jdf[

835gj835gj

EE DDM

CCM

Page 34: The Secrets of Keeping Secrets

Secret Key Cryptography

K is the secret key shared by both the

sender (S) and receiver (R)

S R

Jna fq Jna fq

h5tunh5tun

b89d`b89d`

58jdf[58jdf[

835gj835gj

EE DDM

CCM

K K

Symmetric EncryptionSymmetric EncryptionSymmetric EncryptionSymmetric Encryption

Page 35: The Secrets of Keeping Secrets

Public Key Cryptography

KR(pub) is Receiver’s public key and KR(pri)

is Receiver’s private key

S R

Jna fq Jna fq

h5tunh5tun

b89d`b89d`

58jdf[58jdf[

835gj835gj

EE DDM

CCM

KR(pub) KR(pri)

Asymmetric EncryptionAsymmetric EncryptionAsymmetric EncryptionAsymmetric Encryption

Page 36: The Secrets of Keeping Secrets
Page 37: The Secrets of Keeping Secrets

• RSA works by using a mathematical function

that is (comparatively) easy to compute while encrypting, but very difficult to reverse without knowing the private key

• RSA works by selecting two large prime numbers

Page 38: The Secrets of Keeping Secrets

RSA Key Generation

• Pick large random primes p,q

• Let p*q = n and =(p-1)(q-1)

• Choose a random number e such that: 1<e< and gcd(e, )=1 (relative primes)

• Calculate the unique number d such that 1<d< and d*e 1 (mod ) (d is inverse of e)

• The public key is {e,n} and the private key is {d,n}

• The factors p and q may be kept private or destroyed

Page 39: The Secrets of Keeping Secrets

Pierre de Fermat

• Discovered that—if you use a prime number for the modulus, then raising a number to the power (prime-1) is always 1 m(p-1) mod p = 1 According to Fermat, this works with any prime

number p and any positive m that’s less than p, therefore 1 < m < p

• What is 710 mod 11

Page 40: The Secrets of Keeping Secrets

Leonhard Euler (pronounced “Oiler”)

• Discovered Fermat’s relationship held true when using the product of two primes as the modulus n = pq m(p-1)(q-1) mod n = 1 Works so long as p and q are relative prime to

one another

• If p = 11 and q=5, what is [m(p-1)(q-1) mod 55] ?

Page 41: The Secrets of Keeping Secrets

So...

Fermat: mFermat: m((pp-1)-1) mod mod pp = 1= 1

mm((pp-1)(-1)(qq-1)-1) mod mod nn = 1 = 1Euler:Euler:

Page 42: The Secrets of Keeping Secrets

So...

Fermat: Fermat: mm((pp-1)-1) mod mod pp = = 11

Euler: Euler: mm((pp-1)(-1)(qq-1)-1) mod mod nn = 1 = 1 mm((pp-1)-1) mod mod ppmm((pp-1)(-1)(qq-1)-1) mod mod nn

==

Page 43: The Secrets of Keeping Secrets

RSA Key Generation

• Pick large random primes p,q p = 5, q = 11

• Let p*q = n and =(p-1)(q-1) The encrypting modulus n = pq = 55

= (p-1)(q-1) = (4)(10) = 40

+ 1 = e * d (we’re looking for both e and d)

41 = e * d (but no two number multiplied together equal 41)

41 is prime but, using modular math — 41 becomes 1 mod 40

e * d = 1 mod 40

Page 44: The Secrets of Keeping Secrets

RSA Key Generation

• We’ll use 3 for e

• 3 * d = 1 mod 40 Using Extended Euclidian algorithm, d = 27

Page 45: The Secrets of Keeping Secrets

Encrypting Using RSA (Review)

• Step 1: generate two prime numbers, p and q

• Step 2: Combine the primes n=pq • Step 3: Combine the primes another way,

=(p-1)(q-1)• Step 4: Using , generate a key pair, e and d• Step 5: Using e, d, and n, encrypt and

decrypt

Page 46: The Secrets of Keeping Secrets

RSA Mechanical Overview

• Basically Alice: me mod n → c Bob: cd mod n → m

Page 47: The Secrets of Keeping Secrets

• Lets encrypt the letter “G” (for Gary) For simplicity sake, we’ll represent “g” as 7, the

7th letter of the alphabet

• So, 7public key * encrypting modulus 73 * mod 55 = 13

• To decrypt, 13private key * encrypting modulus 1327 * mod 55 = 7

Encrypting/Decrypting, Step—by—Step

Page 48: The Secrets of Keeping Secrets

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: PGP Personal Security 7.0.3

mQGiBDtsK/URBAD+OujjPRvMu22fq9T78fRA2ijOzzKH9HeXHZ81x8C3D/wJF7ea

1ToD42sk6kV6+fcI2JGV4YrApXkzu7TfmU8T5eUxPsk4YY7q4ZP7JCmTVwPWeROJ

ZH6QHjyBQUm792trCFbmuOl+t5PjY8TZwBBo4Hrm/kvgex+OfqzZEi4hlwCg/2YV

HCcvjAKa/tfDgaq9ei9NZW8D/0WiVnOqZUSqlBfG69oi0PGWtRXiJqIKsZj6Ljtw

qtxk3W5G+BqWOcI+Az3m2pGoaXzlz7z9n1iDx0ZufNzLu38/wh9FZe86817V9Y8X

jvSTf0UY/T7+BbMNF1OquUz9BaSis+a6tvsoF1Ya/657IkLhCO4CEHOc+eggFtkV

r+0eBACfHMZ4x5dxj+YtOV5eN5gxQcyjAB2NFBj+GFnBV2wezX3D6TaHpx3VwEZh

AHDeSLySoRs6bmhmd16mVdsgE/u5Em49Sc1Y59WzJGwfKAis6hHhDt4Htyhum281

impMbkEZAxIgbQplWoUivxk8LwuLjMfrfdq0+WWeLF4fJUGWBLQkR2FyeSBKIFBv

cnRlciA8cG9ydGVyQGRpZ2l0YWxtZS5jb20+iQBYBBARAgAYBQI7bCv1CAsDCQgH

AgEKAhkBBRsDAAAAAAoJENkIAq1B47uW7F8AoNfRgtp+9IYs/gpcLxT8XVlul54f

AKDH6bA2D4CR2l1sxW71RFIWEMX+CrkCDQQ7bCv1EAgA9kJXtwh/CBdyorrWqULz

Bej5UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHT

UPj1WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq

01uejaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O

9vPJI8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcK

ctaGxAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TIL

OwACAggA7WTvMQ0WgywmeT2+ZdQTio1UvBtkLZTV5PBTWLnMXhSAL+JIY2D4xnP4

Coh+Mf2PuZ6c4IxpFVF/ywnekW2wX53qqWV0tjbTcbQ7lwkg276hQPUOfWU7UaZn

cyxFznRPc2OiO6SpzIpcVHY1nJ8uLOvhSTU67vTOonNri5zlR/ev91SPK1azTjtQ

W7jqb+v2z72Lxh/BgtDiFld8cXMmbHYdjZ9cPpW0JsKZ+tBwl2SsJXtopst4PYmw

2hoLYA0DS+Q0X8OIxROLxQXqinEaKhjP+s6XU+q9x85McR9mT8HaCdliE1W0yToL

2dLHnwEKBBDN5vLi8+SnHjTRNU/b7IkATAQYEQIADAUCO2wr9QUbDAAAAAAKCRDZ

CAKtQeO7luHBAJ45z2IW9D0g/2pZVSHFwzTsDOob3QCg+6rozdE+M57CTDNQE5Ay

uoxxTWE=

=DeGR

-----END PGP PUBLIC KEY BLOCK-----

Gary J Porter’s PGP Public Key

Page 49: The Secrets of Keeping Secrets

An eDirectory Public Key

Page 50: The Secrets of Keeping Secrets

An eDirectory Private Key

Page 51: The Secrets of Keeping Secrets

Novell International Cryptographic Infrastructure (NICI)

• NICI is a layered, hierarchical infrastructure which divides cryptographic functionality among three distinct layers

• NICI is a modular architecture that allows new cryptographic algorithms to be added without bringing the server down

• NICI modules are cryptographically signed for protection and for module authentication

• When government regulations concerning the use and exportation of cryptography change, only NICI needs to change to support the new regulations

• NICI provides an API set that offers a consistent interface for application developers to use and deploy cryptography within their applications

Page 52: The Secrets of Keeping Secrets

NICI Architecture

XIMXIM

XENGXENG

NICI—Novell International Cryptographic Infrastructure

XSUP – Cryptography Library XENG – Cryptography Manager XMGR – Cryptography Engine XLIB - Cryptography Engine Support

XIM - Cryptography Interface Manager

XSUPXSUPXMGRXMGR XLIBXLIB

CCS APICCS API

Page 53: The Secrets of Keeping Secrets