Bignum support added to XLISP 2.1h
Many cypherpunks might enjoy programming in XLISP 2.1h because the freely available implementation of LISP now offers support for BIGNUMS. That means it is quite easy to write cryptographic algorithms that use very large numbers without adding extra support. The downside is that the language is interpretted and thus much slower than something like C. It should also be possible to write RSA in a very short XLISP program. I don't know if you can do 4 lines, but it should be quite short. -Peter
Date: Wed, 10 Jan 1996 11:26:49 -0500 From: Peter Wayner <pcw@access.digex.net> Many cypherpunks might enjoy programming in XLISP 2.1h because the freely available implementation of LISP now offers support for BIGNUMS. That means it is quite easy to write cryptographic algorithms that use very large numbers without adding extra support. The downside is that the language is interpretted and thus much slower than something like C. This is good to hear. However it's also worth noting that a number of other freely available lisps, e.g. CLISP, gcl (previously kcl and akcl) and CMU Common Lisp, also support bignums. CMU Common Lisp has the disadvantage of not being as portable as the others, but has the advantage of compiling to native code on supported architectures which include Sparc, Pmax, and HP. It should also be possible to write RSA in a very short XLISP program. I don't know if you can do 4 lines, but it should be quite short. Yup. I've written some code that generates large numbers, tests for primality and does RSA. The basic RSA enclode is just (mod-expt m e n) and decrypt is (mod-expt c d n) where mod-expt is just an optimized version of (mod (expt x p) n), ala Schneier, page 200 (1st edition). Even with CLISP (compiles to a byte code which is then interpreted), I've generated RSA keys in the range that PGP deals with. Rick
Also in the area of "bignum support", I have developed a C++ class for large integers. I haven't made in solid speed measurements yet, but it seems to be relatively fast. (More precisely, I was able to compute large Fibonacci numbers much faster than in scheme running under emacs. I don't claim this to be thorough measurement in any way!) If anyone is interested, send me email. -James
participants (4)
-
grimm@MIT.EDU -
pcw@access.digex.net -
Perry E. Metzger -
Rick Busdiecker