What can we do with Concrete Numpy?

Concrete Numpy is made for data scientists. It allows them to turn numpy programs into their FHE equivalent. There are limits however:

  • sometimes due to FHE (eg, we can’t have control-flow functions like if that would test encrypted values)
  • sometimes due to the fact that our framework is a work in progress
  • and sometimes because the precision in Concrete Library is currently limited to 7 bits. More or less, you have to have your numpy programs working with integer only and values which are less than 2^7 = 128.

With the next versions of Concrete Numpy, we’ll try to reduce these limits, and make more things available. But, as you can see with our examples, we can already do a lot of things.

Also, we are working on a set of functions to compile directly torch modules. It is currently in a very preliminary version in the current version and will be updated in further releases.