GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/GnuTLS-Cryptographic-Functions.html ・ emacs-doc.conao3.com

33.28.2 GnuTLS 暗号関数

関数: gnutls-digests

この関数は、GnuTLSダイジェストアルゴリズムのalistを返します。

各エントリには、アルゴリズムを表すキーがあり、それに続いてアルゴリズムの内部詳細を記述したplistが配置されています。このplistには:type gnutls-digest-algorithmが含まれるほか、生成されるダイジェストのサイズ(バイト単位)を示すキー:digest-algorithm-length 64も含まれています。

GnuTLSのMACアルゴリズムとダイジェストアルゴリズムには名称上の類似点がありますが、内部的には別物であり、混同すべきではありません。

関数: gnutls-hash-digest digest-method input

digest-method には、gnutls-digests の plist 全体、あるいはシンボルキー単体、またはそのシンボル名を含む文字列を指定できます。

input は、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS 暗号入力の形式を参照してください)。

この関数は、エラー時には nil を返し、digest-method または input が無効な場合は Lisp エラーを発生させます。成功した場合は、バイナリ文字列(出力)と使用された IV のリストを返します。

関数: gnutls-macs

この関数は、GnuTLS MACアルゴリズムのalistを返します。

各エントリには、アルゴリズムを表すキーがあり、それに続いてアルゴリズムの内部詳細を記述したplistが配置されています。このplistには:type gnutls-mac-algorithmが含まれるほか、結果となるハッシュ、キー、およびノンスのサイズ(バイト単位)をそれぞれ示すキー:mac-algorithm-length、:mac-algorithm-keysize、:mac-algorithm-noncesizeも含まれています。

ノンスは現在未使用であり、一部のMACのみが対応しています。

GnuTLSのMACアルゴリズムとダイジェストアルゴリズムには名称上の類似点がありますが、内部的には別物であり、混同すべきではありません。

関数: gnutls-hash-mac hash-method key input

hash-method には、gnutls-macs の plist 全体、あるいはシンボルキー単体、またはそのシンボル名を含む文字列を指定できます。

key は、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS 暗号入力の形式を参照)。key が文字列の場合、使用後に消去されます。

input は、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS 暗号入力の形式を参照してください)。

この関数は、エラー時に nil を返し、hash-method、key、または input が無効な場合は Lisp エラーを発生させます。

成功時には、バイナリ文字列(出力)と使用されたIVのリストを返します。

関数: gnutls-ciphers

この関数は、GnuTLS暗号のalistを返します。

各エントリには、暗号方式を表すキーがあり、それに続いてアルゴリズムの内部詳細を記したplistが配置されています。このplistには:type gnutls-symmetric-cipherが含まれるほか、AEAD機能を示すために:cipher-aead-capableにnilまたはtが設定され、さらにタグのサイズ(バイト単位)、生成データのブロックサイズ、キー、およびIVをそれぞれ示す:cipher-tagsize、:cipher-blocksize、:cipher-keysize、:cipher-ivsizeが含まれます。

関数: gnutls-symmetric-encrypt cipher key iv input &optional aead_auth

cipher には、gnutls-ciphers の plist 全体、あるいはシンボルキー単体、またはそのシンボル名を含む文字列を指定できます。

key は、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS 暗号入力の形式を参照)。key が文字列の場合、使用後に消去されます。

iv、input、および省略可能なaead_authは、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS暗号入力の形式を参照)。

aead_auth は AEAD 暗号(つまり、plist に :cipher-aead-capable t が含まれる暗号)でのみチェックされます。それ以外の場合は無視されます。

この関数は、エラー時には nil を返し、cipher、key、iv、または input が無効な場合、あるいは aead_auth が AEAD 暗号で指定され無効であった場合には、Lisp エラーを発生させます。

成功時には、バイナリ文字列(出力)と使用されたIVのリストを返します。

関数: gnutls-symmetric-decrypt cipher key iv input &optional aead_auth

cipher には、gnutls-ciphers の plist 全体、あるいはシンボルキー単体、またはそのシンボル名を含む文字列を指定できます。

key は、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS 暗号入力の形式を参照)。key が文字列の場合、使用後に消去されます。

iv、input、および省略可能なaead_authは、バッファや文字列、あるいはその他の形式で指定できます(GnuTLS暗号入力の形式を参照)。

aead_auth は AEAD 暗号(つまり、plist に :cipher-aead-capable t が含まれる暗号)でのみチェックされます。それ以外の場合は無視されます。

この関数は、復号エラー時に nil を返し、cipher、key、iv、または input が無効な場合、あるいは aead_auth が AEAD 暗号で指定され無効であった場合には、Lisp エラーを発生させます。

成功時には、バイナリ文字列(出力)と使用されたIVのリストを返します。