The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Crypt::AllOrNothing - All-Or-Nothing Encryption

VERSION

Version 0.10

SYNOPSIS

  use Crypt::AllOrNothing;

  my $AllOrNothing = Crypt::AllOrNothing->new(K_0=>$K_0);
  my $K_0 = $AllOrNothing->get_K_0();
  my $K_0 = $AllOrNothing->set_K_0($K_0);
  my $size = $AllOrNothing->get_size();
  my @AllOrNothing_text = $AllOrNothing->encrypt(text=>$plaintext);
  my $plaintext = $AllOrNothing->decrypt(text=>@AllOrNothing_text);

CONSTANTS

  $SIZE = 128 bits;

FUNCTIONS

new(K_0=>$K_0)

Create AllOrNothing object. Good idea to provide K_0, which must be ascii encoded(characters) and of length given in size. If K_0 is not given, you must retrieve it later with $AllOrNothing->K_0() else you will not be able to decrypt the message.

K_0(K_0=>$K_0)

get/set K_0. K_0 must be ascii encoded(characters) and length given in size.

size()

get size.

@ciphertext = encrypt(plaintext=>$plaintext, padding=>$padding)

encrypt plaintext with All Or Nothing transform to array of messages. Optionally pass padding which will be used internally

$plaintext = decrypt(cryptotext=>\@cryptotext)

decrypt cryptotext array with All Or Nothing transform to plaintext

AUTHOR

Timothy Zander, <timothy.zander at alum.rpi.edu>

The All Or Nothing Encryption and Package Transform algorithm was developed by Ronald Rivest

BUGS

Please report any bugs or feature requests to bug-crypt-aon at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Crypt-AllOrNothing. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

  perldoc Crypt::AllOrNothing

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Prof. Bulent Yener at RPI for his assistance.

COPYRIGHT & LICENSE

Copyright 2007 Timothy Zander, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.