IAIK / rebecca

REBECCA is a tool for the formal verification of masked cryptographic hardware implementations that, given the netlist of a masked hardware circuit, determines if a correct separation between shares is preserved throughout the circuit.
Apache License 2.0
4 stars 2 forks source link

Getting Error in the Benchmark examples #3

Open Vaishalic288 opened 1 year ago

Vaishalic288 commented 1 year ago

I am getting the below error in the benchmark example dom_and , when I run the below command. all the earlier commands are working properly and labeling is also done as per given documentation. I have latest version of all dependencies but still getting the below error. I have also attached log file of the earlier command - ./verify.py --parse-verilog benchmarks/first_order/dom_and/dom_and.v dom_and log.txt

command which gives error: $ ./verify.py --check benchmarks/first_order/dom_and/dom_and.json 1 benchmarks/first_order/dom_and/dom_and.txt t

Error: multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "/usr/lib/python3.10/multiprocessing/pool.py", line 51, in starmapstar return list(itertools.starmap(args[0], args[1])) File "/home/vaishali/rebecca/./verify.py", line 30, in verify_circuit circuit = CircuitGraph(labels, json_file=circuit_file) File "/home/vaishali/rebecca/CircuitGraph.py", line 38, in init self.construct_graph() File "/home/vaishali/rebecca/CircuitGraph.py", line 171, in __construct_graph self.graph[n]['node_type'] = node_type TypeError: 'AtlasView' object does not support item assignment """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/home/vaishali/rebecca/./verify.py", line 108, in res = p.starmap(verify_circuit, File "/usr/lib/python3.10/multiprocessing/pool.py", line 375, in starmap return self._map_async(func, iterable, starmapstar, chunksize).get() File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get raise self._value TypeError: 'AtlasView' object does not support item assignment

vedadux commented 1 year ago

This tool is not maintained, and I suggest looking at Coco, which implements a similar verification mechanism, but works much better for both pure hardware masking and software masking on CPUs.