Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Crypt::CBC and varying the key

by jimbojones (Friar)
on Mar 10, 2006 at 20:33 UTC ( #535809=note: print w/replies, xml ) Need Help??

in reply to Crypt::CBC and varying the key


If I understand you correctly, you're not doing CBC (cipher block chaining). See this article in Wikipedia. If you are doing CBC, you only need a key and one initialiation vector (IV). The "chaining" is to use the previous block as the IV for the next block before encrypting with the key.

CBC allows you to chain together a message that is bigger than the block size as one unit. Is this not what you want?

Hope this helps, J

Replies are listed 'Best First'.
Re^2: Crypt::CBC and varying the key
by Anonymous Monk on Mar 16, 2006 at 06:57 UTC
    Yes, I know what CBC is. I *use* CBC. But I want to crypt 2 blocks (not in the sense of the cipher but say strings) of data. The second block has another key from the first one. But the IV is carried over. This is to get two levels of access to the data.

      It looks like you'll have to modify In my version (2.14), the 'finish' method deletes the current IV.
      delete $self->{'civ'}; delete $self->{'buffer'}; return $result; }
      You'll have to prevent that from happening, and then add a method to return the current (last) IV, instead of the initial IV
      sub get_civ { return $self->{civ}; }
      I have no idea if or how this affects the security of the two messages.

      Hope this helps, J

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://535809]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2022-01-25 01:51 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (65 votes). Check out past polls.