

ArcaneVM – A Fully Homomorphic Encryption Brainfuck Virtual Machine
source link: https://github.com/f-prime/arcanevm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ArcaneVM
ArcaneVM is a virtual machine that can execute instructions encrypted with Fully Homomorphic Encryption . Basically, it's a Brainfuck interpreter that can execute encrypted brainfuck code.
ArcaneVM relies on the nufhe library for its FHE implementation.
Join the chat on Matrix #arcanevm:matrix.org
About
Fully Homomorphic Encryption (FHE) is a reletively new encryption technology that allows for computations on encrypted data. This allows us not only to encrypt the inputs but also encrypt the computations themselves. The output is also encrypted and when decrypted gives the plaintext result of the computation.
This is extremely powerful for people who not only have sensitve data, but also have computations that are sensative.
Since the program essentially has zero context on what it is computing, it has to run through every possible branch of the program. On top of this, the underlying encryption schemes that make FHE possible are very coomputationally expensive.
What this means in the context of ArcaneVM and Brainfuck is that the more instructions a program has, and the larger the tape that it is working with, the slower the program is going to become. This is because at every cycle, the VM has to go through every possible instruction on every possible data cell.
As a result, ArcaneVM is very very very slow.
All integers in ArcaneVM are 8 bits.
Example
Execute Brainfuck code
from arcanevm import run run("++[>+++<-]>>", tape_size=5)
Dependencies
- Python 3
- PyOpenCL
- nufhe
Build
sudo apt install python3-pyopencl
pip3 install -r requirements.txt
Recommend
-
60
README.md Introduction Microsoft Simple Encrypted Arithmetic Library (Microsoft SEAL) is an easy-to-use homomorphic encryption library developed by res...
-
16
Homomorphic encryption is a form ofencryption that allowscomputation onciphertexts, generating an encrypted result which, when decrypted, matches the result of the operations as if they had been performed on thep...
-
16
TFHE Fast Fully Homomorphic Encryption Library over the Torus version 1.1-- Updated security parameters release date: 2020.02.21 version 1.0-- first release date: 2017.05.02
-
23
Cingulata Cingulata (pronounced "tchingulata") is a compiler toolchain and RTE for running C++ programs over encrypted data by means of fully homomorphic encryption techniques. Currently, an in-house...
-
15
Special thanks to Karl Floersch and Dankrad Feist for review Fully homomorphic encryption has for a long time been considered one of the holy grails of cryptography. The promise of fully homomorphic encryption (...
-
8
A Virtual Brainfuck Machine In Go 04 Jan 2017 You’re a programmer and your product manager walks up to your desk, taps you on the shoulder and asks if you have a couple of minutes to spare. She needs to talk to you about...
-
11
Homomorphic Encryption: Introduction And Use CasesDecember 31st 2020 4
-
11
Blog Post Secure AI workloads using fully homomorphic encrypted data HElayers enables seamless use of advanced privacy preserving techniques without having to understand the cryptographic underpinnings r...
-
7
Google’s Fully Homomorphic Encryption Compiler — A Primer Back in May of 2022 I transferred teams at Google to work on Fully Homomorphic Encryption (
-
8
Concrete — Zama's Fully Homomorphic Encryption CompilerMay 4, 2023Ayoub BenaissaThe importance of compilers for homomorphic encryption has been clear since the rise of practical Fully Homomorphi...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK