How would I integrate Hardware Security Module encryption with a C# application?
If its a PKCS #11 compliant device, you can use NCryptoki. From their website:
NCryptoki is a library for .NET framework that implements the PKCS#11 specifications and supplies an API for C#, VB.NET, Visual Basic 6, Delphi and other COM interop languages for integrating a PKCS#11 compliant token in any application.
[...]
Main Features:
- Compliant with PKCS#11 2.20 specifications
- Compliant with any PKCS#11 smart card/token/HSM
- 32 or 64 bit platform
- .NET Framework 2.0, 3.0, 3.5 and 4.0