FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 操作の理論 | 対称キーの操作 | 非対称キーの操作 | 関連項目 | 歴史 | バグ
CRYPTO(4)          FreeBSD カーネルインタフェースマニュアル          CRYPTO(4)

名称
     crypto, cryptodev -- ハードウェアで促進される暗号化へのユーザモードのアク
     セス

書式
     device crypto
     device cryptodev

     #include <sys/ioctl.h>
     #include <sys/time.h>
     #include <crypto/cryptodev.h>

解説
     crypto ドライバは、crypto(9) のカーネル内インタフェースによって実装される
     ように、ハードウェアで促進された暗号化の変換へのユーザモードのアプリケー
     ションのアクセスを与えます。

     /dev/crypto 特殊デバイスは、ioctl(2) に基づいたインタフェースを提供しま
     す。ユーザモードのアプリケーションは、特殊デバイスをオープンするべきで、
     次に、記述子で ioctl(2) 要求を発行します。/dev/crypto へのユーザモードの
     アクセスは、3 つの sysctl(8) 変数、kern.userasymcryptokern.cryptodevallowsoft によって制御されます。

     crypto デバイスは、操作の 2 つの区別されるモードを提供します: 対称キーの
     暗号化の要求のための 1 つのモード、と非対称キー (公開キー/秘密キー) の要
     求のため、と (Diffie-Hellman キー交換と他の暗号化プロトコルのための) モ
     ジュール式の計算の両方のための 2 番目のモード。2 つのモードは、以下に別々
     に説明されています。

操作の理論
     対称キーまたは非対称キーの操作が実行されることであるかどうかにかかわら
     ず、デバイスの使用は、基本的な一連の手順を必要とします:

     1.   デバイスのためにファイル記述子をオープンします。open(2) を参照してく
          ださい。

     2.   あらゆる対称の操作が実行されるなら、CIOCGSESSION で 1 つのセッション
          を作成します。ほとんどのアプリケーションは、すくなくとも 1 つの対称
          のセッションを必要とします。暗号と MAC キーは、セッションに結び付け
          られるので、多くのアプリケーションは、より要求します。非対称な操作
          は、セッションを使用しません。

     3.   CIOCCRYPT (対称) または CIOCKEY (非対称) と同期して要求を提示しま
          す。

     4.   CIOCFSESSION で 1 つのセッションを破壊します。

     5.   close(2) でデバイスをクローズします。

対称キーの操作
     対称キーの操作モードは、伝統的な対称キーの暗号化 (またはプライバシ) アル
     ゴリズム、または一方向のハッシュ (HMAC と MAC) アルゴリズムをキーとして、
     キーを解除するためにコンテキストベースの API を提供します。また、対称キー
     のモードは、溶解した操作を許可し、ハードウェアが、データを越えて単一のパ
     スでプライバシアルゴリズムと整合性チェックのアルゴリズムを実行します: 溶
     解された暗号化/HMAC 生成操作、または溶解された HMAC-verify/復号化操作のい
     ずれか。

     対称のモードを使うために、利用者は、最初に使用する (複数の) アルゴリズム
     と (複数の) キーを指定しているセッションを作成しなければなりません。次
     に、暗号化を発行するか、またはセッションに対して要求を暗号解読します。

   アルゴリズム
     サポートされたアルゴリズムのリストについては、crypto(7)crypto(9) を参
     照してください。

   IOCTL 要求の記述
     CRIOGET int *fd
                   セッションの作成のための新しいファイル記述子をもたらし
                   ioctl(2) への fd 引数をクローン化します。

     CIOCFINDDEV struct crypt_find_op *fop

                   struct crypt_find_op {
                       int     crid;       /* ドライバ id + フラグ */
                       char    name[32];   /* デバイス/ドライバ名 */
                   };

                   crid が -1 であるなら、name と名前が付けられたドライバを見
                   つけて、crid に id を返します。crid が -1 ではないなら、
                   namecrid でドライバの名前を返します。いずれにしても、ド
                   ライバが見つけられないなら、ENOENT が返されます。

     CIOCGSESSION struct session_op *sessp

                   struct session_op {
                       u_int32_t cipher;   /* 例えば、CRYPTO_DES_CBC */
                       u_int32_t mac;      /* 例えば、CRYPTO_MD5_HMAC */

                       u_int32_t keylen;   /* 暗号キー */
                       void * key;
                       int mackeylen;      /* mac キー */
                       void * mackey;

                       u_int32_t ses;      /* returns: ses 番号 */
                   };

                   デバイスのためのファイル記述子で新しい暗号化セッションを作
                   成します。すなわち、選ばれたプライバシアルゴリズムに指定さ
                   れた持続的なオブジェクト、整合性アルゴリズム、と sessp で指
                   定されたキー。プライバシまたは整合性のための特別な値 0 は、
                   示された操作 (プライバシまたは整合性) が、このセッションの
                   ために要求されないことを示すために予約されています。

                   複数のセッションは、単一のファイル記述子のためにバインドさ
                   れます。sessp->ses で返されたセッションの ID は、将来の暗号
                   化またはハッシュ要求のために対称の操作構造体 crypt_op の必
                   要なフィールドとして供給されます。

                   非 0 の対称キーのプライバシアルゴリズムのために、プライバシ
                   アルゴリズムは、sessp->ciphersessp->keylen のキー長さ、
                   と sessp->key によって取り組まれるオクテットのキー値で指定
                   されなければならない。

                   キーとされる一方向のハッシュアルゴリズムのために、一方向の
                   ハッシュは、sessp->macsessp->mackey のキー長さ、と
                   sessp->mackeylen によって取り組まれるオクテットのキー値で指
                   定されなければならない。

                   溶解したプライバシと保全性チェックアルゴリズムの特有の組み
                   合わせのためのサポートは、基本的なハードウェアがその組み合
                   わせをサポートするかどうかに依存します。すべての組み合わせ
                   は、たとえハードウェアが、スタンドアロンの溶解しない操作と
                   して各操作をサポートしたとしても、すべてのハードウェアに
                   よってサポートされるわけではありません。

     CIOCCRYPT struct crypt_op *cr_op

                   struct crypt_op {
                       u_int32_t ses;
                       u_int16_t op;       /* 例えば、COP_ENCRYPT */
                       u_int16_t flags;
                       u_int len;
                       caddr_t src, dst;
                       caddr_t mac;                /* 結果のために十分に大きくなければなりません */
                       caddr_t iv;
                   };

                   対称キー (またはハッシュ) 操作を要求します。ioctl(2) への
                   ファイル記述子の引数は、有効なセッションのためにバインドさ
                   れなければなりません。暗号化のために、cr_op->op を
                   COP_ENCRYPT に設定します。暗号解読のために、cr_op->op を
                   COP_DECRYPT に設定します。フィールド cr_op->len は、入力
                   バッファの長さを供給します。フィールド cr_op->src,
                   cr_op->dst, cr_op->mac, cr_op->iv は、それぞれの入力バッ
                   ファ、出力バッファ、一方向のハッシュ、と初期化ベクトルのア
                   ドレスを供給します。

     CIOCCRYPTAEAD struct crypt_aead *cr_aead

                   struct crypt_aead {
                       u_int32_t ses;
                       u_int16_t op;       /* 例えば、COP_ENCRYPT */
                       u_int16_t flags;
                       u_int len;
                       u_int aadlen;
                       u_int ivlen;
                       caddr_t src, dst;
                       caddr_t aad;
                       caddr_t tag;                /* 結果のために十分に大きくなければなりません */
                       caddr_t iv;
                   };

                   CIOCCRYPTAEAD は、CIOCCRYPT に似ていますが、認証モードで含
                   むために cr_aead->aad の追加のデータを提供します。

     CIOCFSESSION u_int32_t ses_id
                   file-descriptor 引数に関連する /dev/crypto セッションを破壊
                   します。

     CIOCNFSESSION struct crypt_sfop *sfop;

                   struct crypt_sfop {
                       size_t count;
                       u_int32_t *sesid;
                   };

                   セッション識別子の sfop 配列によって指定された sfop->count
                   セッションを破壊します。

非対称キーの操作
   非対称キーのアルゴリズム
     また、ハードウェアのサポートを条件として、次の非対称な (公開キー/秘密
     キー; または、キー交換サブルーチン) 操作が、利用可能です:

           Algorithm             Input parameter    Output parameter
                                 Count              Count
           CRK_MOD_EXP           3                  1
           CRK_MOD_EXP_CRT       6                  1
           CRK_DSA_SIGN          5                  2
           CRK_DSA_VERIFY        7                  0
           CRK_DH_COMPUTE_KEY    3                  1

     入力と出力パラメータのカウントの議論については、以下を参照してください。

   非対称キーのコマンド
     CIOCASYMFEAT int *feature_mask
              サポートされる非対称キー操作のビットマスクを返します。上記にリス
              トされた非対称な操作のそれぞれは、その操作のためのコードによって
              番号を付けられるビット位置が設定される時かつその時に限り、存在し
              ます。例えば、CRK_MOD_EXP は、ビット (1 << CRK_MOD_EXP) が設定さ
              れる時かつその時に限り、利用可能です。

     CIOCKEY struct crypt_kop *kop

              struct crypt_kop {
                  u_int crk_op;               /* 例えば、CRK_MOD_EXP */
                  u_int crk_status;           /* 返りの状態 */
                  u_short crk_iparams;        /* 入力パラメータの数 */
                  u_short crk_oparams;        /* 出力パラメータの数 */
                  u_int crk_pad1;
                  struct crparam crk_param[CRK_MAXPARAM];
              };

              /* パックされたバイト単位の Bignum (大数) パラメータ. */
              struct crparam {
                  void * crp_p;
                  u_int crp_nbits;
              };

              上記のリストから非対称キー操作を実行します。特定の操作は、
              kop->crk_op で供給されます。操作のための最終的な状態は、
              kop->crk_status に返されます。入力引数の数と出力引数の数は、それ
              ぞれ kop->crk_iparamskop->crk_iparams て指定されます。フィー
              ルド crk_param[] は、それぞれ struct crparam (アドレス、ビット
              長) のペアとしてエンコードされた、正確な kop->crk_iparams +
              kop->crk_oparams 引数に書き込まれなければなりません。

              これらの引数のセマンティクスは、現在文書化されていません。

関連項目
     aesni(4), hifn(4), ipsec(4), padlock(4), safe(4), ubsec(4), crypto(7),
     geli(8), crypto(9)

歴史
     crypto ドライバは、OpenBSD 3.0 ではじめて登場しました。crypto ドライバ
     は、FreeBSD 5.0 で取り込まれました。

バグ
     エラーチェックと報告は、脆弱です。

     CIOCGSESSION への対称キーのキーのサイズのために指定された値は、
     opencrypto(9) によって予期される値と正確に一致しなければなりません。
     CIOCCRYPT に供給された出力バッファと MAC バッファは、プライバシまたは整合
     性のアルゴリズムがセッションのために指定されたかどうかにかかわらず、従わ
     なければなりません: 利用者が NULL でないアルゴリズムを要求するなら、利用
     者は、適切なサイズのバッファを供給しなければなりません。

     非対称な要求のために渡された引数のためのスキームは、いびつです。

     CRIOGET と様々な CIOC* 名の間の名前付けの矛盾は、不運な歴史的な所以です。

FreeBSD 11.2                   December 15, 2015                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索