Cellular Encryption(MS PowerPoint presentation)

rucksackbulgeAI and Robotics

Dec 1, 2013 (3 years and 8 months ago)

94 views

Cellular Encryption


CREU Project

Team:

Alburn Brown

Orkun Kaya

Isaac Rieksts

Eric Thorpe

2004

Kutztown University

2

Overview


Construct software simulation


Compare 3 cellular encryption algorithms


Choose the best one


Implement it in hardware


2004

Kutztown University

3

Background :: Cellular
Computation


Cellular Automata


Cellular Automata with Shadow Cells


Hybrid Cellular Automata


Integer Functions


Cellular Encryption


2004

Kutztown University

4

Cellular Automata


John von Neumann


Uniform cells


“Peer Pressure Automata”


Uniform transition function


Turing Machine computing power


2004

Kutztown University

5

Cellular Automata

with Shadow Cells


Need to compute integer functions


Limitation of classic CAs


Shadow cells enable integer computation


Wasted memory


2004

Kutztown University

6

Hybrid Cellular Automata


Relaxing the uniform transition rule


Memory savings


All integer functions computable


2004

Kutztown University

7

Integer Functions


Block cipher = integer function


Example: RSA


How many integer functions?


How many identity avoiding functions?



2004

Kutztown University

8

Block Cipher = Integer Function


An integer can represent any text string


Let p represent a given plaintext


Let c represent the corresponding ciphertext


Then f(p) = c represents the encryption


And f
-
1
(c) = p represents the decryption


Both f and f
-
1

are integer functions



2004

Kutztown University

9

RSA is an integer function


Encryption: f(p) = p
e

mod n


e is encryption key


n = p*q


p & q, two very large primes


Decryption: f
-
1
(c) = c
d

mod n


d is decryption key


e*d mod
f
(n) = 1


f
(n) is Euler totient function


f
(n) = (p
-
1)*(q
-
1)


Clearly an integer function


2004

Kutztown University

10

How Many Integer Functions?


Consider all 1
-
1 and onto functions


Let range be 0 to N
-
1.


Each function is one arrangement of integers
0 to N
-
1, i.e., a permutation.


Number of functions = number of
permutations


How many?
N!


2004

Kutztown University

11

How Many Are Identity
Avoiding?


Want to avoid:



f(p) = p, for all p within the range


We call such functions “identity avoiding”


How many such functions?



1
-
1, onto, identity avoiding functions



Over the integers: 0 to N
-
1



N! / e


2004

Kutztown University

12

Identity Avoiding Integer
Functions


Over the integers 0 to M
-
1


There are :: N! / e


e is a constant


Order of magnitude ::
O
(N!)

2004

Kutztown University

13

Cellular Encryption


Integers 0 to 2
k



1 represent:



Plain text



Cipher text


Choose at random from 2
k
!/e possibilities


k cells of hybrid CA



Will encrypt



By computing chosen integer function


Each cell computes one Boolean function


2004

Kutztown University

14

Encryption Cell Details


Represent integer in binary


3 bit example



Base 10:: f(3) = 5


Binary:: f(011) = 101


Work is spread among 3 cells


Cell
0
:: f
0
(
0
11) = 1


Cell
1
:: f
1
(0
1
1) = 0


Cell
2
:: f
2
(01
1
) = 1


2004

Kutztown University

15

Integer


Boolean


An integer function


base 10 & binary:



f(0) = 3

f(000) = 011



f(1) = 6

f(001) = 110



f(2) = 7

f(010) = 111



f(3) = 5

f(011) = 101



f(4) = 2

f(100) = 010



f(5) = 1

f(101) = 001



f(6) = 0

f(110) = 000



f(7) = 4

f(111) = 100

2004

Kutztown University

16

Integer


Boolean


Cell by cell


f(000) =
0
1
1



f
0
(000) =
0

f
1
(000) =
1

f

2
(000) =
1


f(001) =
1
1
0



f
0
(001) =
1

f
1
(001) =
1

f
2
(001) =
0


f(010) =
1
1
1



f
0
(010) =
1

f
1
(010) =
1

f
2
(010) =
1


f(011) =
1
0
1



f
0
(011) =
1

f
1
(011) =
0

f
2
(011) =
1


f(100) =
0
1
0



f
0
(100) =
0

f
1
(100) =
1

f
2
(100) =
0


f(101) =
0
0
1



f
0
(101) =
0

f
1
(101) =
0

f
2
(101) =
1


f(110) =
0
0
0



f
0
(110) =
0

f
1
(110) =
0

f
2
(110) =
0


f(111) =
1
0
0



f
0
(111) =
1

f
1
(111) =
0

f
2
(111) =
0


2004

Kutztown University

17

Hardware Implementation


Plain text is k bits long


There are k cells


Each cell gets k bits of input


Each cell computes its own Boolean function


Together cells compute k
-
bit integer function


THE END


brow8558@kutztown.edu

kaya0015@kutztown.edu

riek7902@kutztown.edu

thor2668@kutztown.edu

rieksts@kuztown.edu