import "crypto/rc4"

ブルース・シュナイヤー氏の「Applied Cryptography」で定義されているRC4暗号を実装しています。

パッケージファイル

rc4.go

Cipher型

Cipherは、特定の鍵を使用したRC4のインスタンスです。

type Cipher struct {
    // contains unexported fields
}

NewCipher関数

func NewCipher(key []byte) (*Cipher, os.Error)

NewCipherは、新しいCipherを作成して返します。keyパラメータは1バイト~256バイトのRC4鍵である必要があります。

(*Cipher) Reset関数

func (c *Cipher) Reset()

Resetは、プロセスのメモリ上から消去するため鍵データをゼロ埋めします。

(*Cipher) XORKeyStream関数

func (c *Cipher) XORKeyStream(buf []byte)

XORKeyStreamは、与えられたバッファの各バイトを鍵から生成されたキーストリームでXORします。

KeySizeError型

type KeySizeError int

(KeySizeError) String関数

func (k KeySizeError) String() string

バグ

RC4は一般的に使われていますが、仕様に脆弱性があるため新規に採用するのは控えてください。