1package Crypt::Cipher::RC5;
2
3### BEWARE - GENERATED FILE, DO NOT EDIT MANUALLY!
4
5use strict;
6use warnings;
7our $VERSION = '0.075';
8
9use base qw(Crypt::Cipher);
10
11sub blocksize      { Crypt::Cipher::blocksize('RC5')      }
12sub keysize        { Crypt::Cipher::keysize('RC5')        }
13sub max_keysize    { Crypt::Cipher::max_keysize('RC5')    }
14sub min_keysize    { Crypt::Cipher::min_keysize('RC5')    }
15sub default_rounds { Crypt::Cipher::default_rounds('RC5') }
16
171;
18
19=pod
20
21=head1 NAME
22
23Crypt::Cipher::RC5 - Symmetric cipher RC5, key size: 64-1024 bits
24
25=head1 SYNOPSIS
26
27  ### example 1
28  use Crypt::Mode::CBC;
29
30  my $key = '...'; # length has to be valid key size for this cipher
31  my $iv = '...';  # 16 bytes
32  my $cbc = Crypt::Mode::CBC->new('RC5');
33  my $ciphertext = $cbc->encrypt("secret data", $key, $iv);
34
35  ### example 2 (slower)
36  use Crypt::CBC;
37  use Crypt::Cipher::RC5;
38
39  my $key = '...'; # length has to be valid key size for this cipher
40  my $iv = '...';  # 16 bytes
41  my $cbc = Crypt::CBC->new( -cipher=>'Cipher::RC5', -key=>$key, -iv=>$iv );
42  my $ciphertext = $cbc->encrypt("secret data");
43
44=head1 DESCRIPTION
45
46This module implements the RC5 cipher. Provided interface is compliant with L<Crypt::CBC|Crypt::CBC> module.
47
48B<BEWARE:> This module implements just elementary "one-block-(en|de)cryption" operation - if you want to
49encrypt/decrypt generic data you have to use some of the cipher block modes - check for example
50L<Crypt::Mode::CBC|Crypt::Mode::CBC>, L<Crypt::Mode::CTR|Crypt::Mode::CTR> or L<Crypt::CBC|Crypt::CBC> (which will be slower).
51
52=head1 METHODS
53
54=head2 new
55
56 $c = Crypt::Cipher::RC5->new($key);
57 #or
58 $c = Crypt::Cipher::RC5->new($key, $rounds);
59
60=head2 encrypt
61
62 $ciphertext = $c->encrypt($plaintext);
63
64=head2 decrypt
65
66 $plaintext = $c->decrypt($ciphertext);
67
68=head2 keysize
69
70  $c->keysize;
71  #or
72  Crypt::Cipher::RC5->keysize;
73  #or
74  Crypt::Cipher::RC5::keysize;
75
76=head2 blocksize
77
78  $c->blocksize;
79  #or
80  Crypt::Cipher::RC5->blocksize;
81  #or
82  Crypt::Cipher::RC5::blocksize;
83
84=head2 max_keysize
85
86  $c->max_keysize;
87  #or
88  Crypt::Cipher::RC5->max_keysize;
89  #or
90  Crypt::Cipher::RC5::max_keysize;
91
92=head2 min_keysize
93
94  $c->min_keysize;
95  #or
96  Crypt::Cipher::RC5->min_keysize;
97  #or
98  Crypt::Cipher::RC5::min_keysize;
99
100=head2 default_rounds
101
102  $c->default_rounds;
103  #or
104  Crypt::Cipher::RC5->default_rounds;
105  #or
106  Crypt::Cipher::RC5::default_rounds;
107
108=head1 SEE ALSO
109
110=over
111
112=item * L<CryptX|CryptX>, L<Crypt::Cipher>
113
114=item * L<https://en.wikipedia.org/wiki/RC5>
115
116=back
117
118=cut
119