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!
Description
Summary:Παρουσίαση των σημαντικότερων ιστορικών εξελίξεων στην Κρυπτογραφία που οδήγησαν στην ιδέα της Επιλήσμονος 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).