Implementation of oblivious data structures

Παρουσίαση των σημαντικότερων ιστορικών εξελίξεων στην Κρυπτογραφία που οδήγησαν στην ιδέα της Επιλήσμονος RAM (Oblivious RAM ή ORAM) των Goldreich και Ostrovsky το 1993. Σύντομη παρουσίαση της πρώτης τους αλγοριθμικής δομής, Hierarchical ORAM, ακολουθούμενη από την πολύ διαφορετική προσέγγιση Binar...

Full description

Saved in:
Bibliographic Details
Main Author: Anavaloglou, Orestis
Other Authors: Ριζομυλιώτης, Παναγιώτης
Language:English
Published: 2021
Subjects:
Online Access:http://hdl.handle.net/11610/21469
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1828461268311212032
author Anavaloglou, Orestis
author2 Ριζομυλιώτης, Παναγιώτης
author_facet Ριζομυλιώτης, Παναγιώτης
Anavaloglou, Orestis
author_sort Anavaloglou, Orestis
collection DSpace
description Παρουσίαση των σημαντικότερων ιστορικών εξελίξεων στην Κρυπτογραφία που οδήγησαν στην ιδέα της Επιλήσμονος RAM (Oblivious RAM ή ORAM) των Goldreich και Ostrovsky το 1993. Σύντομη παρουσίαση της πρώτης τους αλγοριθμικής δομής, Hierarchical ORAM, ακολουθούμενη από την πολύ διαφορετική προσέγγιση Binary-tree based ORAM (Shi et al. 2011) και της βελτίωσής της για ασφαλή πολυμερή υπολογισμό (MPC), Circuit ORAM. Επίσης, γίνεται σε βάθος εξέταση του αλγόριθμου της Path-ORAM (Stefanov et al. 2012) και παρουσίαση της δικής μας υλοποίησης σε Python. Στη συνέχεια δίνεται ο ορισμός μιας Επιλήσμονος Δομής Δεδομένων (Oblivious Data Structure ή ODS) και η περιγραφή της τεχνικής pointer-based για τη διαχείριση τέτοιων δομών όπως προτάθηκε από την Elaine Shi με το ODS framework. Εξετάζεται την αρχιτεκτονική του framework και παρουσιάζεται η δική μας προγραμματιστική υλοποίηση σε γλώσσα Python. Κλείνοντας παρουσιάζονται τρεις βασικοί ODS αλγόριθμοι και οι υλοποιήσεις τους. Ειδικότερα οι: Oblivious Stack, Oblivious Queue και Oblivious Heap (priority queue).
id oai:hellanicus.lib.aegean.gr:11610-21469
institution Hellanicus
language English
publishDate 2021
record_format dspace
spelling oai:hellanicus.lib.aegean.gr:11610-214692021-02-15T11:40:27Z Implementation of oblivious data structures Anavaloglou, Orestis Ριζομυλιώτης, Παναγιώτης Ασφάλεια Πληροφοριακών και Επικοινωνιακών Συστημάτων κρυπτογραφία ασφάλεια δομές δεδομένων cryptography security data structures Cryptography computer security Data structures (Computer science) Παρουσίαση των σημαντικότερων ιστορικών εξελίξεων στην Κρυπτογραφία που οδήγησαν στην ιδέα της Επιλήσμονος RAM (Oblivious RAM ή ORAM) των Goldreich και Ostrovsky το 1993. Σύντομη παρουσίαση της πρώτης τους αλγοριθμικής δομής, Hierarchical ORAM, ακολουθούμενη από την πολύ διαφορετική προσέγγιση Binary-tree based ORAM (Shi et al. 2011) και της βελτίωσής της για ασφαλή πολυμερή υπολογισμό (MPC), Circuit ORAM. Επίσης, γίνεται σε βάθος εξέταση του αλγόριθμου της Path-ORAM (Stefanov et al. 2012) και παρουσίαση της δικής μας υλοποίησης σε Python. Στη συνέχεια δίνεται ο ορισμός μιας Επιλήσμονος Δομής Δεδομένων (Oblivious Data Structure ή ODS) και η περιγραφή της τεχνικής pointer-based για τη διαχείριση τέτοιων δομών όπως προτάθηκε από την Elaine Shi με το ODS framework. Εξετάζεται την αρχιτεκτονική του framework και παρουσιάζεται η δική μας προγραμματιστική υλοποίηση σε γλώσσα Python. Κλείνοντας παρουσιάζονται τρεις βασικοί ODS αλγόριθμοι και οι υλοποιήσεις τους. Ειδικότερα οι: Oblivious Stack, Oblivious Queue και Oblivious Heap (priority queue). We present the key historical advances in Cryptography that led to the concept of Oblivious RAM (ORAM) by Goldreich and Ostrovsky in 1993. We briefly present their first algorithmic construct, Hierarchical ORAM, followed by a very different approach, the Binary-tree based ORAM by Shi et al. (2011) and its improvement for secure Multi-Party Computation (MPC), Circuit ORAM. We thoroughly examine Path-ORAM algorithm by Stefanov et al. (2012) and we present our Python implementation of it. We move on to the definition of an Oblivious Data Structure (ODS) and the description of the pointer-based technique to handle Oblivious Data Structures proposed by Shi et al. along with their ODS framework. We examine the architecture of the framework and we present our python implementation. We finally present three basic ODS algorithms and their Python counterparts. Namely, Oblivious Stack, Oblivious Queue and Oblivious Heap (priority queue). 2021-02-10T13:23:04Z 2021-02-10T13:23:04Z 2020-07-23 http://hdl.handle.net/11610/21469 en Attribution-NonCommercial-NoDerivatives 4.0 Διεθνές http://creativecommons.org/licenses/by-nc-nd/4.0/ 67 σ. application/pdf Σάμος
spellingShingle κρυπτογραφία
ασφάλεια
δομές δεδομένων
cryptography
security
data structures
Cryptography
computer security
Data structures (Computer science)
Anavaloglou, Orestis
Implementation of oblivious data structures
title Implementation of oblivious data structures
title_full Implementation of oblivious data structures
title_fullStr Implementation of oblivious data structures
title_full_unstemmed Implementation of oblivious data structures
title_short Implementation of oblivious data structures
title_sort implementation of oblivious data structures
topic κρυπτογραφία
ασφάλεια
δομές δεδομένων
cryptography
security
data structures
Cryptography
computer security
Data structures (Computer science)
url http://hdl.handle.net/11610/21469
work_keys_str_mv AT anavaloglouorestis implementationofobliviousdatastructures