Author: Pascal Paillier