GnuTLS暗号関数への入力は、Emacs Lispのプリミティブ型またはリストのいずれの形式でも、いくつかの方法で指定できます。
リスト形式は現在、md5 や secure-hash の動作と同様になっています。
bufferバッファを入力として渡すだけで、そのバッファ全体を使用することになります。
string入力として与えられた文字列はそのまま使用されます。(他の多くのEmacs Lisp関数とは異なり)関数によって文字列が変更される場合があり、これにより関数の処理後に機密データが漏洩するリスクを低減できます。
(buffer-or-string start end coding-system noerror)これは上述のようにバッファまたは文字列を指定しますが、start と end で任意の範囲を指定できます。
さらに、必要に応じてオプションの coding-system を指定できます。
最後のオプション項目 noerror
は、指定された、あるいは選択された符号化方式でテキストを符号化できない場合の通常のエラーを上書きします。noerror が nil 以外の場合、この関数は代わりに
raw-text 符号化を暗黙的に使用します。
(iv-auto length)これにより、指定された長さのランダムなIV(初期化ベクトル)が生成され、関数に渡されます。 これにより、IVが予測不可能となり、同一セッション内で再利用される可能性が低くなります。