Here are some notes about various things I should/could/might do. If you're
interested in working on something here (or something else!), drop me an email
and we can coordinate efforts.

* Algorithms / Related
  - Algorithms: HAS-V, UMAC16, UMAC32, MARS
  - Constructions:
      + Davies-Meyer or other block cipher based hashes (see BRS paper)
  - Support for crypto hardware
  - New PK algorithms: ECDSA, ECDH, ?
  - Better entropy estimation
  - PGP CFB block cipher mode

* X.509 / PKCS / ASN.1
  - Support for Unicode (BMP STRING/UNIVERSAL STRING) strings in ASN1_String
  - Support for Unicode/UTF-8 strings everwhere they may show up (certs, etc)

* Major Optimizations
  - BigInt and the related functions could always use more work; there are a
    lot of (fairly) easy optimizations that haven't been done yet, including:
      - Addition chains in FixedExponent_Exp
      - Asymmetric Karatsuba multiplication
  - Assembler implementations of the very low level MPI functions (mp_core.cpp,
    mp_misc.cpp, mp_smul.cpp). Particularly x86, AMD64, SPARC, PowerPC, and
    Alpha would be nice.

* New Interfaces / Protocols
  - CMS: alpha1 is available as a seperate download
  - SSL/TLS
  - PGP
  - SSH
  - NIST's PKAPI

* Modules
  - EntropySources
      BeOS: get_next_{team,thread}_info, get_system_info [done, but untested]
        - There are other sources that can be used (current mouse position,
          screen contents, etc) that would probably help
      VMS: I haven't the slightest idea
      MacOS 8/9: No clue
  - Compression: Zip, Gzip
  - Dynamic Algorithm Loader
     - Maybe, (maybe, maybe) integrate it with the stuff in algolist.cpp
       so it can do automatic lookup. I'm rather skeptical of this approach
       but it is a possiblity.

* Configure / Build System
  - Support for new OSes: Hurd, Plan 9, OS/2, VMS, MacOS 8/9
