Successfully reported this slideshow.
Upcoming SlideShare
×

1,105 views

Published on

Simple project for "draw passwords, rather than typing a string". Used Life-Like Cellular Automata for hashing images.

Published in: Technology
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

1. 1. Juno [u∶no∶] draw passwords 연세대학교 수학과 설진석
2. 2. Abstract • alternative cryptographic hash function • image based • using Life-Like Cellular Automata • algorithm development
3. 3. Preliminaries • Classical Mathematics • Automata Theory
4. 4. Cryptographic Hash Function • given a function f: X → H, H = L(w{n}) • f is called cryptographic hash function if • • • Pa, b ∈ X (f(a)=f(b)) ≦ p -1 for ∀h ∈ H, “answering f (h)” is a NP-problem where • X : given set • p : desired probability • n : natural number
5. 5. Cellular Automata • In n dimensional grid, given a • • T : transition rule • • S : set of states B : neighbor Each cell’s next state is determined by current state of the cell and neighbor applied by transition rule.
6. 6. one-dimensional CA example • each row denotes step • each column denotes cell’s state history
7. 7. Life-Like Cellular Automata • In two-dimensional grid • S : “alive” or “dead” • T : “survive”, “birth”, or “death” determined by number of “alive” cells in neighbor • B : Moore neighborhood (adjacent 8 cells)
8. 8. LLCA example: Conway’s Game of Life • rule string B3/S23 • A cell survives if 2 or 3 neighbor is alive, and births if 2 neighbor is alive. Otherwise, it dies.
9. 9. Object • drawing password, rather than inserting string • using LLCA as cryptographic hash function
10. 10. Algorithm Raw Drawing Simplify Encode Hash via LLCA
11. 11. Encoding 1 0 0 0 1 Original 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 Binary 8611d Result fixed sized image = fixed sized string 8 6 1 1 d Hex
12. 12. LLCA as Hash? • LLCA is a function • • CA itself is a deterministic inverse LLCA is NP • checking answer is P • using “number of live neighbors”, so inverse can be calculated with non-deterministic turing machine
13. 13. Limitations • sparse initial state generates sparse output • • requires minimum alive cells to be meaningful value infeasible to control or calculate collision probability p
14. 14. Benefits and Applications • At least, it is valid cryptographic hash function • Calculation can be parallelized • Easy to control complexity • • • changing rule string terminating condition Can be used for signature authentication, or fingerprints
15. 15. Implementation • Using coffee-script based LLCA library “Plasmid” • • http://nyamukoong.github.io/plasmid/ Result: https://theeluwin.kr/juno/