You're poorly informed. As a condition of a grant from DARPA to RSADSI, RSAREF may be used noncommercially, for free, to do any of the following: - RSA encryption and key generation, as defined by RSA Data Security's Public-Key Cryptography Standards (PKCS) [4] - MD2 and MD5 message digests [3,5,6] - DES (Data Encryption Standard) in cipher-block chaining mode [7,8] Moreover, I believe you'll find that RSADSI has become much more helpful recently. For more information, anonymous ftp to rsa.com and look around.
I've just gone over the RSAREF license agreement again. It seems to permit any sort of not-for-profit operation, including a public key service.
Uhh, this is not quite true. If you read closer, you will see that you need "special permission from RSADSI" to use non-published interfaces to RSAREF. At the end is an exerpt from the RSAREF documentation about its interface. If you want more functionality, you have to ask special permission! This means that without this permission, you CANNOT use "RSA encryption" in-and-of itself. -derek ---------- begin exerpt -------------- RSAREF is written entirely in C. Its application interface includes the following routines: R_SignPEMBlock computes a digital signature on a message R_VerifyPEMSignature verifies a digital signature on a message R_VerifyBlockSignature verifies a digital signature on a block of data such as a certificate R_SealPEMBlock computes a digital signature and encrypts a message R_OpenPEMBlock decrypts an encrypted message and verifies a digital signature R_DigestBlock computes a message digest on a message R_GeneratePEMKeys generates an RSA public/private key pair R_RandomInit initializes a random structure R_RandomUpdate mixes bytes into a random structure R_GetRandomBytesNeeded computes the number of mix-in bytes still needed to seed a random structure R_RandomFinal zeroizes a random structure