Patch title: Release 94 bulk changes
Abstract:
File: /pliant/util/crypto/cipher.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "rc4.pli"
module "random.pli"
module "/pliant/language/unsafe.pli"
module "rc4.pli"
module "random.pli"
module "/pliant/language/type/misc/blob.pli"




function cipher clear password -> ciphered
  arg Blob clear ; arg Str password ; arg Blob ciphered
  addressof:ciphered map Str := cipher (addressof:clear map Str) password

function uncipher ciphered password seed_bits laps -> clear
  arg Str ciphered password ; arg Int seed_bits laps ; arg S
  if password=""
    return ciphered
  rc4_init (var RC4Ctx ctx) password laps
  clear := ciphered
  rc4_cipher ctx clear:characters clear:characters clear:len
  clear := clear seed_bits\8 clear:len


function uncipher ciphered password seed_bits laps -> clear
  arg Str ciphered password ; arg Int seed_bits laps ; arg S
  if password=""
    return ciphered
  rc4_init (var RC4Ctx ctx) password laps
  clear := ciphered
  rc4_cipher ctx clear:characters clear:characters clear:len
  clear := clear seed_bits\8 clear:len


function uncipher ciphered password -> clear
  arg Blob ciphered ; arg Str password ; arg Blob clear
  addressof:clear map Str := uncipher (addressof:ciphered map Str) password

export cipher uncipher
export cipher uncipher