import "crypto/blowfish"

このパッケージは、Bruce Schneier氏のBlowfish暗号アルゴリズムを実装しています。

パッケージファイル

block.go cipher.go const.go

定数

Blowfishのブロックのバイトサイズ。

const BlockSize = 8

Cipher型

Cipherは、特定のキーを使用するBlowfish暗号のインスタンスです。

type Cipher struct {
    // contains unexported fields
}

NewCipher関数

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

NewCipherは、新しいCipherを作成して返します。 引数keyには4~56バイトのBlowfishキーを指定する必要があります。

(*Cipher) BlockSize関数

func (c *Cipher) BlockSize() int

BlockSizeは、Blowfishのブロックサイズである8を返します。この値は、パッケージ”crypto/block”のCipherインタフェースを満たしている必要があります。

(*Cipher) Decrypt関数

func (c *Cipher) Decrypt(dst, src []byte)

Decryptは、8バイトのsrcバッファを鍵kで復号化し、結果をdstに格納します。

(*Cipher) Encrypt関数

func (c *Cipher) Encrypt(dst, src []byte)

Encryptは、8バイトのsrcバッファを鍵kで暗号化し、結果をdstに格納します。注意すべき点は、データ量がブロックサイズより大きいとき に、連続したブロックでEncryptを呼び出すのは安全ではありません。代わりにCBCのような暗号化モードを使用してくださ い。(crypto/block/cbc.goを参照)

(*Cipher) Reset関数

func (c *Cipher) Reset()

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

KeySizeError型

type KeySizeError int

(KeySizeError) String関数

func (k KeySizeError) String() string