Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Encrypt using AES(block size 128-bit) in CBC

by wrog (Friar)
on Jun 14, 2015 at 12:21 UTC ( [id://1130363]=note: print w/replies, xml ) Need Help??


in reply to Encrypt using AES(block size 128-bit) in CBC

(Update: no, this isn't it. see my other answer)

Looks like you're providing the key and the iv in hex format, whereas I'm pretty sure you need to provide the actual key/iv bytes directly (that your encrypted string is coming out in hex format is because you're using encrypt_hex) which means you instead need something like

-key => pack('H32',$key), -iv => pack('H32',$iv),
but I don't know for sure since the hex you've provided for your key/iv only specifies 8 bytes and AES requires 16.

Replies are listed 'Best First'.
Re^2: Encrypt using AES(block size 128-bit) in CBC
by u65 (Chaplain) on Jun 14, 2015 at 13:16 UTC

    But aren't they just strings of 16 one-byte chars?

      strings of 16 bytes, yes. But the question is which 16 bytes? Each byte can be anything in the {0..255} range; you're not limited to those that are printable or those that are hexdigits (i.e., [0-9a-f] = {48..57,97..102})

      So when you supply a key that starts with '55..', as the code was originally written, that specifies a key whose first two bytes are both asc('5') = 53, but if what was intended was a key whose first byte is 0x55 = 85, then you need to pack and you also need to find out what the other 8 bytes of the key were supposed to be (if the goal is to produce a particular ciphertext).

      And I could be wrong about what was intended, but it's suspicious to me that they're using a key consisting entirely of hex-digit bytes (which, for one thing, would be a horrible choice of key from a security point of view; even if it is only an example you don't want to give people the idea that that's how you choose your keys)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (7)
As of 2024-04-23 10:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found