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.
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
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.
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