It would be wonderful if somebody would put a reasonably secure package (much like PGP) and copyleft the source.
Well the GNU MP library would be a good place to start [...] It wouldn't be much work to package it up with free code for Triple DES, IDEA, MD5, SHS and some good "random" number generation algorithms.
My own thoughts on packaging this kind of thing for general use is to make a cryptographically enchanced PERL. In particular, I'd add the following data types: - arbitrary precision integers - arbitrary precision modular integers (i.e. a value, modulus pair) - bit/byte/word vectors of specifiable lengths I'd add the following operators - '*%' (ternary) modular multiplication - '**%' (ternary) modular exponentiation - '~' (binary) bit permutation - '~~' (binary) byte permutation I'd add some functions - des() - armor(), disarmor() - gcd() - xgcd() which also returns the coefficients s.t. x*a + y*b = gcd(x,y) I'd add some miscellaneous stuff like being able to read in a PGP keyring as an associative array. Some strong pseudorandom number generators might be useful. It might also be convenient to have a fast parser for RFC822 email. (Does everybody see where this is leading??) And just because you _can_ easily write, say, $plaintext = &idea( decrypt, $ciphertext, $cipherkey ** $public_exponent{ $user} % $public_modulus{ $user } ) or maybe something else, say, $p = & first_prime( & long_random( 510, 514 ) ) ; $q = & first_prime( & long_random( 510, 514 ) ) ; $N = $p * $q ; [...] doesn't mean that the cryptographic PERL violates anybody's patent rights in any way. These are just my thoughts. I'm not going to work on this, but I do hope to inspire someone who might. Eric