Top Banner
Functional Encryption for Regular Languages Brent Waters
16

Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Mar 11, 2018

Download

Documents

trankhuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Functional Encryption for Regular Languages

Brent Waters

Page 2: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

2

Public Key Encryption [DH76,M78,RSA78,GM84]

Avoid Prior Secret Exchange

SK PubK

Page 3: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

3

Functional Encryption [SW05…]

Functionality: f(¢ , ¢ )

Public Params

Authority

MSK

Key: y 2 {0,1}*

x

SK y

CT: x 2 {0,1}*

f(x,y)

Security: “Can only learn f(x,y)”

Page 4: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

4

“Key Policy” ABE [GPSW06]

Key:

CT:

“Public Index”

Boolean Formula (or circuit)

Variables

Functionality: Evaluate formula, if true give message

Page 5: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

5

Limitations

Key is a single formula/circuit

Fixed Size:

Operates over fixed sized input

OR x1 AND

x2 x3

Arbitrary Length:

Goal: Functional Enc. for arbitrary length inputs

Form Image

Text Video

Page 6: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Regular Languages

Language is regular iff strings accepted some Deterministic Finite Automata (DFA)

Firewall Rules (?i)^([^./]+\.)*(grooveshark\.com|gs-cdn\.net)(?![^/])

Search <[^>]*>

Applications

Page 7: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Determinstic Finite Automata (DFA)

Set of states Alphabet

Transition

Start state Accept states

Note: Some Regular Expressions not efficiently expressible as DFAs.

Page 8: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

A Simple Example

Language = “Begins with 1 and has even parity”

A B Start 1

C 1

0 0

w = 1 0 1 0

Accept(M,w) 1

Page 9: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

9

DFA-Based F.E. System

Key:

CT:

“Public Index”

DFA

Arbitrary length string

Functionality: Evaluate DFA M on w, if accepts give message

Page 10: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

10

System Overview

Key:

CT:

At state x after j symbols

Three Mechanisms

Setting: Bilinear group G of order p

Decrypt:

Initialization: Compute

Transition:

Completion: Recover message using

Page 11: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

11

Setup

2)

1) Choose Bilinear group G of order p

Public Parameters:

Master Secret:

Input:

Page 12: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Encryption

Input:

Note: Only showing components for transition mechanism!

“Linking”

Page 13: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Key Generation

Input:

Note: Only showing components for transition mechanism!

Define

Page 14: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

Transition Mechanism (of decryption)

Suppose

Compute:

Transition:

Page 15: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

15

Summary & Three Problems

(1) Support Non-deterministic Finite Automata (NFA)

Functional Enc. for arbitrary length inputs: Achieved DFAs

Problems

(2) Climb the Chomsky Hierarchy

(3) Move past public index model

Page 16: Functional Encryption for Regular Languages · PDF fileFunctional Encryption for Regular Languages Brent Waters . 2 Public Key Encryption [DH76,M78,RSA78,GM84] Avoid Prior Secret Exchange

16

Thank you