pythonbokehholoviewsside-channel-attacks

Chipwhisperer TVLA has errors in site-packages


I'm trying to use the TVLA assessment provided by Chipwhisperer on my FPGA board. (Clone of the repo tagged as 5.1.3) They provide the PA_TVLA_1-Performing_TVLA_Testing_for_Crypto_Validation.ipynb Jupyterplaybook for that. I modified it to initialize the FPGA but the rest of the flow is identical being the capturing of the traces and analyzing them.

The code which does the analysis and errors out.

import holoviews as hv
hv.extension('bokeh')
import numpy as np
import scipy
import scipy.stats

project = cw.open_project('projects/MyProject.cwp')
fixedpy = [0xda, 0x39, 0xa3, 0xee, 0x5e, 0x6b, 0x4b, 0x0d, 0x32, 0x55, 0xbf, 0xef, 0x95, 0x60, 0x18, 0x90]

testouts = []
num_traces = len(project.traces)
num_points = len(project.waves[0])
print(num_traces, num_points)
curve = hv.Curve([])

def do_the_ttvla(project, ntraces=-1):
    global curve, line
    if ntraces == -1:
        ntraces = int(num_traces / 2)
        
    if ntraces * 2 > num_traces:
        raise ValueError("Invalid ntraces")
    for g in range(0, 2):
        group = [(list(project.textins[i]) == fixedpy) for i in range(g*ntraces, g*ntraces+ntraces)]
        trace = np.zeros((ntraces, num_points))

        for n in range(g*ntraces, g*ntraces+ntraces):
            trace[n - g*ntraces][:] = project.waves[n]
                
        testout = welch_ttest(group, trace)
        curve *= hv.Curve(testout)
        testouts.extend(testout)
        
    curve *= hv.Path([(0, -4.5), (num_points, -4.5)]).opts(color="black") * \
    hv.Path([(0, 4.5), (num_points, 4.5)]).opts(color="black")

def welch_ttest(group, traces):
    import warnings
    # Compute Welch's t-statistic at each point in time
    # Here, group[] must only contain booleans (True/False)
    traces_true = traces[np.where(np.array(group))]
    traces_false = traces[np.where(~np.array(group))]
    
    if len(traces_true) == 0:
        traces_true  = np.array([[np.nan for _ in range(len(traces[0]))]])
    if len(traces_false) == 0:
        traces_false = np.array([[np.nan for _ in range(len(traces[0]))]])
    
    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        ttrace = scipy.stats.ttest_ind(traces_true, traces_false, axis=0, equal_var=False)[0]
        
    return np.nan_to_num(ttrace) 
    
do_the_ttvla(project)
(curve).opts(height=600, width=600)

When I run this code I get the following errors:

WARNING:param.BokehRenderer: Use method 'params' via param namespace 
WARNING:param.BokehRenderer:Use method 'params' via param namespace 

---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
<ipython-input-14-8f71252adeef> in <module>
     53     return np.nan_to_num(ttrace)
     54 
---> 55 do_the_ttvla(project)
     56 (curve).opts(height=600, width=600)

<ipython-input-14-8f71252adeef> in do_the_ttvla(project, ntraces)
     29 
     30         testout = welch_ttest(group, trace)
---> 31         curve *= hv.Curve(testout)
     32         testouts.extend(testout)
     33 

~/.local/lib/python3.7/site-packages/holoviews/core/overlay.py in __mul__(self, other)
     41             return NotImplemented
     42 
---> 43         return Overlay([self, other])
     44 
     45 

~/.local/lib/python3.7/site-packages/holoviews/core/overlay.py in __init__(self, items, group, label, **params)
    141         self.__dict__['_group'] = group
    142         self.__dict__['_label'] = label
--> 143         super(Overlay, self).__init__(items, **params)
    144 
    145     def __getitem__(self, key):

~/.local/lib/python3.7/site-packages/holoviews/core/dimension.py in __init__(self, items, identifier, parent, **kwargs)
   1327         if items and all(isinstance(item, Dimensioned) for item in items):
   1328             items = self._process_items(items)
-> 1329         params = {p: kwargs.pop(p) for p in list(self.params().keys())+['id', 'plot_id'] if p in kwargs}
   1330 
   1331         AttrTree.__init__(self, items, identifier, parent, **kwargs)

~/.local/lib/python3.7/site-packages/param/parameterized.py in inner(*args, **kwargs)
   1328                 get_logger(name=args[0].__class__.__name__).log(
   1329                     WARNING, 'Use method %r via param namespace ' % fn.__name__)
-> 1330             return fn(*args, **kwargs)
   1331 
   1332         inner.__doc__= "Inspect .param.%s method for the full docstring"  % fn.__name__

~/.local/lib/python3.7/site-packages/param/parameterized.py in params(cls, parameter_name)
   2765     @Parameters.deprecate
   2766     def params(cls,parameter_name=None):
-> 2767         return cls.param.params(parameter_name=parameter_name)
   2768 
   2769     @classmethod

~/.local/lib/python3.7/site-packages/param/parameterized.py in params(self_, parameter_name)
   1422         superclasses.
   1423         """
-> 1424         pdict = self_.objects(instance='existing')
   1425         if parameter_name is None:
   1426             return pdict

~/.local/lib/python3.7/site-packages/param/parameterized.py in objects(self_, instance)
   1511         if instance and self_.self is not None:
   1512             if instance == 'existing':
-> 1513                 if getattr(self_.self, 'initialized', False) and self_.self._instance__params:
   1514                     return dict(pdict, **self_.self._instance__params)
   1515                 return pdict

~/.local/lib/python3.7/site-packages/holoviews/core/tree.py in __getattr__(self, identifier)
    254             sanitized = identifier
    255 
--> 256         if sanitized in self.children:
    257             return self.__dict__[sanitized]
    258 

... last 1 frames repeated, from the frame below ...

~/.local/lib/python3.7/site-packages/holoviews/core/tree.py in __getattr__(self, identifier)
    254             sanitized = identifier
    255 
--> 256         if sanitized in self.children:
    257             return self.__dict__[sanitized]
    258 

RecursionError: maximum recursion depth exceeded in comparison

I don't really understand what is going wrong, it seems to be some kind of parameter passing, but it is in the library itself so I'm expecting that something changed?


Update: Contents of project.traces:

[[memmap([ 0.015625  , -0.00585938, -0.00097656,  0.00878906,  0.015625  ,
          -0.12402344, -0.11132812, -0.05664062, -0.00097656, -0.09863281,
          -0.06640625, -0.00976562,  0.03613281, -0.08007812, -0.06542969,
          -0.01660156,  0.02050781, -0.10351562, -0.08105469, -0.02734375,
           0.02246094, -0.09765625, -0.07324219, -0.01855469,  0.02832031,
          -0.09082031, -0.06933594, -0.01757812,  0.02832031, -0.08789062,
          -0.06542969, -0.015625  ,  0.02832031, -0.09179688, -0.06933594,
          -0.01855469,  0.02734375, -0.09765625, -0.06933594, -0.01855469,
           0.02929688, -0.09667969, -0.06933594, -0.01660156,  0.03222656,
          -0.0859375 , -0.05566406, -0.01171875,  0.03417969, -0.10058594,
          -0.07421875, -0.02246094,  0.02636719,  0.03125   ,  0.04882812,
           0.05078125,  0.04980469,  0.        , -0.00488281, -0.00195312,
           0.01269531, -0.00878906,  0.00097656,  0.01464844,  0.03027344,
           0.00390625,  0.00683594,  0.015625  ,  0.02539062, -0.01074219,
          -0.00683594,  0.0078125 ,  0.02246094, -0.00585938,  0.        ,
           0.01269531,  0.02441406, -0.00390625, -0.00195312,  0.01269531,
           0.02148438, -0.00195312,  0.00292969,  0.01464844,  0.02441406,
          -0.0078125 , -0.00292969,  0.00976562,  0.02050781, -0.00488281,
          -0.00195312,  0.01171875,  0.02148438, -0.00878906, -0.00488281,
           0.00683594,  0.02246094, -0.00097656,  0.00683594,  0.01660156,
           0.02441406, -0.01171875, -0.00585938,  0.00488281,  0.02050781,
          -0.00878906,  0.        ,  0.01074219,  0.02539062, -0.00390625,
           0.00195312,  0.00976562,  0.02246094, -0.0078125 , -0.00097656,
           0.00878906,  0.02050781, -0.00878906, -0.00390625,  0.00683594,
           0.02148438, -0.00683594,  0.        ,  0.00976562,  0.02246094,
          -0.01269531, -0.00488281,  0.00683594,  0.02148438])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.015625  , -0.01757812, -0.00878906, -0.00292969,  0.01269531,
          -0.1015625 , -0.0859375 , -0.04492188,  0.00488281, -0.09570312,
          -0.06347656, -0.01757812,  0.02832031, -0.10058594, -0.07910156,
          -0.03125   ,  0.01855469, -0.09960938, -0.07324219, -0.02441406,
           0.02441406, -0.09179688, -0.06835938, -0.02246094,  0.0234375 ,
          -0.10546875, -0.08300781, -0.03125   ,  0.0234375 , -0.09277344,
          -0.06738281, -0.015625  ,  0.02636719, -0.08984375, -0.06933594,
          -0.02148438,  0.02441406, -0.09375   , -0.07128906, -0.02050781,
           0.02636719, -0.09863281, -0.07519531, -0.02050781,  0.02636719,
          -0.08691406, -0.05957031, -0.01171875,  0.03125   , -0.09375   ,
          -0.07324219, -0.02050781,  0.02539062,  0.02929688,  0.04199219,
           0.04882812,  0.04589844, -0.00292969, -0.01074219, -0.00292969,
           0.00878906, -0.01171875, -0.00390625,  0.01269531,  0.02539062,
           0.00292969,  0.00488281,  0.01367188,  0.02148438, -0.01171875,
          -0.00976562,  0.00488281,  0.02050781, -0.00976562, -0.00292969,
           0.00976562,  0.02441406, -0.00488281, -0.00195312,  0.00878906,
           0.02148438, -0.00390625,  0.00195312,  0.01171875,  0.02246094,
          -0.01171875, -0.00390625,  0.00585938,  0.02050781, -0.01171875,
          -0.00292969,  0.00878906,  0.0234375 , -0.01367188, -0.00488281,
           0.00683594,  0.02148438, -0.00292969,  0.00585938,  0.01269531,
           0.0234375 , -0.01464844, -0.0078125 ,  0.00292969,  0.01660156,
          -0.00976562,  0.        ,  0.01074219,  0.0234375 , -0.00488281,
          -0.00097656,  0.00976562,  0.02050781, -0.0078125 , -0.00097656,
           0.00878906,  0.01953125, -0.01074219, -0.00585938,  0.0078125 ,
           0.02050781, -0.00585938, -0.00292969,  0.00878906,  0.02246094,
          -0.01464844, -0.0078125 ,  0.00488281,  0.01953125])
  array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=uint8)
  array([ 66, 199, 111, 134,  28, 147, 211,  45,  55,  54, 186,  57,  92,
         200, 179, 128], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.02050781, -0.00976562, -0.00292969,  0.01074219,  0.02246094,
          -0.00683594, -0.00292969,  0.00683594,  0.02148438, -0.12109375,
          -0.10253906, -0.04589844,  0.01074219, -0.09472656, -0.06347656,
          -0.00488281,  0.04003906, -0.07714844, -0.0625    , -0.01269531,
           0.02929688, -0.09960938, -0.07519531, -0.02148438,  0.03027344,
          -0.07714844, -0.05175781, -0.00585938,  0.03808594, -0.08105469,
          -0.06347656, -0.01464844,  0.03125   , -0.08886719, -0.06542969,
          -0.01464844,  0.03515625, -0.09277344, -0.07128906, -0.01757812,
           0.03613281, -0.08691406, -0.05957031, -0.00976562,  0.03808594,
          -0.07324219, -0.04394531, -0.00390625,  0.03710938, -0.09765625,
          -0.07617188, -0.02148438,  0.03027344,  0.03808594,  0.0546875 ,
           0.05859375,  0.05371094,  0.00683594, -0.00292969,  0.00292969,
           0.01367188, -0.00488281,  0.00390625,  0.01953125,  0.03222656,
           0.00878906,  0.01171875,  0.02050781,  0.02832031, -0.00488281,
          -0.00097656,  0.01269531,  0.02636719, -0.00097656,  0.00390625,
           0.01757812,  0.03027344,  0.00097656,  0.00292969,  0.01660156,
           0.02539062,  0.00488281,  0.00488281,  0.01953125,  0.02832031,
          -0.00195312,  0.00097656,  0.01367188,  0.02636719,  0.        ,
           0.00488281,  0.015625  ,  0.02832031, -0.00488281,  0.        ,
           0.01367188,  0.02734375,  0.00488281,  0.01269531,  0.01855469,
           0.03125   , -0.00683594, -0.00195312,  0.00878906,  0.02539062,
          -0.00195312,  0.00683594,  0.01660156,  0.02929688,  0.00097656,
           0.0078125 ,  0.01464844,  0.02734375, -0.00390625,  0.00390625,
           0.01269531,  0.02734375, -0.00488281,  0.00097656,  0.01367188,
           0.02441406,  0.        ,  0.00390625,  0.01757812,  0.02636719,
          -0.00878906, -0.00097656,  0.01171875,  0.02441406])
  array([ 66, 199, 111, 134,  28, 147, 211,  45,  55,  54, 186,  57,  92,
         200, 179, 128], dtype=uint8)
  array([ 81, 246, 159, 240, 211, 199,  82, 114, 237, 178,  37, 123,   8,
         239, 165, 187], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.01074219, -0.02246094, -0.01660156, -0.00195312,  0.01074219,
          -0.12988281, -0.11621094, -0.05761719, -0.00097656, -0.10253906,
          -0.07128906, -0.01269531,  0.03027344, -0.08886719, -0.07128906,
          -0.02246094,  0.015625  , -0.11035156, -0.08691406, -0.02832031,
           0.01953125, -0.10742188, -0.08007812, -0.02246094,  0.02246094,
          -0.09667969, -0.07324219, -0.02246094,  0.02441406, -0.09277344,
          -0.0703125 , -0.01855469,  0.0234375 , -0.09375   , -0.07421875,
          -0.02246094,  0.02441406, -0.09863281, -0.07519531, -0.02050781,
           0.02734375, -0.09667969, -0.07421875, -0.02148438,  0.02539062,
          -0.08398438, -0.06054688, -0.01269531,  0.02832031, -0.09960938,
          -0.08007812, -0.02832031,  0.02246094,  0.02929688,  0.04589844,
           0.04589844,  0.04589844, -0.00195312, -0.00976562, -0.00488281,
           0.00878906, -0.015625  , -0.00292969,  0.00976562,  0.02636719,
           0.        ,  0.00585938,  0.01171875,  0.02246094, -0.01464844,
          -0.00683594,  0.00195312,  0.02050781, -0.01269531, -0.00097656,
           0.00976562,  0.0234375 , -0.00976562, -0.00292969,  0.00585938,
           0.02050781, -0.00683594,  0.00097656,  0.00878906,  0.02246094,
          -0.01367188, -0.00683594,  0.00488281,  0.01855469, -0.01074219,
          -0.00390625,  0.0078125 ,  0.01855469, -0.01171875, -0.00976562,
           0.00488281,  0.01953125, -0.00097656,  0.00390625,  0.01367188,
           0.02050781, -0.01171875, -0.00878906,  0.00292969,  0.015625  ,
          -0.00878906, -0.00390625,  0.01074219,  0.02050781, -0.00488281,
          -0.00390625,  0.00976562,  0.01660156, -0.00878906, -0.00390625,
           0.00683594,  0.01953125, -0.01171875, -0.00683594,  0.00585938,
           0.01855469, -0.00683594, -0.00292969,  0.00878906,  0.02050781,
          -0.015625  , -0.01074219,  0.00390625,  0.01855469])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.0234375 , -0.01171875, -0.00585938,  0.00488281,  0.01953125,
          -0.09765625, -0.08886719, -0.04199219,  0.01171875, -0.09277344,
          -0.06640625, -0.01367188,  0.03613281, -0.07714844, -0.05957031,
          -0.01367188,  0.03027344, -0.09472656, -0.07324219, -0.02246094,
           0.02929688, -0.09472656, -0.0703125 , -0.01660156,  0.03417969,
          -0.08886719, -0.06347656, -0.015625  ,  0.03417969, -0.08105469,
          -0.05859375, -0.01074219,  0.03515625, -0.0859375 , -0.06542969,
          -0.01464844,  0.03320312, -0.09277344, -0.06542969, -0.01367188,
           0.03417969, -0.08984375, -0.06542969, -0.01269531,  0.03417969,
          -0.07421875, -0.05175781, -0.00390625,  0.03613281, -0.09179688,
          -0.07226562, -0.01660156,  0.03222656,  0.0390625 ,  0.05273438,
           0.05957031,  0.05371094,  0.00585938, -0.00292969,  0.00488281,
           0.01367188, -0.00488281,  0.00390625,  0.02050781,  0.03320312,
           0.00878906,  0.00878906,  0.02050781,  0.03027344, -0.00488281,
          -0.00292969,  0.01367188,  0.02636719, -0.00292969,  0.00488281,
           0.01855469,  0.02929688,  0.        ,  0.00488281,  0.01757812,
           0.02929688,  0.00195312,  0.00878906,  0.01855469,  0.02929688,
          -0.00488281,  0.00292969,  0.01367188,  0.02832031, -0.00292969,
           0.00390625,  0.01464844,  0.03027344, -0.00488281,  0.00195312,
           0.01269531,  0.02734375,  0.00390625,  0.01269531,  0.01855469,
           0.03222656, -0.00683594, -0.00097656,  0.00976562,  0.02539062,
          -0.00292969,  0.00683594,  0.01855469,  0.03027344,  0.00097656,
           0.0078125 ,  0.01464844,  0.02636719, -0.00292969,  0.00390625,
           0.01367188,  0.02636719, -0.00292969,  0.        ,  0.01464844,
           0.02636719,  0.        ,  0.00488281,  0.01660156,  0.02832031,
          -0.00488281, -0.00097656,  0.01367188,  0.02539062])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.02050781, -0.00683594, -0.00488281,  0.00878906,  0.01855469,
          -0.11132812, -0.09472656, -0.04394531,  0.00976562, -0.09863281,
          -0.06835938, -0.01269531,  0.03417969, -0.0859375 , -0.06542969,
          -0.01855469,  0.02734375, -0.10058594, -0.07910156, -0.0234375 ,
           0.02636719, -0.09277344, -0.06738281, -0.01464844,  0.03320312,
          -0.08398438, -0.06347656, -0.015625  ,  0.03222656, -0.07910156,
          -0.05859375, -0.01269531,  0.03222656, -0.09667969, -0.07519531,
          -0.02441406,  0.03027344, -0.08691406, -0.05859375, -0.01074219,
           0.03613281, -0.08886719, -0.06542969, -0.015625  ,  0.03027344,
          -0.08007812, -0.05273438, -0.00878906,  0.03417969, -0.08300781,
          -0.0625    , -0.01464844,  0.03222656,  0.03125   ,  0.04785156,
           0.04882812,  0.04980469,  0.00390625, -0.00390625,  0.00097656,
           0.01464844, -0.00488281,  0.00292969,  0.01855469,  0.02929688,
           0.00683594,  0.00976562,  0.02050781,  0.02636719, -0.0078125 ,
          -0.00292969,  0.01074219,  0.02441406, -0.00390625,  0.        ,
           0.015625  ,  0.02636719, -0.00292969,  0.00195312,  0.01464844,
           0.02441406,  0.00097656,  0.00683594,  0.015625  ,  0.02636719,
          -0.00585938, -0.00097656,  0.00976562,  0.02441406, -0.00390625,
           0.00292969,  0.01464844,  0.02636719, -0.00683594, -0.00195312,
           0.01171875,  0.02441406,  0.00292969,  0.00976562,  0.01953125,
           0.02832031, -0.01074219, -0.00292969,  0.0078125 ,  0.0234375 ,
          -0.00585938,  0.00390625,  0.01464844,  0.02734375, -0.00195312,
           0.00292969,  0.01367188,  0.02246094, -0.00390625,  0.00195312,
           0.01171875,  0.0234375 , -0.00878906, -0.00195312,  0.01171875,
           0.02441406, -0.00292969,  0.        ,  0.01464844,  0.02441406,
          -0.00976562, -0.00488281,  0.00976562,  0.02246094])
  array([ 81, 246, 159, 240, 211, 199,  82, 114, 237, 178,  37, 123,   8,
         239, 165, 187], dtype=uint8)
  array([252,  90, 157, 237, 176, 228, 231, 213, 184, 124, 217,  87, 234,
          82, 192, 166], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]
 [memmap([ 0.01855469, -0.01269531, -0.0078125 ,  0.00292969,  0.015625  ,
          -0.11425781, -0.10546875, -0.04980469,  0.00488281, -0.09375   ,
          -0.06835938, -0.01171875,  0.03320312, -0.07714844, -0.06542969,
          -0.01757812,  0.0234375 , -0.09667969, -0.08007812, -0.02441406,
           0.02441406, -0.09472656, -0.07519531, -0.02148438,  0.03027344,
          -0.08691406, -0.0703125 , -0.01757812,  0.02832031, -0.07910156,
          -0.06542969, -0.01464844,  0.03027344, -0.0859375 , -0.0703125 ,
          -0.01953125,  0.02832031, -0.09375   , -0.0703125 , -0.01757812,
           0.03222656, -0.09179688, -0.06933594, -0.01855469,  0.03222656,
          -0.078125  , -0.05371094, -0.01074219,  0.03417969, -0.09472656,
          -0.07617188, -0.02246094,  0.02734375,  0.03417969,  0.04980469,
           0.05175781,  0.04980469,  0.00097656, -0.00488281, -0.00292969,
           0.01171875, -0.00976562,  0.00097656,  0.015625  ,  0.03027344,
           0.00683594,  0.0078125 ,  0.015625  ,  0.02441406, -0.01074219,
          -0.00488281,  0.00878906,  0.02050781, -0.00488281,  0.        ,
           0.01464844,  0.02441406, -0.00097656,  0.        ,  0.01269531,
           0.02246094,  0.        ,  0.00390625,  0.015625  ,  0.0234375 ,
          -0.00488281, -0.00097656,  0.00976562,  0.02246094, -0.00683594,
           0.00097656,  0.01269531,  0.0234375 , -0.01074219, -0.00390625,
           0.00976562,  0.02246094, -0.00195312,  0.00683594,  0.015625  ,
           0.02734375, -0.01269531, -0.00488281,  0.00683594,  0.02050781,
          -0.0078125 ,  0.00195312,  0.01269531,  0.02636719, -0.00683594,
           0.00292969,  0.00976562,  0.0234375 , -0.00878906,  0.        ,
           0.01074219,  0.02246094, -0.01074219, -0.00390625,  0.0078125 ,
           0.02148438, -0.00488281,  0.00097656,  0.01269531,  0.0234375 ,
          -0.01269531, -0.0078125 ,  0.0078125 ,  0.02148438])
  array([218,  57, 163, 238,  94, 107,  75,  13,  50,  85, 191, 239, 149,
          96,  24, 144], dtype=uint8)
  array([141, 157,  50, 188, 136, 137, 251,   6, 244,  97, 191, 105, 144,
         241, 195, 197], dtype=uint8)
  array([  1,  35,  69, 103, 137, 171, 205, 239,  18,  52,  86, 120, 154,
         188, 222, 240], dtype=uint8)                                    ]] 
 Result truncated

Contents of project.waves[0] where waves is an <chipwhisperer.common.api.ProjectFormat.IndividualIterable object at 0x7fe48203b350>

[ 0.015625   -0.00585938 -0.00097656  0.00878906  0.015625   -0.12402344
-0.11132812 -0.05664062 -0.00097656 -0.09863281 -0.06640625 -0.00976562
 0.03613281 -0.08007812 -0.06542969 -0.01660156  0.02050781 -0.10351562
-0.08105469 -0.02734375  0.02246094 -0.09765625 -0.07324219 -0.01855469
 0.02832031 -0.09082031 -0.06933594 -0.01757812  0.02832031 -0.08789062
-0.06542969 -0.015625    0.02832031 -0.09179688 -0.06933594 -0.01855469
 0.02734375 -0.09765625 -0.06933594 -0.01855469  0.02929688 -0.09667969
-0.06933594 -0.01660156  0.03222656 -0.0859375  -0.05566406 -0.01171875
 0.03417969 -0.10058594 -0.07421875 -0.02246094  0.02636719  0.03125
 0.04882812  0.05078125  0.04980469  0.         -0.00488281 -0.00195312
 0.01269531 -0.00878906  0.00097656  0.01464844  0.03027344  0.00390625
 0.00683594  0.015625    0.02539062 -0.01074219 -0.00683594  0.0078125
 0.02246094 -0.00585938  0.          0.01269531  0.02441406 -0.00390625
-0.00195312  0.01269531  0.02148438 -0.00195312  0.00292969  0.01464844
 0.02441406 -0.0078125  -0.00292969  0.00976562  0.02050781 -0.00488281
-0.00195312  0.01171875  0.02148438 -0.00878906 -0.00488281  0.00683594
 0.02246094 -0.00097656  0.00683594  0.01660156  0.02441406 -0.01171875
-0.00585938  0.00488281  0.02050781 -0.00878906  0.          0.01074219
 0.02539062 -0.00390625  0.00195312  0.00976562  0.02246094 -0.0078125
-0.00097656  0.00878906  0.02050781 -0.00878906 -0.00390625  0.00683594
 0.02148438 -0.00683594  0.          0.00976562  0.02246094 -0.01269531
-0.00488281  0.00683594  0.02148438]

Sample contents of project.textins[0]

[218  57 163 238  94 107  75  13  50  85 191 239 149  96  24 144]

The cw object is imported as import chipwhisperer as cw and is part of the chipwhisperer libary. It's function here is to allow for the traces that are already captured to be loaded into a set of arrays.


Solution

  • pip install --upgrade holoviews fixed the issue.

    for the VM users facing the error, this won't work: Jupyter will crash at boot. I recommend downloading the "ChipWhisperer.Jupyter.holoviews.7z" VM on the release page (release tagged 5.5).