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/modes”のKeyインタフェースを満たしている必要があります。
(*Cipher) Decrypt関数
func (c *Cipher) Decrypt(src, dst []byte)
Decryptは16バイトのsrcバッファを鍵kで復号化し、結果をdstに格納します。
(*Cipher) Encrypt関数
func (c *Cipher) Encrypt(src, dst []byte)
Encryptは16バイトのsrcバッファを鍵kで暗号化し、結果をdstに格納します。
注意すべき点は、データ量がブロックサイズより大きいときに、連続したブロックでEncryptを呼び出すのは安全ではありません。
代わりにAES-CBCのような暗号化モードを使用してください。(modes.goを参照)
(*Cipher) Reset関数
func (c *Cipher) Reset()
Resetはメモリ上から消去するため、鍵データをゼロ埋めします。
KeySizeError型
type KeySizeError int
(KeySizeError) String関数
func (k KeySizeError) String() string
Trackback URL
Leave a comment
Comments