Hi
Encryption is a complicated and wide topic so a general answer is not that easy.
Typically OpenSSL is used as the base of many such tasks - this is a complete open source library containing a wide range of the algorithms required and can be freely compiled and linked into any project (it is C-code - see the book "OpenSSL Network security with OpenSSL" published by O'Reilly - ISBN: 0-596-00270-X).
There are some uTasker based projects (POS) which have used parts of this, but not for encryption of a HTTP connection (HTTPS).
For small footprint devices the required memory space (both FLASH code space and RAM work space) can be a bit restrictive and some of the algorithms are rather processor intensive. For this reason an SSL tunneling technique may be suitable in some cases, which offloads the effort to a proxy. Take a look at the open source STUNNEL project at
www.stunnel.org and its Internet draft at
http://muffin.doit.org/docs/rfc/tunneling_ssl.html. This allows the devices themselves to use standard and simple unsecured HTTP connections within a secure SSL environment.
Regards
Mark