### Data-oblivious graph algorithms for secure computation and outsourcing

Marina Blanton, Aaron Steele, Mehrdad Alisagari
2013 Proceedings of the 8th ACM SIGSAC symposium on Information, computer and communications security - ASIA CCS '13
This work treats the problem of designing data-oblivious algorithms for classical and widely used graph problems. A data-oblivious algorithm is defined as having the same sequence of operations regardless of the input data and dataindependent memory accesses. Such algorithms are suitable for secure processing in outsourced and similar environments, which serves as the main motivation for this work. We provide data-oblivious algorithms for breadth-first search, single-source single-destination
more » ... ortest path, minimum spanning tree, and maximum flow, the asymptotic complexities of which are optimal, or close to optimal, for dense graphs. P1 = f3, f3, t, 0 P2 = f2, f2, f3, c5 P3 = s, f1, f2, c4 P4 = v2, v2, s, c3 P5 = v1, v1, v2, c2 P6 = t, t, v1, c1 =⇒ P1 = v2, v2, s, c3 P2 = v1, v1, v2, c2 P3 = t, t, v1, c1 P4 = f3, f3, t, 0 P5 = f2, f2, f3, c5 (a) Existing path before and after path rotation P1 = f5, f5, t, 0 P2 = f4, f4, f5, c4 P3 = f3, f3, f4, c3 P4 = f2, f2, f3, c2 P5 = ⊥, f1, f2, c1 P6 = t, t, ⊥, 0 =⇒ P1 = t, t, s, 0 P2 = f5, f5, t, 0 P3 = f4, f4, f5, c4 P4 = f3, f3, f4, c3 P5 = f2, f2, f3, c2