[erlang-questions] Crypto AES data block size
John Kemp
john@REDACTED
Fri Jun 20 15:12:00 CEST 2014
On 06/20/2014 07:00 AM, Alexander Petrovsky wrote:
> Hi!
>
> I need to encrypt some data with ads_cbc_128, and I do like:
>
> crypto:aes_cbc_128_encrypt(<<"B3E80545C3C9968096E85A7E0A4A5779">>,
> <<"96E85A7E0A4A5779">>,
> <<"id=14&bid=00.004300&clickUrl=http://duckduckgo.com&pid=3101&source=100&search-id=42&search-date=00:00:00">>).
> ** exception error: bad argument
> in function crypto:aes_cbc_crypt/4
> called as
> crypto:aes_cbc_crypt(<<"B3E80545C3C9968096E85A7E0A4A5779">>,
> <<"96E85A7E0A4A5779">>,
>
> <<"id=14&bid=00.004300&clickUrl=http://duckduckgo.com&pid=3101&source=100&search-id=42&search-date=00:00:00">>,
> true)
>
> seems like the size of data should be the equal the power on 2, and then
> I do:
>
> crypto:aes_cbc_128_encrypt(<<"B3E80545C3C9968096E85A7E0A4A5779">>,
> <<"96E85A7E0A4A5779">>,
> <<"id=14&bid=00.004300&clickUrl=http://duckduckgo.com&pid=3101&source=100&search-id=42&search-date=00:00:00",
> 0:24/unit:8>>).
> <<87,187,244,217,66,251,202,118,238,90,226,245,209,213,
> 158,166,203,46,8,30,113,122,172,204,163,50,193,34,243,
> ...>>
>
> Is there any way, don't fill the binary by zeros?
The crypto:aes_cbc_128_encrypt API requires data be padded to a multiple
of 16 bytes (as it says in the documentation - for example:
http://www.erlang.org/documentation/doc-5.8.3/lib/crypto-2.0.2.1/doc/html/crypto.html#aes_cbc_128_encrypt-3).
How properly I should
> do this?
https://github.com/spawngrid/cowboy_session/blob/master/src/cowboy_session_secure.erl
shows what looks like a good example of how to do the padding more
generally than in your example.
- johnk
>
>
> --
> Петровский Александр / Alexander Petrovsky,
>
> Skype: askjuise
> Phone: +7 914 8 820 815
>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
More information about the erlang-questions
mailing list