Cryptographic modules can be implemented either by hardware or by software.
Whereas software implementations are known for being easier to develop and to
maintain, when it comes to cryptographic modules or security-related applications
in general, software implementations are significantly less secure than their
hardware equivalents. The reason for this is due mostly to the fact that software
solutions make use of shared memory space, are running on top of an operating
system and are more fluid in terms of ease of modification.
This document is in pdf format. To
view it click here.