Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Circuit ORAM recursion broken by changes in Obliv-C and misc #1

Open
samee opened this issue Jul 28, 2017 · 3 comments
Open

Circuit ORAM recursion broken by changes in Obliv-C and misc #1

samee opened this issue Jul 28, 2017 · 3 comments
Assignees

Comments

@samee
Copy link
Owner

samee commented Jul 28, 2017

The current HEAD is broken on even circuit ORAM tests:

$ make build/test/testOramAccess
$ build/test/testOramAccess -- 1234 ckt --auto=512 &
$ build/test/testOramAccess localhost 1234 ckt --auto=512
[...stacktrace...]

The issue also exists with bench/search. Rebuilding with make CFLAGS=-g allows valgrind to look into the problem. bench/search was more time-tractable with valgrind:

$ make CFLAGS=-g build/bench/search
$ valgrind build/bench/search bench -t ckt --size=257 --axcount=6 :1234 &
$ valgrind build/bench/search bench -t ckt localhost:1234

Logs attached

Xiao noted in email that the code is significantly different from the one in published version. While we chase down regressions, I'll try to upload the original version on a separate branch in case it helps anyone.

@samee
Copy link
Owner Author

samee commented Jul 28, 2017

Actually, I don't need to upload it. Jack's fork of the previous code is still public. Anybody interested can try this version: https://bitbucket.org/jackdoerner/absentminded-crypto-kit

Xiao and I will try to figure out what the intention behind this change was, and why it led us astray.

@jackdoerner
Copy link
Collaborator

jackdoerner commented Jul 28, 2017

Indeed. I was unaware there were updates. Now that I know, I'll wait to merge them in until this issue is resolved. A thought: you and I are both providing libraries that provide ORAM in Obliv-C, and our codebases are mostly-identical. Someday we may want to do some sort of reconciliation between them.

samee added a commit that referenced this issue Jul 31, 2017
#1

Circuit ORAM had a bug in memory management when data size is large enough for recursion. Bug was possibly introduced during a "clean up" phase that was not properly tested.
@samee
Copy link
Owner Author

samee commented Jul 31, 2017

Patch applied. Will close this bug after testing a bit more thoroughly. See if it is working now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants