ChipWhisperer Beta Feature Alert: Segmented Capture for Faster Speed
Updated: Jun 24, 2021
Increased Capture Speed
Along with recent updates to the USB interface, we are excited to announce a new segmented capture beta feature that provides a solution to a long-standing request to bump up the capture speed. This segmenting feature will increase the capture speed by allowing you to split the capture buffer up into many smaller buffers. The total buffer size is the same, but now it looks like this:
This is useful with hardware AES and other short operations – if you only need to capture 240 samples, for example, you can capture many more encryptions at once (100 in CW-Lite, 400 in CW-Pro). The results that we have seen show capture speeds in the range of 200 to 2000 traces/second.
This feature is still in beta, but you can see the example here.
With this new change, the actual target communications become a bottleneck. We introduced a much faster binary communication protocol (replacing the classic 'SimpleSerial' hex ASCII communication) in recent releases, and this is a good example of where it shines. This feature is still in beta, but you can see the example here.
The results that we have seen show capture speeds in the range of 200 to 2000 traces/second.
Of course, if you are using our CW305 target board, it already has faster communication to the target running on the FPGA. However, even on this board, you can push it further by implementing a batched run mode (which runs multiple encryptions in sequence).
Using the segmented mode requires an updated FPGA bitstream on the ChipWhisperer-Lite or ChipWhisperer-Pro. If you are on release 5.5, this is the default bitstream that will get loaded when you connect, so nothing else is needed. Since we have had reports of instability on the clock network with this bitstream, we have reverted the changes in GIT so it won't be the default if you are tracking our develop branch.
Despite these problems, we have successfully been using the segmented capture for long test captures with the 5.5 release, so in many cases, it will work just fine.
Keep an eye out in future releases for the more complete version of this, which will become a default option for many of our tutorials. If you have a use-case where the higher capture rates will save you hours or days, you may want to jump on the beta bitstream.
Drop us a note on the forum or as a GITHub issue if this is something that you need.
Subscribe to our newsletter to get a breakdown of the latest updates for this feature and future releases!