180 likes | 199 Views
Cellular Encryption CREU Project. Team: Alburn Brown Orkun Kaya Isaac Rieksts Eric Thorpe. Overview. Construct software simulation Compare 3 cellular encryption algorithms Choose the best one Implement it in hardware. Background :: Cellular Computation. Cellular Automata
E N D
Cellular EncryptionCREU Project Team: Alburn Brown Orkun Kaya Isaac Rieksts Eric Thorpe
Overview • Construct software simulation • Compare 3 cellular encryption algorithms • Choose the best one • Implement it in hardware Kutztown University
Background :: Cellular Computation • Cellular Automata • Cellular Automata with Shadow Cells • Hybrid Cellular Automata • Integer Functions • Cellular Encryption Kutztown University
Cellular Automata • John von Neumann • Uniform cells • “Peer Pressure Automata” • Uniform transition function • Turing Machine computing power Kutztown University
Cellular Automata with Shadow Cells • Need to compute integer functions • Limitation of classic CAs • Shadow cells enable integer computation • Wasted memory Kutztown University
Hybrid Cellular Automata • Relaxing the uniform transition rule • Memory savings • All integer functions computable Kutztown University
Integer Functions • Block cipher = integer function • Example: RSA • How many integer functions? • How many identity avoiding functions? Kutztown University
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 Kutztown University
RSA is an integer function • Encryption: f(p) = pe mod n • e is encryption key • n = p*q • p & q, two very large primes • Decryption: f-1(c) = cd 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 Kutztown University
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! Kutztown University
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 Kutztown University
Identity Avoiding Integer Functions • Over the integers 0 to M-1 • There are :: N! / e • e is a constant • Order of magnitude :: O(N!) Kutztown University
Cellular Encryption • Integers 0 to 2k – 1 represent: • Plain text • Cipher text • Choose at random from 2k!/e possibilities • k cells of hybrid CA • Will encrypt • By computing chosen integer function • Each cell computes one Boolean function Kutztown University
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 • Cell0:: f0(011) = 1 • Cell1:: f1(011) = 0 • Cell2:: f2(011) = 1 Kutztown University
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 Kutztown University
Integer ► Boolean • Cell by cell • f(000) = 011► f0(000) = 0 f1(000) = 1 f 2(000) = 1 • f(001) = 110► f0(001) = 1 f1(001) = 1 f2(001) = 0 • f(010) = 111► f0(010) = 1 f1(010) = 1 f2(010) = 1 • f(011) = 101► f0(011) = 1 f1(011) = 0 f2(011) = 1 • f(100) = 010► f0(100) = 0 f1(100) = 1 f2(100) = 0 • f(101) = 001► f0(101) = 0 f1(101) = 0 f2(101) = 1 • f(110) = 000► f0(110) = 0 f1(110) = 0 f2(110) = 0 • f(111) = 100► f0(111) = 1 f1(111) = 0 f2(111) = 0 Kutztown University
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 Kutztown University
THE ENDbrow8558@kutztown.edukaya0015@kutztown.eduriek7902@kutztown.eduthor2668@kutztown.edurieksts@kuztown.edu