NAME

Algorithm::IRCSRP2 - IRC channel encryption algorithm

VERSION

version 0.501

DESCRIPTION

Algorithm::IRCSRP2 implements the IRCSRP version 2 algorithm as specified in http://www.bjrn.se/ircsrp/ircsrp.2.0.txt.

From the specification:

IRCSRP is based on the SRP-6 protocol [3] for password-authenticated key
agreement. While SRP was originally designed for establishing a secure,
authenticated channel between a user and a host, it can be adapted for group
communcations, as described in this document.

See https://gitorious.org/ircsrp/ircsrp for a working version used in Pidgin.

CURRENT CAVEATS

  • Only Alice is implemented (initial Dave started)

ATTRIBUTES

Optional Attributes

  • am_i_dave (ro, Bool) - Child class will set this.

  • cbc_blocksize (ro, Int) - CBC blocksize. Defaults to '16'.

  • debug_cb (rw, CodeRef) - Debug callback. Defaults to print()

  • error (rw, Str) - If set, there was an error.

  • nickname (rw, Str) - Child class will set this. Defaults to 'unknown'.

PUBLIC API METHODS

  • init() - Setup object for key exchange.

  • encrypt_message($msg, $who) - Returns encrypted message with plaintext $msg from nickname $who.

  • decrypt_message($msg) - Returns decrypted text from encrypted $msg. die()s on errors.

SEE ALSO

AUTHOR

Adam Flott <adam@npjh.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Adam Flott.

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