mirror of
https://github.com/QuilibriumNetwork/ceremonyclient.git
synced 2026-02-22 02:47:26 +08:00
34 lines
821 B
Go
34 lines
821 B
Go
// -*- go -*-
|
|
//
|
|
// Copyright (c) 2020-2021 Markku Rossi
|
|
//
|
|
// All rights reserved.
|
|
//
|
|
|
|
// Package aes implements the Advanced Encryption Standard (AES)
|
|
// block cipher operations.
|
|
package aes
|
|
|
|
// BlockSize defines the AES cipher block size in bytes.
|
|
const BlockSize = 16
|
|
|
|
// EncryptBlock encrypts one data block with the key. The key must be
|
|
// 16, 24, or 32 bytes long.
|
|
func EncryptBlock(key []byte, data [BlockSize]byte) [BlockSize]byte {
|
|
enc := ExpandEncryptionKey(key)
|
|
|
|
var dst [BlockSize]byte
|
|
|
|
return EncryptBlockExpanded(enc, dst, data)
|
|
}
|
|
|
|
// DecryptBlock decrypts one data block with the key. The key must be
|
|
// 16, 24, or 32 bytes long.
|
|
func DecryptBlock(key []byte, data [BlockSize]byte) [BlockSize]byte {
|
|
enc, dec := ExpandKey(key)
|
|
|
|
var dst [BlockSize]byte
|
|
|
|
return DecryptBlockExpanded(dec, dst, data)
|
|
}
|