该函数返回 GnuTLS 摘要算法的关联列表。
每个表项以一个代表算法的符号为键,后跟包含该算法内部细节的属性列表。
该属性列表会包含 :type gnutls-digest-algorithm,
同时会有 :digest-algorithm-length 64 以指明最终摘要的字节长度。
GnuTLS 的 MAC 算法与摘要算法在名称上相近,但在内部是不同机制,不应混用。
digest-method 可以是来自 gnutls-digests 的完整属性列表、
仅作为键的符号,或是对应符号名称的字符串。
input 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。
该函数在出错时返回 nil,若 digest-method 或 input 无效则触发 Lisp 错误。
执行成功时,返回一个由二进制字符串(输出结果)和所用 IV 组成的列表。
该函数返回 GnuTLS MAC 算法的关联列表。
每个表项以一个代表算法的符号为键,后跟包含该算法内部细节的属性列表。
该属性列表会包含 :type gnutls-mac-algorithm,
同时会有 :mac-algorithm-length、:mac-algorithm-keysize、
:mac-algorithm-noncesize 等键,分别指明最终哈希值、密钥和随机数的字节长度。
随机数目前暂未使用,且仅部分 MAC 算法支持该参数。
GnuTLS 的 MAC 算法与摘要算法在名称上相近,但在内部是不同机制,不应混用。
hash-method 可以是来自 gnutls-macs 的完整属性列表、
仅作为键的符号,或是对应符号名称的字符串。
key 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。 若密钥为字符串,使用后会被清除。
input 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。
该函数在出错时返回 nil,若 hash-method、key 或 input 无效则触发 Lisp 错误。
执行成功时,返回一个由二进制字符串(输出结果)和所用 IV 组成的列表。
该函数返回 GnuTLS 密码算法的关联列表。
每个表项以一个代表密码的符号为键,后跟包含该算法内部细节的属性列表。
该属性列表会包含 :type gnutls-symmetric-cipher,
同时会有 :cipher-aead-capable 设为 nil 或 t 以标明是否支持 AEAD;
以及 :cipher-tagsize、:cipher-blocksize、
:cipher-keysize、:cipher-ivsize,分别指明标签、数据块、密钥和 IV 的字节长度。
cipher 可以是来自 gnutls-ciphers 的完整属性列表、
仅作为键的符号,或是对应符号名称的字符串。
key 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。 若密钥为字符串,使用后会被清除。
iv、input 以及可选参数 aead_auth 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。
aead_auth 仅在 AEAD 密码下生效,即属性列表中 :cipher-aead-capable t 的密码,
其他情况下会被忽略。
该函数在出错时返回 nil,若 cipher、key、iv、input 无效,
或在 AEAD 密码下指定的 aead_auth 无效,则触发 Lisp 错误。
执行成功时,返回一个由二进制字符串(输出结果)和所用 IV 组成的列表。
cipher 可以是来自 gnutls-ciphers 的完整属性列表、
仅作为键的符号,或是对应符号名称的字符串。
key 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。 若密钥为字符串,使用后会被清除。
iv、input 以及可选参数 aead_auth 可以指定为缓冲区、字符串或其他形式(see GnuTLS 加密输入格式)。
aead_auth 仅在 AEAD 密码下生效,即属性列表中 :cipher-aead-capable t 的密码,
其他情况下会被忽略。
该函数在解密出错时返回 nil,若 cipher、key、iv、input 无效,
或在 AEAD 密码下指定的 aead_auth 无效,则触发 Lisp 错误。
执行成功时,返回一个由二进制字符串(输出结果)和所用 IV 组成的列表。