# CRYPTO_RC4FastInit

## 構文

      #include <nitro/crypto.h>

      void CRYPTO_RC4FastInit(CRYPTORC4FastContext* context, const void* key, u32 key_len);

## 引数

context | RC4の鍵情報などを収めるコンテキスト構造体を指定します。
key | RC4 アルゴリズムによる暗号化/復号を行うための鍵のバイト列へのポインタを指定します。
key_len | key で指定した鍵の長さを指定します。鍵の長さは 16 バイト以下である必要があり、それより大きい場合は 16 バイトに切り詰められます。

## 返り値

ありません。

## 説明

RC4 アルゴリズムによる暗号化を行うための構造体を初期化し、暗号化/復号で用いる鍵を設定します。

ただし、`CRYPTO_RC4Fast()` で処理を行う場合は関数内部からこの関数が呼び出されるので、呼び出し不要です。

`CRYPTO_RC4*()` と `CRYPTO_RC4Fast*()` の違いは使用するメモリ量と処理速度です。
`CRYPTO_RC4*()` で使用する `CRYPTORC4Context` 構造体は 260 バイトですが、 `CRYPTO_RC4Fast*()` で使用する `CRYPTORC4FastContext` 構造体は 1032 バイトを使用します。
また、十分大きなサイズのデータを扱う場合、`CRYPTO_RC4FastEncrypt()` のほうが1.5倍程度速く処理を行います。

## 参照

`CRYPTO_RC4FastEncrypt, CRYPTO_RC4Fast, CRYPTO_RC4Init`

## 履歴

2008/2/25 初版