Download - 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
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
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
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.
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
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
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)
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
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ˆ
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).
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
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 . . .
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)
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 . . .
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].
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.
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
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
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)).
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.