Hi Zama Team and Community!
our team has been working extensively with Concrete and we absolutely love the FHE compiler you’ve built. However, while developing our applications, we realized that implementing complex mathematical operations (like real division, trigonometric functions, sorting, and bounded operations) directly on encrypted integers can be quite challenging and resource-intensive.
To solve this, we developed and open-sourced a new helper package: concrete-fhe-toolkit
GitHub Repository: `github.com/tolgabuyuktanir/concrete-fhe-toolkit`
PyPI: `pypi.org/project/concrete-fhe-toolkit`
(Note: I had to format the links as code blocks since I am a new user and cannot post direct links yet.)
What it does: It provides reusable, highly-optimized circuit builders for common operations on encrypted Concrete inputs, without ever decrypting them.
- Batteries-included math: GCD, factorial, primality, isqrt, etc.
- Fixed-point transcendentals:
sin,cos,log,sqrt,tanhvia optimized lookup tables over declared domains. - Array circuits: Bitonic sort, min/max, argmin/argmax.
- Real division: Bounded floor division and bit-level restoring division.
We have designed the API to be extremely friendly (e.g., fhe_math.sin(...), compile_sort(...)) and included static cost guardrails to prevent memory-hungry circuits.
We built this to contribute to the growing FHE ecosystem and make it easier for new developers to build complex dApps/smart contracts using Concrete.
We would be incredibly honored if the core Zama team and the community could take a look. We are very open to feedback, architectural suggestions, and discussions on how we can align this toolkit better with Concrete’s future roadmap.
Looking forward to your thoughts!
Best, Yücel Pehlevan/Agra Fintech