Next: , Up: GnuTLS Cryptography   [Contents][Index]


32.27.1 GnuTLS暗号化入力のフォーマット

GnuTLS暗号化関数への入力はEmacs Lispのプリミティブかリストのいずれかにより、複数の方法で指定できます。

現在のところリストの形式はmd5secure-hashが動作する方法に似ています。

バッファー

入力として単にバッファーを渡すとバッファー全体が使用されることを意味する。

文字列

文字列は入力として直接使用される。(他のほとんどのEmacs Lisp関数とは異なり)関数の処理後に機密データ漏洩の機会を減少させるために関数が文字列を変更するかもしれない。

(buffer-or-string start end coding-system noerror)

これは上述のようにバッファーか文字列を指定するが、オプションでstartendで範囲を指定できる。

加えて必要ならオプションでcoding-systemを指定できる。

最後のオプションのアイテムnoerrorは指定もしくは選択されたコーディングシステムを使用してテキストをエンコードできない際の通常のエラーをオーバーライドする。noerrorが非nilなら関数は暗黙にraw-textコーディングシステムをかわりに使用する。

(iv-auto length)

これはGnuTLSのGNUTLS_RND_NONCEジェネレーターを使用して指定した長さのランダムなIV(Initialization Vector: 初期化ベクトル)を生成、それを関数に渡す。これによってIVが予測不可能となり、かつ同一セッション内での再利用があり得なくなることが保証される。IVの実際の値は下記のように関数によってリターンされる。