1 / 18

Cellular Encryption CREU Project

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

sfletcher
Download Presentation

Cellular Encryption CREU Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cellular EncryptionCREU Project Team: Alburn Brown Orkun Kaya Isaac Rieksts Eric Thorpe

  2. Overview • Construct software simulation • Compare 3 cellular encryption algorithms • Choose the best one • Implement it in hardware Kutztown University

  3. Background :: Cellular Computation • Cellular Automata • Cellular Automata with Shadow Cells • Hybrid Cellular Automata • Integer Functions • Cellular Encryption Kutztown University

  4. Cellular Automata • John von Neumann • Uniform cells • “Peer Pressure Automata” • Uniform transition function • Turing Machine computing power Kutztown University

  5. Cellular Automata with Shadow Cells • Need to compute integer functions • Limitation of classic CAs • Shadow cells enable integer computation • Wasted memory Kutztown University

  6. Hybrid Cellular Automata • Relaxing the uniform transition rule • Memory savings • All integer functions computable Kutztown University

  7. Integer Functions • Block cipher = integer function • Example: RSA • How many integer functions? • How many identity avoiding functions? 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 Kutztown University

  9. 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

  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! 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 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!) Kutztown University

  13. 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

  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 • Cell0:: f0(011) = 1 • Cell1:: f1(011) = 0 • Cell2:: f2(011) = 1 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 Kutztown University

  16. 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

  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 Kutztown University

  18. THE ENDbrow8558@kutztown.edukaya0015@kutztown.eduriek7902@kutztown.eduthor2668@kutztown.edurieksts@kuztown.edu

More Related