RSA and Eisenstein Integers

94
RSA Cryptosystem and Eisenstein Integers Cahlen Humphreys Math 406: Number Theory May 9, 2013

description

Showing properties needed for RSA algorithm with Eisenstein integers.

Transcript of RSA and Eisenstein Integers

Page 1: RSA and Eisenstein Integers

RSA Cryptosystem and Eisenstein Integers

Cahlen Humphreys

Math 406: Number Theory

May 9, 2013

Page 2: RSA and Eisenstein Integers

Introduction

The RSA cryptosystem is a public-key cryptography alogrithm in whichsecurity is dependent upon the difficulty of factoring a number which isthe product of two large primes [1].

Developed in 1977.

Ron [R]ivest, Adi [S]hamir, and Leonard [A]dleman.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 2 / 25

Page 3: RSA and Eisenstein Integers

Introduction

The RSA cryptosystem is a public-key cryptography alogrithm in whichsecurity is dependent upon the difficulty of factoring a number which isthe product of two large primes [1].

Developed in 1977.

Ron [R]ivest, Adi [S]hamir, and Leonard [A]dleman.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 2 / 25

Page 4: RSA and Eisenstein Integers

Introduction

The RSA cryptosystem is a public-key cryptography alogrithm in whichsecurity is dependent upon the difficulty of factoring a number which isthe product of two large primes [1].

Developed in 1977.

Ron [R]ivest, Adi [S]hamir, and Leonard [A]dleman.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 2 / 25

Page 5: RSA and Eisenstein Integers

Introduction

The Eisenstein integers are a commutative ring Z[ω], and are of the formz = a + bω. They are named after the mathematician Gotthold Eisenstein,and are also know informally as Eulerian integers. In the complex planeEisentstein integers from a triangle lattice, as pictured above.

Z[ω] =

{a + bω : a, b ∈ Z, ω =

−1 + i√

3

2

}

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 3 / 25

Page 6: RSA and Eisenstein Integers

Introduction

The Eisenstein integers are a commutative ring Z[ω], and are of the formz = a + bω. They are named after the mathematician Gotthold Eisenstein,and are also know informally as Eulerian integers. In the complex planeEisentstein integers from a triangle lattice, as pictured above.

Z[ω] =

{a + bω : a, b ∈ Z, ω =

−1 + i√

3

2

}

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 3 / 25

Page 7: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 8: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithm

ii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 9: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 10: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 11: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)

ii Euclidean Domain Proofiii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 12: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 13: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primes

iv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 14: RSA and Eisenstein Integers

Table of Contents

I RSA Algorithm

i Description of the algorithmii Example

II Eisenstein Integers

i Description (Some lemmas and theorems)ii Euclidean Domain Proof

iii Primesiv Example of GCD

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 4 / 25

Page 15: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 16: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.

2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 17: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.

3 Take φ(N).φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 18: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 19: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 20: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.

5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of emodulo φ(N))

6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 21: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))

6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 22: RSA and Eisenstein Integers

RSA Algorithm

Suppose Alice and Bob want to communicate in a private manner.1 Bob creates a private key.

1 Choose two large primes p, q ∈ Z.2 Let N = pq, we call N the public modulus.3 Take φ(N).

φ(N) = φ(pq) = φ(p)φ(q) = (p − 1)(q − 1), because p, q are primes.

4 Choose e ∈ Z such that 0 < e < φ(N), and gcd (e, φ(N)) = 1.5 Let d ≡ e−1 mod φ(N). (ie. d is the multiplcative inverse of e

modulo φ(N))6 Bob’s public key is (e,N), and private key is d .

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 5 / 25

Page 23: RSA and Eisenstein Integers

RSA Algorithm

Alice, pictured above, has a message which she wishes to send to Bob in aprivate manner. Let the message M < N be some integer value afterconverting the message into numbers.

1 Alice takes Bob’s public key (e,N) and performs the followingoperation:

C = Me mod NC is Alice’s ciphertext. Alice then sends C to Bob.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 6 / 25

Page 24: RSA and Eisenstein Integers

RSA Algorithm

Alice, pictured above, has a message which she wishes to send to Bob in aprivate manner. Let the message M < N be some integer value afterconverting the message into numbers.

1 Alice takes Bob’s public key (e,N) and performs the followingoperation:

C = Me mod NC is Alice’s ciphertext. Alice then sends C to Bob.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 6 / 25

Page 25: RSA and Eisenstein Integers

RSA Algorithm

Alice, pictured above, has a message which she wishes to send to Bob in aprivate manner. Let the message M < N be some integer value afterconverting the message into numbers.

1 Alice takes Bob’s public key (e,N) and performs the followingoperation:

C = Me mod N

C is Alice’s ciphertext. Alice then sends C to Bob.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 6 / 25

Page 26: RSA and Eisenstein Integers

RSA Algorithm

Alice, pictured above, has a message which she wishes to send to Bob in aprivate manner. Let the message M < N be some integer value afterconverting the message into numbers.

1 Alice takes Bob’s public key (e,N) and performs the followingoperation:

C = Me mod NC is Alice’s ciphertext. Alice then sends C to Bob.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 6 / 25

Page 27: RSA and Eisenstein Integers

RSA Algorithm

Bob recieves C from Alice and he now wishes to decrypt the message.

1 Bob takes C and and is able to retrieve M by the followingcomputation:

M = C d mod N.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 7 / 25

Page 28: RSA and Eisenstein Integers

RSA Algorithm

Bob recieves C from Alice and he now wishes to decrypt the message.1 Bob takes C and and is able to retrieve M by the following

computation:

M = C d mod N.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 7 / 25

Page 29: RSA and Eisenstein Integers

RSA Algorithm

Bob recieves C from Alice and he now wishes to decrypt the message.1 Bob takes C and and is able to retrieve M by the following

computation:

M = C d mod N.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 7 / 25

Page 30: RSA and Eisenstein Integers

RSA Algorithm Overview

1 Choose primes p, q ∈ Z.

2 Let N = pq.

3 Choose e ∈ Z such that 0 < e < φ(N) and gcd (e, φ(N)) = 1.

4 Find multiplicative inverse of e, d ≡ e−1 mod φ(N).

5 (e,N) - Public Key.

6 d - Private Key.

7 Take a message M ∈ Z such that M < N.8 Encrypt: C = Me mod N.

C - Ciphertext

9 Decrypt: M = Cd mod N.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 8 / 25

Page 31: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 32: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 33: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 34: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 35: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 36: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 37: RSA and Eisenstein Integers

RSA Example

Let p = 11 and q = 13. Let N = pq = (11)(13) = 143.

Then φ(N) = (11− 1)(13− 1) = (10)(12) = 120.

Let e = 23, and note 0 < 23 < 120, and gcd (23, 120) = 1.

Then d = 47, because 47 · 23 ≡ 1 mod 120.

Let our message converted to a number be M = 75.

To find C we compute 7523 mod 143, and find that C = 69, whereC is our ciphertext.

To retrieve our message we compute 6947 mod 143 = 75.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 9 / 25

Page 38: RSA and Eisenstein Integers

Eisenstein Integers

The Eisenstein integers can be described as the set

Z[ω] =

{a + bω : a, b ∈ Z, ω =

−1 + i√

3

2

}

Lemma (1)

ω2 = ω:

ω2 =

(−1 + i

√3

2

)(−1 + i

√3

2

)=

1 + i2(3)− i√

3− i√

3

4

=−2− 2i

√2

4

=−1− i

√3

2= ω

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 10 / 25

Page 39: RSA and Eisenstein Integers

Eisenstein Integers

The Eisenstein integers can be described as the set

Z[ω] =

{a + bω : a, b ∈ Z, ω =

−1 + i√

3

2

}

Lemma (1)

ω2 = ω:

ω2 =

(−1 + i

√3

2

)(−1 + i

√3

2

)=

1 + i2(3)− i√

3− i√

3

4

=−2− 2i

√2

4

=−1− i

√3

2= ω

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 10 / 25

Page 40: RSA and Eisenstein Integers

Eisenstein Integers

Lemma (2)

ω2 + ω + 1 = 0

Lemma (3)

ωω = ωω2 = ω3 = 1

Lemma (4)

ω = −1− ω.Proof. From Lemma 2 we have ω2 + ω + 1 = 0, and from Lemma 1 wehave that ω2 = ω. So we simply substitute:

ω2 + ω + 1 = 0 =⇒ ω + ω + 1 = 0

=⇒ ω = −1− ω �

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 11 / 25

Page 41: RSA and Eisenstein Integers

Eisenstein Integers

Lemma (2)

ω2 + ω + 1 = 0

Lemma (3)

ωω = ωω2 = ω3 = 1

Lemma (4)

ω = −1− ω.Proof. From Lemma 2 we have ω2 + ω + 1 = 0, and from Lemma 1 wehave that ω2 = ω. So we simply substitute:

ω2 + ω + 1 = 0 =⇒ ω + ω + 1 = 0

=⇒ ω = −1− ω �

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 11 / 25

Page 42: RSA and Eisenstein Integers

Eisenstein Integers

Lemma (2)

ω2 + ω + 1 = 0

Lemma (3)

ωω = ωω2 = ω3 = 1

Lemma (4)

ω = −1− ω.Proof. From Lemma 2 we have ω2 + ω + 1 = 0, and from Lemma 1 wehave that ω2 = ω. So we simply substitute:

ω2 + ω + 1 = 0 =⇒ ω + ω + 1 = 0

=⇒ ω = −1− ω �

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 11 / 25

Page 43: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

The next thing we want to show is that Z[ω] forms a Euclidean domain.

Why do we care?

ED =⇒ UFD (Unique Factorization) [2]Division AlgorithmModular Arithmetic

Things we need for RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 12 / 25

Page 44: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

The next thing we want to show is that Z[ω] forms a Euclidean domain.

Why do we care?

ED =⇒ UFD (Unique Factorization) [2]Division AlgorithmModular Arithmetic

Things we need for RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 12 / 25

Page 45: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

The next thing we want to show is that Z[ω] forms a Euclidean domain.

Why do we care?

ED =⇒ UFD (Unique Factorization) [2]

Division AlgorithmModular Arithmetic

Things we need for RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 12 / 25

Page 46: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

The next thing we want to show is that Z[ω] forms a Euclidean domain.

Why do we care?

ED =⇒ UFD (Unique Factorization) [2]Division Algorithm

Modular Arithmetic

Things we need for RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 12 / 25

Page 47: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

The next thing we want to show is that Z[ω] forms a Euclidean domain.

Why do we care?

ED =⇒ UFD (Unique Factorization) [2]Division AlgorithmModular Arithmetic

Things we need for RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 12 / 25

Page 48: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

The next thing we want to show is that Z[ω] forms a Euclidean domain.

Why do we care?

ED =⇒ UFD (Unique Factorization) [2]Division AlgorithmModular Arithmetic

Things we need for RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 12 / 25

Page 49: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

Definition

Given α = a + bω ∈ Z[ω],Define N : Z[ω]\{0} → Z : α 7→ N(α) = αα = a2 − ab + b2.

Theorem

Given α, β ∈ Z[ω], then the norm function is multiplicative.

N(αβ) = N(α)N(β)

Theorem (4)

Given α, β ∈ Z[ω], there exists u, v ∈ Q such that β/α = u + vω.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 13 / 25

Page 50: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

Definition

Given α = a + bω ∈ Z[ω],Define N : Z[ω]\{0} → Z : α 7→ N(α) = αα = a2 − ab + b2.

Theorem

Given α, β ∈ Z[ω], then the norm function is multiplicative.

N(αβ) = N(α)N(β)

Theorem (4)

Given α, β ∈ Z[ω], there exists u, v ∈ Q such that β/α = u + vω.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 13 / 25

Page 51: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

Definition

Given α = a + bω ∈ Z[ω],Define N : Z[ω]\{0} → Z : α 7→ N(α) = αα = a2 − ab + b2.

Theorem

Given α, β ∈ Z[ω], then the norm function is multiplicative.

N(αβ) = N(α)N(β)

Theorem (4)

Given α, β ∈ Z[ω], there exists u, v ∈ Q such that β/α = u + vω.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 13 / 25

Page 52: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

We now have what we need to prove that Z[ω] forms a Euclidean Domain.

Theorem

Z[ω] forms a Euclidean Domain under the norm N(a+ bω) = a2− ab + b2.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 14 / 25

Page 53: RSA and Eisenstein Integers

Z[ω] forms a Euclidean Domain

We now have what we need to prove that Z[ω] forms a Euclidean Domain.

Theorem

Z[ω] forms a Euclidean Domain under the norm N(a+ bω) = a2− ab + b2.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 14 / 25

Page 54: RSA and Eisenstein Integers

Primes in Z[ω]

Lemma

The only units of Z[ω] are ±1,±ω, and ±ω2. (ie. The only numbers inZ[ω] such that the the norm is equal to 1).

N(±1 + 0ω) = 12 − 1(0) + 02 = 1

N(0± ω) = 02 − 0(1) + 12 = 1

N(0± ω2) = N(−1− ω) = N(1 + ω) = 12 − 1(1) + 12 = 1

Recall, Lemma 3 implies that ω2 = −1− ω and −ω2 = 1 + ω.

Definition

An Eisenstein prime is a number that cannot be expressed as a product ofother Eisenstein integers. The only factors are itself, its conjugate, and theunits ±1,±ω,±ω2.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 15 / 25

Page 55: RSA and Eisenstein Integers

Primes in Z[ω]

Lemma

The only units of Z[ω] are ±1,±ω, and ±ω2. (ie. The only numbers inZ[ω] such that the the norm is equal to 1).

N(±1 + 0ω) = 12 − 1(0) + 02 = 1

N(0± ω) = 02 − 0(1) + 12 = 1

N(0± ω2) = N(−1− ω) = N(1 + ω) = 12 − 1(1) + 12 = 1

Recall, Lemma 3 implies that ω2 = −1− ω and −ω2 = 1 + ω.

Definition

An Eisenstein prime is a number that cannot be expressed as a product ofother Eisenstein integers. The only factors are itself, its conjugate, and theunits ±1,±ω,±ω2.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 15 / 25

Page 56: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 57: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.

2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 58: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 59: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }

3 Complex numbers α = a + bω where N(α) is prime in Z andN(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 60: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 61: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 62: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care?

RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 63: RSA and Eisenstein Integers

Primes in Z[ω]

Primes in Z[ω] fall into one of three categories:

1 (1− ω), often considered the loneliest prime.2 Positive prime integers x ∈ Z, such that x ≡ 2 mod 3.

Example: {2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, 101, . . . }3 Complex numbers α = a + bω where N(α) is prime in Z and

N(α) ≡ 1 mod 3.

Example: N(2 + 3ω) = 7 ≡ 1 mod 3, so 2 + 3ω is prime in Z[ω]. But7 = (2− ω)(2− ω2), and hence 7 is not prime in Z[ω].

Why do we care? RSA.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 16 / 25

Page 64: RSA and Eisenstein Integers

GCD in Z[ω]

We also need to be able to take the greatest common divisor of twoEisenstein integers in order to have an RSA cryptosystem.

Example: We will take the gcd (4 + 5ω, 5 + 7ω). First we take the norm ofboth, from this we can determine if either of them are prime.

N(5 + 7ω) = 52 − 5(7) + 72

= 25− 35 + 49

= −10 + 49

= 39

N(4 + 5ω) = 42 − 4(5) + 52

= 16− 20 + 25

= −4 + 24

= 21

And neither 39 nor 21 are prime in Z, hence they are not prime in Z[ω].

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 17 / 25

Page 65: RSA and Eisenstein Integers

GCD in Z[ω]

We also need to be able to take the greatest common divisor of twoEisenstein integers in order to have an RSA cryptosystem.Example: We will take the gcd (4 + 5ω, 5 + 7ω).

First we take the norm ofboth, from this we can determine if either of them are prime.

N(5 + 7ω) = 52 − 5(7) + 72

= 25− 35 + 49

= −10 + 49

= 39

N(4 + 5ω) = 42 − 4(5) + 52

= 16− 20 + 25

= −4 + 24

= 21

And neither 39 nor 21 are prime in Z, hence they are not prime in Z[ω].

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 17 / 25

Page 66: RSA and Eisenstein Integers

GCD in Z[ω]

We also need to be able to take the greatest common divisor of twoEisenstein integers in order to have an RSA cryptosystem.Example: We will take the gcd (4 + 5ω, 5 + 7ω). First we take the norm ofboth, from this we can determine if either of them are prime.

N(5 + 7ω) = 52 − 5(7) + 72

= 25− 35 + 49

= −10 + 49

= 39

N(4 + 5ω) = 42 − 4(5) + 52

= 16− 20 + 25

= −4 + 24

= 21

And neither 39 nor 21 are prime in Z, hence they are not prime in Z[ω].

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 17 / 25

Page 67: RSA and Eisenstein Integers

GCD in Z[ω]

We also need to be able to take the greatest common divisor of twoEisenstein integers in order to have an RSA cryptosystem.Example: We will take the gcd (4 + 5ω, 5 + 7ω). First we take the norm ofboth, from this we can determine if either of them are prime.

N(5 + 7ω) = 52 − 5(7) + 72

= 25− 35 + 49

= −10 + 49

= 39

N(4 + 5ω) = 42 − 4(5) + 52

= 16− 20 + 25

= −4 + 24

= 21

And neither 39 nor 21 are prime in Z, hence they are not prime in Z[ω].

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 17 / 25

Page 68: RSA and Eisenstein Integers

GCD in Z[ω]

Now we take the integer with the larger norm divide it by the integer withthe smaller norm.

5 + 7ω

4 + 5ω=

5 + 7ω

4 + 5ω

(4 + 5ω

4 + 5ω

)=

(5 + 7ω)(4 + 5ω)

16 + 25(1) + 20ω + 20ω

=(5 + 7ω)(4 + 5ω)

41 + 20(ω + ω2)

=(5 + 7ω)(4 + 5ω)

41 + 20(−1)

=20 + 35ωω + 28ω + 25ω

21

=20 + 35 + 28ω + 25(−1− ω)

21

=55 + 28ω − 25− 25ω

21

=30 + 3ω

21= 1.42 + 0.14ω

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 18 / 25

Page 69: RSA and Eisenstein Integers

GCD in Z[ω]

Now we take the integer with the larger norm divide it by the integer withthe smaller norm.

5 + 7ω

4 + 5ω=

5 + 7ω

4 + 5ω

(4 + 5ω

4 + 5ω

)=

(5 + 7ω)(4 + 5ω)

16 + 25(1) + 20ω + 20ω

=(5 + 7ω)(4 + 5ω)

41 + 20(ω + ω2)

=(5 + 7ω)(4 + 5ω)

41 + 20(−1)

=20 + 35ωω + 28ω + 25ω

21

=20 + 35 + 28ω + 25(−1− ω)

21

=55 + 28ω − 25− 25ω

21

=30 + 3ω

21= 1.42 + 0.14ω

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 18 / 25

Page 70: RSA and Eisenstein Integers

GCD in Z[ω]

Now we take the integer with the larger norm divide it by the integer withthe smaller norm.

5 + 7ω

4 + 5ω=

5 + 7ω

4 + 5ω

(4 + 5ω

4 + 5ω

)=

(5 + 7ω)(4 + 5ω)

16 + 25(1) + 20ω + 20ω

=(5 + 7ω)(4 + 5ω)

41 + 20(ω + ω2)

=(5 + 7ω)(4 + 5ω)

41 + 20(−1)

=20 + 35ωω + 28ω + 25ω

21

=20 + 35 + 28ω + 25(−1− ω)

21

=55 + 28ω − 25− 25ω

21

=30 + 3ω

21= 1.42 + 0.14ω

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 18 / 25

Page 71: RSA and Eisenstein Integers

GCD in Z[ω]

We now take the closest integer values of 1.42 and 0.14,

[1.42] = 1

[0.14] = 0

So we let our quotient q = 1 + 0ω. We now have that

5 + 7ω = (4 + 5ω)(1) + r =⇒ r = (5 + 7ω)− (4 + 5ω)

therefore, r = 1 + 2ω.Hence,

5 + 7ω︸ ︷︷ ︸a

= (4 + 5ω︸ ︷︷ ︸b

)( 1︸︷︷︸q

) + (1 + 2ω︸ ︷︷ ︸r

)

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 19 / 25

Page 72: RSA and Eisenstein Integers

GCD in Z[ω]

We now take the closest integer values of 1.42 and 0.14,

[1.42] = 1

[0.14] = 0

So we let our quotient q = 1 + 0ω. We now have that

5 + 7ω = (4 + 5ω)(1) + r =⇒ r = (5 + 7ω)− (4 + 5ω)

therefore, r = 1 + 2ω.Hence,

5 + 7ω︸ ︷︷ ︸a

= (4 + 5ω︸ ︷︷ ︸b

)( 1︸︷︷︸q

) + (1 + 2ω︸ ︷︷ ︸r

)

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 19 / 25

Page 73: RSA and Eisenstein Integers

GCD in Z[ω]

We now take the closest integer values of 1.42 and 0.14,

[1.42] = 1

[0.14] = 0

So we let our quotient q = 1 + 0ω. We now have that

5 + 7ω = (4 + 5ω)(1) + r =⇒ r = (5 + 7ω)− (4 + 5ω)

therefore, r = 1 + 2ω.

Hence,

5 + 7ω︸ ︷︷ ︸a

= (4 + 5ω︸ ︷︷ ︸b

)( 1︸︷︷︸q

) + (1 + 2ω︸ ︷︷ ︸r

)

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 19 / 25

Page 74: RSA and Eisenstein Integers

GCD in Z[ω]

We now take the closest integer values of 1.42 and 0.14,

[1.42] = 1

[0.14] = 0

So we let our quotient q = 1 + 0ω. We now have that

5 + 7ω = (4 + 5ω)(1) + r =⇒ r = (5 + 7ω)− (4 + 5ω)

therefore, r = 1 + 2ω.Hence,

5 + 7ω︸ ︷︷ ︸a

= (4 + 5ω︸ ︷︷ ︸b

)( 1︸︷︷︸q

) + (1 + 2ω︸ ︷︷ ︸r

)

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 19 / 25

Page 75: RSA and Eisenstein Integers

GCD in Z[ω]

Now we must find q1 and r1 such that

4 + 5ω = (1 + 2ω)q1 + r1.

So we rinse and repeat. We divide 4 + 5ω by 1 + 2ω, and omitting thealgebra we end up with

4 + 5ω

1 + 2ω= 2− ω

which implies that

4 + 5ω = (1 + 2ω)(2− ω) + 0

and therefore, gcd(5 + 7ω, 4 + 5ω) = 1 + 2ω.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 20 / 25

Page 76: RSA and Eisenstein Integers

GCD in Z[ω]

Now we must find q1 and r1 such that

4 + 5ω = (1 + 2ω)q1 + r1.

So we rinse and repeat. We divide 4 + 5ω by 1 + 2ω, and omitting thealgebra we end up with

4 + 5ω

1 + 2ω= 2− ω

which implies that

4 + 5ω = (1 + 2ω)(2− ω) + 0

and therefore, gcd(5 + 7ω, 4 + 5ω) = 1 + 2ω.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 20 / 25

Page 77: RSA and Eisenstein Integers

GCD in Z[ω]

Now we must find q1 and r1 such that

4 + 5ω = (1 + 2ω)q1 + r1.

So we rinse and repeat. We divide 4 + 5ω by 1 + 2ω, and omitting thealgebra we end up with

4 + 5ω

1 + 2ω= 2− ω

which implies that

4 + 5ω = (1 + 2ω)(2− ω) + 0

and therefore, gcd(5 + 7ω, 4 + 5ω) = 1 + 2ω.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 20 / 25

Page 78: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.

2 If α|β, then gcd (α, β) = α.1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 79: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 80: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).

2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 81: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).

3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 82: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.

4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 83: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 84: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 85: RSA and Eisenstein Integers

Generalized GCD Algorithm in Z[ω]

1 Take two numbers α, β ∈ Z[ω], where α 6= 0.2 If α|β, then gcd (α, β) = α.

1 If α 6 |β, then ∃u, v ∈ Q such that β/α = u + vω (Theorem 4).2 Let a = [u] and b = [v ] (ie. The closest integer value of u and v).3 Let r = β − (a + bω)α.4 Then β = α(a + bω) + r .

If ri = 0, then our GCD is ri−1. If ri 6= 0, we repeat the process untilri = 0.

Observe that this is very similar to the Euclidean Algorithm in Z.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 21 / 25

Page 86: RSA and Eisenstein Integers

Eulers φ function in Z[ω]

Wait for Paul!

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 22 / 25

Page 87: RSA and Eisenstein Integers

Conclusion

Can we have an RSA cryptosystem using Eisenstein integers?

Yes.

Is it any more secure than RSA using using regular integers?

Probably not, however more time and research would be needed to givea completely accurate assessment.

What did I learn?

More about Z[ω] than I ever thought I would, and lots of Algebra.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 23 / 25

Page 88: RSA and Eisenstein Integers

Conclusion

Can we have an RSA cryptosystem using Eisenstein integers?

Yes.

Is it any more secure than RSA using using regular integers?

Probably not, however more time and research would be needed to givea completely accurate assessment.

What did I learn?

More about Z[ω] than I ever thought I would, and lots of Algebra.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 23 / 25

Page 89: RSA and Eisenstein Integers

Conclusion

Can we have an RSA cryptosystem using Eisenstein integers?

Yes.

Is it any more secure than RSA using using regular integers?

Probably not, however more time and research would be needed to givea completely accurate assessment.

What did I learn?

More about Z[ω] than I ever thought I would, and lots of Algebra.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 23 / 25

Page 90: RSA and Eisenstein Integers

Conclusion

Can we have an RSA cryptosystem using Eisenstein integers?

Yes.

Is it any more secure than RSA using using regular integers?

Probably not, however more time and research would be needed to givea completely accurate assessment.

What did I learn?

More about Z[ω] than I ever thought I would, and lots of Algebra.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 23 / 25

Page 91: RSA and Eisenstein Integers

Conclusion

Can we have an RSA cryptosystem using Eisenstein integers?

Yes.

Is it any more secure than RSA using using regular integers?

Probably not, however more time and research would be needed to givea completely accurate assessment.

What did I learn?

More about Z[ω] than I ever thought I would, and lots of Algebra.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 23 / 25

Page 92: RSA and Eisenstein Integers

Conclusion

Can we have an RSA cryptosystem using Eisenstein integers?

Yes.

Is it any more secure than RSA using using regular integers?

Probably not, however more time and research would be needed to givea completely accurate assessment.

What did I learn?

More about Z[ω] than I ever thought I would, and lots of Algebra.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 23 / 25

Page 93: RSA and Eisenstein Integers

Future Work

Develop a fully functioning RSA cryptosystem using Eisenstein integers inMaple.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 24 / 25

Page 94: RSA and Eisenstein Integers

References

[1] R. Rivest, A. Shamir, and L. Adleman. A method for obtainingdigital signatures and public-key cryptosystems, Communications ofthe ACM. 21 (2): 120-126. 1978.

[2] Cameron, Peter J. Introduction to Algebra, Oxford UniversityPress, USA. 2008.

C. Humphreys (BSU) RSA Cryptosystem and Eisenstein Integers May 9, 2013 25 / 25