project juno: draw passwords!

Post on 11-Jul-2015

499 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Juno [u∶no∶]draw passwords

연세대학교 수학과 설진석

Abstract• alternative cryptographic hash function

• image based

• using Life-Like Cellular Automata

• algorithm development

Preliminaries• Classical Mathematics

• Automata Theory

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

• for ∀h ∈ H, “answering f -1(h)” is a NP-problem

• where

• X : given set

• p : desired probability

• n : natural number

Cellular Automata• In n dimensional grid, given a

• S : set of states

• T : transition rule

• B : neighbor

• Each cell’s next state is determined by current state of the cell and neighbor applied by transition rule.

one-dimensional CA example

• each row denotes step

• each column denotes cell’s state history

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)

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.

Object• drawing password, rather than inserting string

• using LLCA as cryptographic hash function

Algorithm

Raw Drawing Simplify Hash via LLCA

Encode

Encoding1 0 0 00 1 1 00 0 0 10 0 0 11 1 0 1

Original Binary

8611d

Hex

8611dResult

fixed sized image = fixed sized string

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

Limitations• sparse initial state generates sparse output

• requires minimum alive cells to be meaningful value

• infeasible to control or calculate collision probability p

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

Implementation

• Using coffee-script based LLCA library “Plasmid”

• http://nyamukoong.github.io/plasmid/

• Result: https://theeluwin.kr/juno/

top related