import "crypto/aes"

このパッケージは米国連邦情報処理標準(FIPS)刊行物197で定義されたAES暗号(以前はRijndael)を実装しています。

パッケージファイル

block.go cipher.go const.go

定数

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

const BlockSize = 16

Cipher型

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

type Cipher struct {
    // contains unexported fields
}

NewCipher関数

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

NewCipherは、新しいCipherを作成して返します。 パラメータkeyにはAESキー(AES-128、AES-192、AES-256のいずれか)を指定する必要があります。

(*Cipher) BlockSize関数

func (c *Cipher) BlockSize() int

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

(*Cipher) Decrypt関数

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

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

(*Cipher) Encrypt関数

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

Encryptは、16バイトの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