Armazenando detalhes do cartão de crédito com mcrypt ou GnuPG

Eu tenho um requisito para armazenar detalhes do cartão de crédito (não armazenar não é uma opção).

Usar mcrypt com mcrypt_dev_random para gerar o init_vector leva várias idades para criptografar / descriptografar, mas parece ser a opção mais "segura". mcrypt_dev_urandom MUITO mais rápido, mas não é adequado para armazenamento a longo prazo - como eu li.

Olhando para o GnuPG como uma alternativa possível e gostaria de algumas opiniões / heads-up sobre estes, se possível.

questionAnswers(3)

yourAnswerToTheQuestion