OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [crypto/] [cipher/] [cfb_test.go] - Rev 761

Go to most recent revision | Compare with Previous | Blame | View Log

// 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.

package cipher

import (
        "bytes"
        "crypto/aes"
        "crypto/rand"
        "testing"
)

func TestCFB(t *testing.T) {
        block, err := aes.NewCipher(commonKey128)
        if err != nil {
                t.Error(err)
                return
        }

        plaintext := []byte("this is the plaintext")
        iv := make([]byte, block.BlockSize())
        rand.Reader.Read(iv)
        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)
        }
}

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.