Whitebox cryptography AES implementation.
This repository contains a Java implementation of a complete whitebox AES-128 scheme introduced by Chow et al. It implements/uses input/output encodings, mixing bijections, external encodings.
Implementation code contains pure Java implementation of the Chow's whitebox AES scheme instance generator and instance emulator. Generated instance can be serialized.
You also might be interested in my C++ implementation of the Chow's generator & emulator. It also contains implementation of Karroumi whitebox scheme and Billet et al. key recovery attack (not implemented in Java version).
- Maven
- BouncyCastle (Maven should handle this dependency)
Code is licensed under new BSD license. For further details see LICENSE file.
If you would like to improve my code by extending it to AES-256 or implementing other whitebox AES schemes do not hesitate to submit a pull request. Please also consider it if you find some bug in the code. I am not actively developing this code at the moment but I will review the pull requests. Thanks!
This implementation is an open source. If you like the code or you do find it useful please feel free to donate to the author whatever amount you would like by clicking on the paypal button below. And if you don't feel like donating, that's OK too.
Bitcoin:
1342dgQqohM9PMLof7RaFK51B5tCiMW2sp
Monero:
82yfZZG8hmgZb5aEhgqUwZ6KmxUQhEnffBTG9MrYWmTf7ZMgRxzNPWjG5rRLowbRe9Wfeaf3ace8uDG3LQV6LgYrVaWJNrA