CRYPTO_RC4Fast 

構文

#include <nitro/crypto.h>

void CRYPTO_RC4Fast(const void* key, u32 key_len, void* data, u32 data_len);

引数

key RC4 アルゴリズムによる暗号化/復号を行うための鍵のバイト列へのポインタを指定します。
key_len key で指定した鍵の長さを指定します。鍵の長さは 16 バイト以下である必要があり、それより大きい場合は 16 バイトに切り詰められます。
data RC4 アルゴリズムによる暗号化/復号を行う対象のデータへのポインタを指定します。
data_len data で指定したデータの長さを指定します。

返り値

なし。

説明

共通鍵暗号である RC4 アルゴリズムによる暗号化/復号を行います。RC4 アルゴリズムは暗号化と復号を同一の関数で行います。
data に格納されているデータに対して、直接処理を行い、変換結果が上書きされます。
この関数は CRYPTO_RC4FastInit 関数と CRYPTO_RC4FastEncrypt 関数を続けて呼び出すインライン関数として定義されています。

CRYPTO_RC4 関数と CRYPTO_RC4Fast 関数の違いは使用するメモリ量と処理速度です。
CRYPTO_RC4 関数は実行時にスタックに CRYPTORC4Context 構造体を取りますので少なくとも 260 バイト以上が必要になります。
一方、CRYPTO_RC4Fast 関数は CRYPTORC4FastContext 構造体を取りますので、1032 バイト以上のスタックを使用します。
速度に関しては、十分大きなサイズのデータを扱う場合、CRYPTO_RC4Fast 関数のほうが1.5倍程度速く処理を行います。

RC4 アルゴリズムを使用する際の詳細な注意事項に関しましては、「RC4 アルゴリズムによる暗号化の概要」を参照してください。

参照

CRYPTO_RC4FastEncrypt, CRYPTO_RC4FastInit

履歴

2008/2/25 初版