| // Copyright 2010 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| func TestCFB(t *testing.T) { |
| block, err := aes.NewCipher(commonKey128) |
| plaintext := []byte("this is the plaintext") |
| iv := make([]byte, block.BlockSize()) |
| cfb := NewCFBEncrypter(block, iv) |
| ciphertext := make([]byte, len(plaintext)) |
| cfb.XORKeyStream(ciphertext, plaintext) |
| cfbdec := NewCFBDecrypter(block, iv) |
| plaintextCopy := make([]byte, len(plaintext)) |
| cfbdec.XORKeyStream(plaintextCopy, ciphertext) |
| if !bytes.Equal(plaintextCopy, plaintext) { |
| t.Errorf("got: %x, want: %x", plaintextCopy, plaintext) |