Let's take Crypt::RC5 as an example. It's a block cipher, so it can't be used safely without a mode like CBC (the "default" mode, ECB, leaks a lot of information and is very vulnerable to block-shuffling replay attacks). There's a nice module, Crypt::CBC, which adds CBC support to any compatible block cipher, but Crypt::RC5 is not compatible (it doesn't define the blocksize and keysize methods, and its constructor has an extra required parameter). So although Crypt::RC5 does appear to be a correct implementation of RC5, it's basically useless because you need to code the CBC padding and chaining stuff yourself if you want to use it securely. Mr. Kincaid refuses to listen to this type of criticism, preferring instead to argue that it's not his job to make sure people write secure code with his modules.

Crypt::RC5 appears to have made a half-hearted attempt at supporting CBC mode. There's a decrypt_iv function which seems to do CBC mode decryption, but it's undocumented, doesn't handle padding, and there's no corresponding encrypt_iv.


In reply to Re: Re: Re: Re: Encryption/Decryption by Anonymous Monk
in thread Encryption/Decryption by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.