Is cryptography implemented in user space or kernel space?
Are public/private key pairs generated in the kernel space?
What about encryption or decryption using a given public key or a given private key, or signing a file cryptographically?
Which system calls are used for these operations and how is the private key passed in/retrieved?
I've spent some time looking at the "Asymmetric Cipher Algorithm Definitions" page here: https://www.kernel.org/doc/html/v4.10/crypto/api-akcipher.html but I can't make heads or tails of what functions do what, and what the data structures in their parameters and returns are.
Simply put, which element of which structure corresponds to the private keys?