Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re: Network programming with encryption

by rpc (Monk)
on Mar 03, 2001 at 11:04 UTC ( #61989=note: print w/replies, xml ) Need Help??

in reply to Network programming with encryption

With encryption it is important to remember you're dealing with binary data. Encrypted blocks should be sent independantly, blocksize bytes at a time, or encapsulated in a header which describes the packet being sent. If there's not enough data to fill an entire block, padding should be used. You should probably use sysread and syswrite for the lowlevel socket operations.

If you're using a stateful network protocol like TCP, there shouldn't be any issues with receiving blocks of the stream out of order, which would mung CBC mode.

An ideal protocol would not require verification of sent and received blocks. If you absolutely must, though, use Digest::MD5 or Digest::SHA1 hashes of the _encrypted blocks_, not plaintext.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2023-02-04 02:24 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (30 votes). Check out past polls.