[8th of series ABE] Charm
3. The Charm Framework
This section will proceed with installing the Charm framework. The Charm framework, serving as a high-level charm-crypto platform, enables rapid prototyping of advanced cryptographic systems. As an engineered solution, it utilizes a hybrid architecture, combining optimized mathematical operations implemented in native C language for performance. Ensure that all required dependencies are properly installed within your Conda virtual environment.
(crypto) joe@Ubuntu00:~/Public$ sudo apt-get update
(crypto) joe@Ubuntu00:~/Public$ sudo apt-get install M4
(crypto) joe@Ubuntu00:~/Public$ sudo apt-get install flex
(crypto) joe@Ubuntu00:~/Public$ sudo apt-get install bison
3.1. Dependencies
Check out our previous blog here for installing "gmp-5.1.3", "pbc-0.5.14", and "libssl-dev". Additionally, the recorded video can be viewed here: https://www.bilibili.com/video/BV1PV41187is
3.2. Charm Framework
This section will deploy the Charm framework. The download page for the Charm framework is accessible here.
To begin with, we access the Charm source code specifically for Python 3. The core Charm project, which supports both Python versions, is accessible at here.
(crypto) joe@Ubuntu00:~/Public$ wget [https://github.com/JHUISI/charm/archive/dev.zip](https://github.com/JHUISI/charm/archive/dev.zip)
Second, we unzip the charm source code.
(crypto) joe@Ubuntu00:~/Public$ unzip dev.zip
**Third, **access the source code folder and set up the charm. Please refer to the official tutorial available at this GitHub repository, specifically for setting up charm Python 3.
(crypto) joe@Ubuntu00:~/Public$ cd charm-dev
(crypto) joe@Ubuntu00:~/Public/charm-dev$ ./configure.sh
(crypto) joe@Ubuntu00:~/Public/charm-dev$ make install
(crypto) joe@Ubuntu00:~/Public/charm-dev$ make test
If successfully, you will get a similar result as follows,
charm/toolbox/hash_module.py .
charm/toolbox/paddingschemes_test.py s..........
charm/toolbox/pairinggroup.py .
charm/toolbox/symcrypto.py ...
======================================================================= 184 passed, 3 skipped in 24.70 seconds =======================================================================
