presentatie oblivious turing machines

44
8/2/2019 Presentatie Oblivious Turing Machines http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 1/44 Oblivious Turing Machines (OTM) Wat? Definitie Voorbeeld Complexiteit Emulatie Eenvoudig Geavanceerd Minimaal? Klassen Logische Circuits Definitie Complexiteit Eenvoudig Geavanceerd Gerelativeerde Obliviousness Definities Voorbeeld Complexiteit Toepassingen Beveiliging Encryptie Bibliografie Oblivious Turing Machines (OTM) Tom Desair Willem Van Onsem Katholieke Universiteit Leuven 18 april 2012

Upload: willem-van-onsem

Post on 05-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 1/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Oblivious Turing Machines (OTM)

Tom DesairWillem Van Onsem

Katholieke Universiteit Leuven18 april 2012

Page 2: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 2/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?

2 Complexiteit

3 Logische Circuits

4 Gerelativeerde Obliviousness

5 Andere Toepassingen

6 Bibliografie

Page 3: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 3/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?DefinitieVoorbeeld

2 Complexiteit

3 Logische Circuits

4 Gerelativeerde Obliviousness

5 Andere Toepassingen

6 Bibliografie

Page 4: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 4/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Definitie

Definitie (Oblivious Turing Machine)

Een k -tape oblivious turing machine (OTM) is een machine waarbij:

1 Voor alle n, s ∈ N en x ∈ 0, 1nzijn de posities van de lees- en

schrijfkoppen1 voor een invoer x met lengte n en na s stappengegeven door K 0 (n, s ) , . . . K k +1 (n, s ). Met K i : N×N → N.

2 Alle lees- en schrijfkoppen nooit links van hun beginpositiebewegen.

3 Indien M een finale toestand bereikt, brengen alle toekomstige

stappen geen wijzigingen meer toe aan de tapes.[Vol99, §2.1]

1K 0 is kop van de invoertape, K 1 , . . . K k de koppen bij de werktapes en K k +1

de uitvoer-tape.

Page 5: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 5/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Voorbeeld: BubbleSort

Voorbeeld (BubbleSort)

Twee Turing Machines sorteren een lijst met dezelfde lengte.Beweging van de koppen is dezelfde.

1 1 0

1 0 0

Page 6: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 6/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?

2 ComplexiteitEmulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

3 Logische Circuits

4 Gerelativeerde Obliviousness

5 Andere Toepassingen

6 Bibliografie

Page 7: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 7/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Complexiteit van een Oblivious Turing Machine

Wat is de complexiteit van een Oblivious Turing Machine tegenovereen algemene Turing Machine?

Lemma (Hennie-Stearns[HS66])

Indien een algoritme A met een deterministische Turing Machine intijd T (n) een invoer van lengte n kan beslissen, bestaat er eendeterministische Oblivious 2-tape Turing Machine die dit algoritme inO (T (n)log(T (n))) kan beslissen.

Merk op: Hennie-Stearns is eveneens het lemma achter de UniversieleTuring Machine.We introduceren m = T (n)

Page 8: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 8/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Eenvoudige Emulatie in Om2

Er bestaat een eenvoudige constructie die in O

m2

werkt:

1 Aangepaste karakterset: Σ = a, a|a ∈ Σ ∪

markerˆpositie van de lees en schrijfkopeindmarker maximale grenzen van de tape

2 kop beweegt telkens van links naar rechts en terug

eindmarkers verleggenkop marker aanpassen in voorbijgaan

3 tape groeit tot O (m), elke stap vergt dus O (m) nieuwe stappen

4 totale tijdscomplexiteit O

m2

Page 9: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 9/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Eenvoudige Emulatie: Voorbeeld: Kopieren

Voorbeeld (Eenvoudige Emulatie: Kopieren)

c pˆ

Page 10: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 10/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Geavanceerdere Emulatie in O (m logm)

Structuur van het bewijs

1 Constructie van Universiele Turing Machine met O (m log m).

1 k -tapes naar 1-tape2 opdelen van tapes in blokken3 beheren van de blokken met Clean ( j )

2 Vorm Universiele Turing Machine in Oblivious Turing Machinezonder verhoging complexiteit.

3

2-way infinite tape naar 1-way infinite tape.Totale tijdscomplexiteit O (m log m) met m = T (n).

Page 11: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 11/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Constructie van een Universiele Turing Machine

1 We reduceren eerst het aantal tapes van k naar 1

0 1 2 3 4

0 1 2 30 1 2 3 4 0 1 2 3

0 1 2 3 4

0 1 2 3

0 1 2 32 3 4 51 2 3 4

Merk op: tapes kunnen onafhankelijk van elkaar bewegen

2 tapes onderverdeeld in “blokken” met smoothing characters f g h i j k l m n o p q r s t

B 0 B 1B −1 B 2B −2 B 3B −3

Page 12: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 12/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Constructie van een Universiele Turing Machine

Mechanisme nodig om de tape op orde te houden:

Clean ( j )

Herorganiseert blokken B − j en B j

schuift data in/uit naar blokken B − j −1 en B j +1

Resultaat: helft van het blok bestaat uit smoothing characters

Wordt elke 2 j o met o oneven opgeroepen.

Tijdscomplexiteit: O

2 j

(grootte blok B j )

Gebruikt 2e tape voor het verplaatsen van data

Voorbeeld: Clean (2) e f g h i j k l m n o . . .

e f g h i j k l m n o . . .

Page 13: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 13/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Constructie van een Universiele Turing Machine

Invloed op de totale tijdscomplexiteit?

1 Orginele machine zet m = T (n) stappen

2 Tape heeft lengte O (m)

3 Aantal blokken O (log m)4 Clean ( j ) in tijd O

2 j

wordt O

m/2 j

keer opgeroepen

5 Totale tijdscomplexiteit:

Olog m

j =02 j ·

m

2 j

= O (m log m)

Page 14: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 14/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

Obliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Omvormen tot een Oblivious Turing Machine

1 Clean ( j ) kan oblivious worden uitgevoerd zonder overhead

2 Uitvoeren van een stap (richting kop via toestand meegeven)

3 Conversie van 2-way infinite naar 1-way infinite door beideuiteindes samen te voegen

. . . h i j k l m n o p q r . . .

m

n o p q r . . .

. . .hi jkl

m n l o k p j q i . . .

Page 15: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 15/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

Obliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Is deze complexiteit minimaal?

Niet bewezen.

Omvorming Universiele Turing Machine induceert overhead.

Is dit noodzakelijk?Bewezen dat het groter dan Ω (m) moet zijn.

Bewezen ondergrens van Ω (m log m) voor on-line TuringMachines[PF79].

Bewezen ondergrens van Ω (m log log m) voor Oblivious RandomAccess Machines (RAM)[BM11].

Page 16: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 16/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

Obliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Complexiteitsklassen bij Oblivious Turing Machines

Twee belangrijke resultaten voor oblivious turing machines:

L = NL

voor oblivious turing machines met lineaire access-time

⊕L = L, NL, coNL en AL (=P)L: deterministisch en in logaritimische spaceNL: niet-deterministisch en in logaritimische spacecoNL: complement van NLAL: alternating en in logaritimische space⊕

L: (“parity L”) niet-deterministisch en in logaritimische spacewaarbij het aantal paden dat naar accepterende toestand leidtoneven is.

Page 17: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 17/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

Obliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?

2 Complexiteit

3 Logische CircuitsDefinitieComplexiteit

EenvoudigGeavanceerd

4 Gerelativeerde Obliviousness

5 Andere Toepassingen

6 Bibliografie

Page 18: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 18/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

Obliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Definitie

Definitie (Logisch circuit)Een Logisch circuit is een acyclische gerichte grafe

knopen = poorten

invoer van een plaats op een tape x i booleaanse functie (geen uitgaande bogen → cel y j uitvoertape)

bogen = draden

Voorbeeld (Logisch Circuit: Binaire Opteller)

x 1

x 2

¬

¬

y 1

∧ ∨ y 2

Page 19: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 19/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

Obliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Complexiteit

Complexiteit van een logisch circuit

GrootteDiepte (Tijd)

Logisch circuit geconstrueerd op basis lengte invoer nOnafhankelijk van inhoud ⇒ obliviousRelatie met Oblivious Turing Machines?

Lemma (Pippenger-Fischer)

Indien een taal A belist wordt in O (T (n)) door een Turing Machine met invoerlengte n, dan bestaat er een circuit die A kan beslissen met grootte O (T (n)log T (n)) en diepte O (T (n)).

Page 20: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 20/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Eenvoudig Circuit in diepte O (m logm)

Eerst tonen we een circuit met grootte + diepte O (m log m).1 Oblivious Turing Machine omvormen voor vaste invoerlengte.

⇒ Lengte van de tape + beweging koppen gekend2.

2 Elke stap van de OTM hangt af van 2 parameters:

Huidige toestand: O (log l ) bits (l toestanden).

tekens onder de koppen: O (k ). (k koppen).3 Elke stap genereert twee waarden:

Volgende toestand: O (log l ) bits.nieuwe tekens onder de koppen: O (k ).

4 Een stap kunnen we dus voorstellen als een subcircuit:

State State

Tapei

Tapei

Step

2Simuleerbaar met triviale invoer: 0n

Page 21: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 21/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Eenvoudig Circuit in diepte O (m logm)

Omdat de plaats van de koppen gekend is kunnen we de subcircuit

met elkaar verbinden:

Voorbeeld (Synthese Logisch Circuit)

x 1 x 2 x 3

Begintoestand

Eindtoestand

x 1 x 2 x 3

x 1 x 2 x 3

Page 22: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 22/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Geavanceerd Circuit in diepte O (m)

Circuit met grootte O (m log m) en diepte O (m):1 Emulatie-procedure Oblivious Turing Machine uitbuiten.

2 Clean ( j ) procedure opdelen in Compress ( j ) en Expand ( j )

3 ‘Recursief’ opbouwen van component Phase ( j ):

2×Phase ( j − 1)

2×Compress ( j ): diepte O ( j )2×Expand ( j ): diepte O ( j )Phase (0)=Step

4 Phase ( j ) simuleert 2 j stappen van de oorspronkelijke TM

5 Totale diepte Phase ( j ):

O

j

k =0

k · 2 j −k

= O

2 j

voor O

2 j Step

6 Worst Case: Phase (log m) ⇒ O (m)

Page 23: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 23/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Geavanceerd Circuit in diepte O (m)

Phase ( j ) ≡

2 j +2 − 1

2 j +2 − 1

State

State

Symbol stack

Symbol stack

Compress ( j )

Phase ( j − 1)

Compress ( j )

Phase ( j − 1)

Expand ( j )

Expand ( j )

State

State

2 j

2 j

2 j +1 − 1

2 j +1 − 1

2 j

2 j

O

Page 24: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 24/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?

2 Complexiteit

3 Logische Circuits

4 Gerelativeerde ObliviousnessDefinitiesVoorbeeld

Complexiteit

5 Andere Toepassingen

6 Bibliografie

G l i d Obli i

Page 25: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 25/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

GeavanceerdMinimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Gerelativeerde Obliviousness

Vitanyi introduceert in 1980 het begrip Relativized Obliviousness:

tussen sommige strings oblivious, tussen andere strings niet.

1 Introduceert equivalentierelatie ≡M

2 Op basis van ≡M , W -oblivious en ∆-oblivious

3 Introduceert parameter k , orde van nonobliviousness

We formaliseren eerst...

F l D fi i i

Page 26: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 26/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Formele Definitie

Definitie (≡M over Σ∗)

Stel M een turing machine met invoeralfabet Σ. Door strings vangelijke lengte te groeperen waaronder M eenzelfde sequentie vanbewegingen uitvoert induceert M een equivalentierelatie ≡M over Σ∗

waarvoor geldt:1 ≡M

2 xa ≡M yb met x , y ∈ Σ∗ en a, b ∈ Σ indien x ≡M y en de lees-en schrijfkoppen dezelfde bewegingen maken alvorens ze naarrechts bewegen bij a en b

3 x ≡M y geldt enkel indien ∀z ∈ Σ : xz ≡M yz .

4 Voor geen enkele x , y ∈ Σ∗ geldt x ≡M y indien dit nietgeınduceerd wordt door 1, 2 of 3.

F l D fi iti

Page 27: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 27/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Formele Definitie

Definitie (W -oblivious)

Een turing machine is W -oblivious met W ⊆ Σ∗ indien∀x , y ∈ W : |x | = |y | ⇒ x ≡M y .

Definitie (∆-oblivious)

Een turing machine M is ∆-oblivious met ∆ ⊆ Σ indien ∀w ∈ Σ∗, M h−1 (h (w ))-oblivious is. Hierbij is h : Σ∗ → ∅ ∪ Σ \ ∆∗ eenhomomorfisme met:

1 h (xy ) = h (x ) h (y ).

2 h (a) = ∅ indien a ∈ ∆.

3 h (a) = a indien a ∈ Σ \ ∆.

Merk op: ∀M ∈ ∆-oblivious ⇒ M ∈ ∆∗-oblivious

F l D fi ti

Page 28: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 28/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Formele Definties

Definitie (k -nonoblivious)

Een turing machine M met alfabet Σ is k -nonoblivious indien:

1 We Σ kunnen partitioneren in k disjuncte, niet-lege sets ∆i

zodat M , ∆i -oblivious is voor all i met 1 ≤ i ≤ k .

2 We Σ niet kunnen kunnen partitioneren in k < k disjuncte,niet-lege sets ∆

i zodat M , ∆

i -oblivious is voor all i met1 ≤ i ≤ k .

V b ld ∆ bli i k bli i

Page 29: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 29/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Voorbeeld: ∆-oblivious en k -nonoblivious

Voorbeeld (∆-oblivious en k -nonoblivious)

Een ∆-oblivious Turing Machine M met ∆ = a, b , Σ = a, b , c , d We beschouwen de strings:

s 1 = babcacb h (s 1) = ∅∅∅c ∅c ∅

s 2 = aaacaca h (s 2) = ∅∅∅c ∅c ∅s 3 = acacaaa h (s 3) = ∅c ∅c ∅∅∅

s 4 = acaca h (s 3) = ∅c ∅c ∅

s 5 = acdcaaa h (s 3) = ∅cdc ∅∅∅

Bijgevolg geldt:

s 1 ≡M s 2

Indien M /∈ c , d -obliviousen M /∈ a, c -oblivious ∨M /∈ b , d -obliviousen M /∈ a, d -oblivious∨M /∈ b , c -obliviousis de machine 3-nonoblivious.

De Crisis van Gerelativeerde Obliviousness

Page 30: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 30/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

De Crisis van Gerelativeerde Obliviousness

Lemma (Vitanyi 1)Voor elke k > 1 bestaat er een taal O k die in lineare tijd kanberekend worden met een k-nonoblivious turing machine ; elke k -nonoblivious turing machine met k < k heeft tenminste eenaantal stappen van ordegrootte O (n log n) nodig, met n de

invoerlengte. Verder bestaat er voor elke k

< k een k

-nonoblivious turing machine die O k bepaald in O (n log n)

Lemma (Vitanyi 2)

Voor elke k ≥ 1 bestaat er een taal N k die in lineare tijd kan beslist

worden op een k-tape turing machine , die k of minder nonoblivious bewegingen maakt. Bovendien heeft elke turing machine die hoogstens k nonoblivious bewegingen maakt met k < k minstens O (n log n) stappen nodig om N k te beslissen, met n de invoerlengte.

Vitanyi veronderstelde on-line turing machines.

Lemma 1: De taal O

Page 31: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 31/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Lemma 1: De taal O k

De taal O k :

1 Alfabet Σ =k

i =1 ∆i met ∆i = ai , ai

2 We beschouwen een k -nonoblivious Turing Machine M

3 M heeft k stapels over alfabet Γ = 0, 1

4 Invoer karakter per karakter verwerken

5 Indien karakter c ∈ ∆ j

stapel j : Pop, waarde op de uitvoertape (0 indien leeg).andere stapels: Push 0 of 1 afhankelijk van eerste karakter bijde eerste twee ∆i ’s en ai of ai indien later.

6 string in O k ⇔ laatste uitvoer 1 is

Merk op:

1 Constructief bewijs dat deze taal lineair k -nonoblivious teberekenen is.

2 Claim: O k kan niet lineair uitgevoerd worden op eenk -nonoblivious machine met k < k

Lemma 1: Voorbeeld

Page 32: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 32/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Lemma 1: Voorbeeld

Voorbeeld (Herkennen van een taal O k )

k = 3, Σ = a, a, b , b , c , c , ∆1 = a, a, ∆2 = b , b , ∆3 = c , c

Dus: aacb /∈ O 3 en cab b ∈ O 3

Input a a c b

∆1

∆2

∆3

Output

Lemma 1: Bewijs

Page 33: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 33/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Lemma 1: Bewijs

Bestaat geen k -nonoblivious turing machine M met k < k die O k in

lineaire tijd herkent:1 De originele machine noemen we M k , deze is k -nonoblivious

2 Σ onderverdeelt in disjuncte Γ1, . . . , Γk

3 Duifhokprincipe: minstens een Γl bevat minstens 3 karakters:s

1, s

2, s

3en komen uit minstens 2 ∆i ’s.

4 M k bevat een stapel die bij s 1 en s 2 een Push uitvoert, bij s 3een Pop (s i vrij te kiezen uit Γl )

5 M wordt gedwongen om dezelfde bewegingen met het koppen temaken. Maar moet ook continu informatie opslaan en opvragen.

6 Bij een string van de vorm s 1s 2s 3s 3(s 1|s 2|s 3)∗

dienen we continuPush en Pop operaties uitvoeren.

7 Er bestaat geen datastructuur die een geschiedenis van eenwillekeurig aantal stappen terug kan oproepen in constante tijdals hij gedwongen wordt dit oblivious te doen (Overlap-argument

in [Coo66]).

Overzicht

Page 34: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 34/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?

2 Complexiteit

3 Logische Circuits

4 Gerelativeerde Obliviousness

5 Andere Toepassingen

BeveiligingEncryptie

6 Bibliografie

Software beveiliging: probleem

Page 35: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 35/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Software beveiliging: probleem

Doel: Verbergen van het geheugentoegangspatroon van eenprogramma.

Voorkomen dat aanvaller informatie over programmastructuur teweten komt.

Waarom: Kennis over de programmastructuur kan wordenuitgebuit om:

het programma na te makenfouten in het programma op te sporen en uit te buiten

Software beveiliging: oplossing

Page 36: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 36/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Software beveiliging: oplossing

Oplossing: Programma’s uitvoeren op oblivious random accessturing machines (RAM).

Deterministisch:

Per stap alle geheugencellen afgaanO (m · t ) (m = #geheugencellen, t = #stappen)

Indien we probabilistische keuzes toelaten (met random oracle ):

Lemma (Goldreich-Ostrovsky)

Zij RAM(m) een RAM met m geheugencellen en toegang tot een

random oracle. Dan kan een willekeurige RAM(m) met uitvoeringstijd O (T (n)) door een oblivious RAM(m · (log m)

2) gesimuleerd worden

met een uitvoeringstijd van O

T (n) · (log T (n))3

.

Obliviousness in protocollen

Page 37: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 37/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?

Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Obliviousness in protocollen

Het concept ‘oblivious’ toegepast op veel communicatie en encryptieprotocollen:

Oblivious transfer protocol (Michael O. Rabin)

Oblivious keyword search (Ogata en Kurosawa)

CA-oblivious handshaking protocol (Castelluccia et al.)

Overzicht

Page 38: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 38/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

Overzicht

1 Wat?

2 Complexiteit

3 Logische Circuits

4 Gerelativeerde Obliviousness

5Andere Toepassingen

6 Bibliografie

Bibliografie I

Page 39: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 39/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

b og a e

Sanjeev Arora and Boaz Barak.Computational Complexity: A Modern Approach.Cambridge University Press, New York, NY, USA, 1st edition,2009.

Paul Beame and Widad Machmouchi.

Making branching programs oblivious requires superlogarithmicoverhead.In Proceedings of the 2011 IEEE 26th Annual Conference onComputational Complexity , CCC ’11, pages 12–22, Washington,DC, USA, 2011. IEEE Computer Society.

Claude Castelluccia, Stanislaw Jarecki, and Gene Tsudik.Brief announcement: secret handshakes from ca-obliviousencryption.In Proceedings of the twenty-third annual ACM symposium onPrinciples of distributed computing , PODC ’04, pages 394–394,New York, NY, USA, 2004. ACM.

Bibliografie II

Page 40: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 40/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

g

Stephen A. Cook.On the minimum computation time of functions .PhD thesis, 1966.URL: http://cr.yp.to/bib/entries.html#1966/cook.

Shimon Even, Oded Goldreich, and Abraham Lempel.A randomized protocol for signing contracts.Commun. ACM , 28(6):637–647, June 1985.

Oded Goldreich and Rafail Ostrovsky.Software protection and simulation on oblivious RAMs.

J. ACM , 43(3):431–473, May 1996.

F. C. Hennie and R. E. Stearns.Two-Tape Simulation of Multitape Turing Machines.J. ACM , 13:533–546, October 1966.

Bibliografie III

Page 41: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 41/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

g

Jonathan Katz.Notes on Complexity Theory.August 2011.

M. Krause, C. Meinel, and S. Waack.Separating complexity classes related to certain input obliviouslogarithmic space-bounded turing machines.In Structure in Complexity Theory Conference, 1989.Proceedings., Fourth Annual , pages 240 –249, jun 1989.

Matthias Krause.

Separating ⊕L From L, NL, co-NL and AL (=P) for ObliviousTuring Machines of Linear Access Time.In Proceedings of the Mathematical Foundations of Computer Science 1990 , MFCS ’90, pages 385–391, London, UK, UK,1990. Springer-Verlag.

Bibliografie IV

Page 42: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 42/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

Gerelativeerde

ObliviousnessDefinities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

g

Wakaha Ogata and Kaoru Kurosawa.Oblivious keyword search.J. Complex., 20(2-3):356–371, April 2004.

Christos M. Papadimitriou.

Computational complexity .Addison-Wesley, Reading, Massachusetts, 1994.

Nicholas Pippenger and Michael J. Fischer.Relations among complexity measures.J. ACM , 26(2):361–381, April 1979.

Michael O. Rabin.How to exchange secrets with oblivious transfer.Technical Report TR-81, Aiken Computation Lab HarvardUniversity, 1981.

Bibliografie V

Page 43: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 43/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

g

John E. Savage.Models of Computation: Exploring the Power of Computing .Addison-Wesley Longman Publishing Co., Inc., Boston, MA,USA, 1st edition, 1997.

Peter van Emde Boas.Turing Machines for Dummies - Why Representations DoMatter.In SOFSEM , pages 14–30, 2012.

Vitanyi, Paul.

Relativized obliviousness.In P. Dembinski, editor, Mathematical Foundations of Computer Science 1980 , volume 88 of Lecture Notes in Computer Science ,pages 665–672. Springer Berlin / Heidelberg, 1980.10.1007/BFb0022541.

Bibliografie VI

Page 44: Presentatie Oblivious Turing Machines

8/2/2019 Presentatie Oblivious Turing Machines

http://slidepdf.com/reader/full/presentatie-oblivious-turing-machines 44/44

Oblivious TuringMachines (OTM)

Wat?

Definitie

Voorbeeld

Complexiteit

Emulatie

Eenvoudig

Geavanceerd

Minimaal?Klassen

Logische Circuits

Definitie

Complexiteit

Eenvoudig

Geavanceerd

GerelativeerdeObliviousness

Definities

Voorbeeld

Complexiteit

Toepassingen

Beveiliging

Encryptie

Bibliografie

H. Vollmer.Introduction to circuit complexity: a uniform approach.Texts in theoretical computer science. Springer, 1999.