Multi-precision Arithmetic Circuit Homomorphic Encryption for Integer Expressions
This project will be integrated to the main project when ready for deployment.
Important! No licence has been added to this work.
Copyright © 2019-2021
All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher, except in the case of brief quotations embodied in critical reviews and certain other noncommercial uses permitted by copyright law. For permission requests, write to the publisher, addressed “Attention: Permissions Coordinator,” at the addresses below:
kennethsoh@yahoo.com.sg; tewzhenghong@outlook.com; dominic1js@gmail.com; chengjing32@yahoo.com
- BOOST Library
$ cd /
$ sudo apt-get install libboost-all-dev
- Fast Fully Homomorphic Encryption over the Torus (https://github.com/tfhe/tfhe)
$ cd /
$ git clone --recurse-submodules --branch=master https://github.com/tfhe/tfhe.git
$ cd tfhe
$ mkdir build; cd build
$ ccmake ../src
# Press 'c' to configure, then 'g' to generate
$ make
$ make install
- Clone this repository
$ git clone https://github.com/kennethsoh/multi-precision-IE-ACHE.git
- Edit operator.txt to set operation value
- 1: Addition
- 2: Subtraction
- 4: Multiplication
- Compile the c programs
$ python3 compile.py
- Execute the compiled C files, starting with process, then alice, cloud, and verif.
# Value 1
$ ./process
$ ./alice
# Value 2
$ ./process
$ ./alice
# Compute
$ ./cloud
# Verify
$ ./verif
For >2 client setup:
# Value 1
$ ./process
$ ./alice
# Value 2
$ ./process
$ ./alice
# Compute
$ ./cloud
# Delete cloud.data
$ rm cloud.data
# Value 3
$ ./process
$ ./alice
# Add answer from first compute to cloud.data
$ cat answer.data >> cloud.data
# Compute again
$ ./cloud
# Verify
$ ./verif