It allows an app to implement an encryption algorithm for execution. Typically, it implements cryptographic algorithms and authenticate users by calling several different crypto modules to perform cryptographic tasks. Crypto Service Providers is often part of the operating system and can be implemented in hardware, software, or both.