Go Home Page
The Go Programming Language

Package rc4

import "crypto/rc4"

This package implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.

Package files

rc4.go

type Cipher

A Cipher is an instance of RC4 using a particular key.

type Cipher struct {
    // contains unexported fields
}

func NewCipher

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

NewCipher creates and returns a new Cipher. The key argument should be the RC4 key, at least 1 byte and at most 256 bytes.

func (*Cipher) Reset

func (c *Cipher) Reset()

Reset zeros the key data so that it will no longer appear in the process's memory.

func (*Cipher) XORKeyStream

func (c *Cipher) XORKeyStream(buf []byte)

XORKeyStream will XOR each byte of the given buffer with a byte of the generated keystream.

type KeySizeError

type KeySizeError int

func (KeySizeError) String

func (k KeySizeError) String() string

Bugs

RC4 is in common use but has design weaknesses that make it a poor choice for new protocols.