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

Skeleton VM for StoffelMPC #22

Merged
merged 71 commits into from
Jan 27, 2022
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
ec72b20
Added gate trait and gate enums for each kind of circuit
Mikerah Nov 21, 2021
8a22183
Added basic skeleton for circuit implementation
Mikerah Nov 21, 2021
770e6ab
Started integrating feedback from Thomas
Mikerah Nov 23, 2021
7fe5b71
WIP: Added first iteration of circuits and gates
th4s Nov 24, 2021
ee1c53c
Removed register.rs due to architecture changes
Mikerah Nov 24, 2021
7360c24
Merge branch 'main' into circuits
th4s Nov 25, 2021
e7ed5af
Merge branch 'main' of github.com:hashcloak/stoffelMPC into skeleton_vm
Mikerah Nov 26, 2021
7fe2b6c
WIP: added boolean and arithmetic gates and candidate for circuit trait
th4s Nov 30, 2021
05dfdd4
WIP: Implementing circuit trait with assoicated type
th4s Nov 30, 2021
e956f8c
WIP: Trying out different APIs for circuits
th4s Dec 1, 2021
ceaa47e
WIP: Streamlined Api and added execute
th4s Dec 3, 2021
355cfb0
Removed div, sub methods in arithmetic and generalized to n inputs gates
th4s Dec 7, 2021
67f105d
Added gate trait and execute implementation for circuit
th4s Dec 12, 2021
3ac8f35
Added tests for boolean and arithmetic circuits
th4s Dec 19, 2021
b9ee3d0
Added documentation for circuits and gates
th4s Dec 19, 2021
21dc268
Basic processor trait
Mikerah Dec 29, 2021
13e9b82
Added more functions to Processor trait
Mikerah Dec 30, 2021
2b1ddf8
Added basic arithmetic and boolean processors
Mikerah Dec 30, 2021
fc64cd3
Basic stack register implementation
Mikerah Dec 30, 2021
32ce0bc
Changed PubInt wrapped type to a multi-limb representation
Mikerah Dec 30, 2021
b69a633
Added Copy and Default traits to MPCType and all structs implementing…
Mikerah Dec 30, 2021
096fb30
Added basic register implementation
Mikerah Dec 30, 2021
b01a8c4
Merge branch 'skeleton_vm' of github.com:hashcloak/stoffelMPC into sk…
Mikerah Dec 30, 2021
f2488d9
Changed memory struct definition and implement default trait
Mikerah Dec 31, 2021
b4b7221
Basic unimplemented associated functions for memory
Mikerah Dec 31, 2021
a65074d
Added skeleton instructions for arithmetic vm and some clean up
Mikerah Jan 1, 2022
f6d52c8
Forgot generics in processors and fixed other misc errors
Mikerah Jan 1, 2022
855cb6d
Made register, stack register and memory public for everything within…
Mikerah Jan 1, 2022
52029bc
Added instructions for GC, reorganized instructions for Arithmetic ci…
Mikerah Jan 2, 2022
a313681
Added lib.rs for vm
Mikerah Jan 3, 2022
4df381e
Basic processor trait
Mikerah Dec 29, 2021
5a8dbac
Added more functions to Processor trait
Mikerah Dec 30, 2021
00890e1
Added basic arithmetic and boolean processors
Mikerah Dec 30, 2021
9b31578
Basic stack register implementation
Mikerah Dec 30, 2021
acb2814
Changed PubInt wrapped type to a multi-limb representation
Mikerah Dec 30, 2021
6057cf1
Added basic register implementation
Mikerah Dec 30, 2021
fadb462
Changed memory struct definition and implement default trait
Mikerah Dec 31, 2021
da7f98e
Basic unimplemented associated functions for memory
Mikerah Dec 31, 2021
b307709
Added skeleton instructions for arithmetic vm and some clean up
Mikerah Jan 1, 2022
a2a9d90
Forgot generics in processors and fixed other misc errors
Mikerah Jan 1, 2022
06a3d85
Made register, stack register and memory public for everything within…
Mikerah Jan 1, 2022
858a2b5
Added instructions for GC, reorganized instructions for Arithmetic ci…
Mikerah Jan 2, 2022
d9fe054
Added lib.rs for vm
Mikerah Jan 3, 2022
b4f45f7
Tidied up and made to compile
th4s Jan 3, 2022
d4dea90
Merge branch 'skeleton_vm' of github.com:hashcloak/stoffelMPC into sk…
Mikerah Jan 5, 2022
7b96ded
Tidied up module replication
th4s Jan 6, 2022
89ec678
Changed &mut self to &self in Register.read() in state.rs
Mikerah Jan 9, 2022
9a253cc
Simplified pop() in state.rs
Mikerah Jan 9, 2022
9265974
Updated Cargo.toml
Mikerah Jan 9, 2022
7514286
Merge branch 'skeleton_vm' of github.com:hashcloak/stoffelMPC into sk…
Mikerah Jan 9, 2022
a75f10c
Renamed instruction to instructions and processor to processors
Mikerah Jan 9, 2022
f6d08eb
Switched instructions to snake case
Mikerah Jan 9, 2022
c809376
Small bugfixes to make branch compile again
th4s Jan 11, 2022
9cb2bce
Basic ideas for StoffelVM APIs done
Mikerah Jan 19, 2022
a18addb
Basic API for StoffelVM
Mikerah Jan 19, 2022
21c6ba2
Merge branch 'skeleton_vm' of github.com:hashcloak/stoffelMPC into sk…
Mikerah Jan 19, 2022
2601d08
Completed Program basic API
Mikerah Jan 19, 2022
6042aae
Update vm/Cargo.toml
Mikerah Jan 19, 2022
2fe7817
Replaced pub(crate) with pub
th4s Jan 20, 2022
06a7a84
Added memory
Mikerah Jan 21, 2022
83c3ac3
Merge branch 'skeleton_vm' of github.com:hashcloak/stoffelMPC into sk…
Mikerah Jan 21, 2022
778bc06
Added global memory
Mikerah Jan 21, 2022
8eebe4b
Small bugfixes
th4s Jan 21, 2022
092cf1d
Improved api of types crate
th4s Jan 24, 2022
3fc9dd2
Adapted vm api to the new types api
th4s Jan 24, 2022
8820ae0
Merge branch 'streamline_api' into skeleton_vm
th4s Jan 27, 2022
c81a6dd
Corrected generics
th4s Jan 27, 2022
4dcb172
stoffelVM is alive
th4s Jan 27, 2022
fcc614f
Instructions now get a mutable reference to stoffel_vm
th4s Jan 27, 2022
8036cdc
Removed once_cell
th4s Jan 27, 2022
577f8a8
Remove use of std::lazy
th4s Jan 27, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion types/src/numbers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,3 @@ pub trait MPCType: Sized + Add<Output = Self> + Mul<Output = Self> + Copy + Defa
/// Returns (a, b) if self == 0 and (b, a) if self == 1
fn cond_swap(self, a: Self, b: Self) -> (Self, Self);
}

Loading