Functional Encryption for Regular Languages Brent Waters
Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange PubK SK 2
Functional Encryption [SW05…] Functionality: f( ¢ , ¢ ) MSK Authority Key: y 2 {0,1}* y SK CT: x 2 {0,1} * Security: “Can only learn f(x,y)” Public Params x f(x,y) 3
“Key Policy” ABE [GPSW06] Key: Boolean Formula (or circuit) CT: Variables “ Public Index ” Functionality: Evaluate formula, if true give message 4
Limitations Key is a single formula/circuit OR x 1 AND x 2 x 3 Operates over fixed sized input Form Image Fixed Size: Text Video Arbitrary Length: Goal: Functional Enc. for arbitrary length inputs 5
Regular Languages Language is regular iff strings accepted some Deterministic Finite Automata (DFA) Applications Search <[^>]*> Firewall Rules (?i)^([^./]+\.)*(grooveshark\.com|gs-cdn\.net)(?![^/])
Determinstic Finite Automata (DFA) Set of states Start state Alphabet Accept states Transition Note: Some Regular Expressions not efficiently expressible as DFAs.
A Simple Example Language = “Begins with 1 and has even parity” 1 Accept(M,w) Start 1 1 A B C 0 0 w = 1 0 1 0
DFA-Based F.E. System Key: DFA CT: Arbitrary length string “ Public Index ” Functionality: Evaluate DFA M on w, if accepts give message 9
System Overview Setting: Bilinear group G of order p Key: CT: Decrypt: At state x after j symbols Three Mechanisms Initialization: Compute Transition: Completion: Recover message using 10
Setup Input: 1) Choose Bilinear group G of order p 2) Public Parameters: Master Secret: 11
Encryption Input: “Linking” Note: Only showing components for transition mechanism!
Key Generation Input: Define Note: Only showing components for transition mechanism!
Transition Mechanism (of decryption) Suppose Compute: Transition:
Summary & Three Problems Functional Enc. for arbitrary length inputs: Achieved DFAs Problems (1) Support Non-deterministic Finite Automata (NFA) (2) Climb the Chomsky Hierarchy (3) Move past public index model 15
Thank you 16
Recommend
More recommend