Входные данные для криптографических функций 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 непредсказуем и вряд ли будет повторно использован в одной сессии.