uProxy/libfte — pull request #24 by kpdyer (2014-07-13 23:00:41+00:00)
Title: Bugfixes for regressions in 0.1.3

This pull request resolves three regressions introduced in 0.1.3.

* Issue #21: We don't install all headers on ```make install```
* Issue #22: Use the ```mpz_class``` constructor, instead of assuming (long long) -> mpz_class implicit conversion
* Issue #23: ```^[a-zA-Z0-9]+$``` often fails to recover the input plaintext upon decryption

Issue #23 was the most significant part of this pull request. It turns out that we can't use rabbit in all cases, as assumed in 0.1.3. We can only use it for FPE if the size of a language is roughly ```2^n``` for some ```n```. This was resolved by simplifying the ```Encrypter``` interface and introducing a ```use_rabbit``` condition in ```fte.cc```. This also allowed us to simplify the cycle-walking logic in ```Fte::Encrypt``` and ```Fte::Decrypt```.