http://qs321.pair.com?node_id=1062115


in reply to Code hanging with Crypt OpenPGP

I just tried this on a 5.18.0 install, with kennethk's fix for pulling in the whole file, and it worked for me (Ubuntu). It encrypted various test files, and gpg 1.4.11 was able to decrypt them to the original input.

While David is right that Alt::Crypt::RSA::BigInt fixes a bunch of issues on some machines, I don't believe it has any impact here. It's calling Crypt::Rijndael::encrypt via Crypt::OpenPGP::CFB::encrypt.

I thought it might be computation time, but a 7MB csv file encrypted in about 0.5 seconds (with the XS Crypt::Rijndael so the actual encryption was about 3% of the total time taken). The time consuming parts of that half second on my machine were crc24, CFB encrypt (the Perl wrapper around the block encrypt), and Zlib deflate.

My next thought was hanging waiting for Crypt::Random to get entropy from /dev/random, but it looks like it's reading 282 bytes from /dev/urandom, and the latter shouldn't block.

Without knowing more (e.g. is the O/S Linux, Windows, Solaris, Sunos 4.1, etc.? What version of Perl? What versions of Crypt::OpenPGP and friends?) I'm not sure.