Talking this over with @dreid: I think we should enforce `key_size >= 1024`. Here's why:

* Any smaller key is practically factorable.
* PyCrypto enforces this check, which means no one who is porting will be effected.
* Removing the check (or lowering the bound) is a backwards compatible change in the future, increasing or adding it is not, so we should be more aggressive now.