Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (2) — Inferno 4th Edition

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

keyring-intro(2)

keyring-crypt(2)

KEYRING-RC4(2)

NAME

keyring: rc4setup, rc4, rc4skip, rc4back − RC4 encryption

SYNOPSIS

include "keyring.m"; keyring := load Keyring Keyring->PATH;
 
rc4setup: fn(seed: array of byte): ref RC4state; rc4:      fn(state: ref RC4state, buf: array of byte, n: int); rc4skip:  fn(state: ref RC4state, n: int); rc4back:  fn(state: ref RC4state, n: int);

DESCRIPTION

These functions implement the stream encryption algorithm that is claimed to be equivalent to RSA Security’s RC4.  It is a pseudo-random number generator with a 256 byte state and a long cycle. 

Rc4setup sets the initial seed, which can be any non-zero length, and returns a representation of the initial state of the algorithm, which is used in subsequent calls.

Rc4 runs the generator starting with the given state, and XORs the output of the generator with the first n bytes of buf, updating the state. Rc4 is symmetric and is used both to encrypt and decrypt.  Rc4skip skips over bytes (eg, to account for lost transmissions); rc4back runs the generator backwards (eg, to account for retransmissions). 

SEE ALSO

keyring-intro(2), keyring-crypt(2)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026