RE: Userspace API proposal was: Re: [PATCH 1/1] RFC: Add CryptoAPI User Space Interface Support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

We here would like to create an user space interface that can be
accepted into Linux CryptoAPI. Therefore, let me summary the current
suggestion:

Option #1:
1. Use file descriptor named '/dev/crypto' or use syscall
2. Each opened file creates a new 'crypto' context that represents a
crypto algorithms - crypto, hash, compression, etc
3. The type of algorithm (#2) is selected via IO control call - like I/O
control with algorithm ASCII name
4. The key and other attributes are set via I/O control
5. Operation such as encrypt, decrypt, hash, and etc are operated via
function write and read. Caller is expected to read the entire result
blocks. If not, failed with an error code.
6. It supports asyncrhonous as file descriptor can be in non-blocking
mode
7. For hash and possible other operation, a read will also execute
final. I don't like this unless it is preceded with a flush call.

Option #2:
1. Use syscall with algorithm name and its associated parameters
2. Operation such as encrypt, decrypt, hash, and etc are operated via
another two system call - crypto_read and crypto_write
3. For this option, how should one handle asynchronous operation???

Option #3:

1. Use syscall to create a special crypto device folder per an algorithm
2. A handle is returned and a crypto filesystem entry is create for that
handle
3. Crypto parameter can be set based on read/write on that folder
4. Crypto operation will be based on file created under that folder. It
will inherit all crypto attributes of that folder.
5. And etc... (See previous email)
6. This approach is overkill and totally unnecessary.

Does this email summary all suggested solution? If not please add to
this list. Which one will like be accepted into the crypto tree???

-Loc
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux