<div dir="ltr">Thank you Felix. I did get that to work standalone. It appears that there is something in the pad_binary method that I have not been able to track-down.<div><br></div><div>In a crude attempt to trace the issue down, I added a bunch of io:formats and ran in the shell.</div><div><br></div><div><div>pad_binary_128(Data) when bit_size(Data) > 128 -></div><div>  io:format("Line ~p~n", [89]),</div><div>  {Kept, _Lost} = split_binary(Data, size(Data) - 1),</div><div>  io:format("Line ~p~n", [94]),</div><div>  pad_binary_128(Kept);</div><div>pad_binary_128(Data) when bit_size(Data) < 128 -></div><div>  io:format("Line ~p~n", [97]),</div><div>  pad_binary_128(<<Data/binary,0:1>>);</div><div>pad_binary_128(Data) -></div><div>  io:format("Line ~p~n", [100]),</div><div>  Data.</div></div><div><br></div><div>This is the output I get:</div><div><br></div><div><div>Line 97</div><div>** exception error: bad argument</div><div>     in function  omac1:pad_binary_128/1 (src/omac1.erl, line 97)</div><div>     in call from omac1:cmac_aes_cbc_128/6 (src/omac1.erl, line 78)</div></div><div><br></div><div>So, it almost seems like there may be a difference in the way that bit_size/1 is handled in R1603. However, I do not see anything that stands-out to me in the docs.</div><div><br></div><div><a href="http://erldocs.com/R15B01/erts/erlang.html?i=0&search=erlang:bit#bit_size/1">http://erldocs.com/R15B01/erts/erlang.html?i=0&search=erlang:bit#bit_size/1</a><br></div><div><a href="http://erldocs.com/R16B03/erts/erlang.html?i=0&search=erlang:bit#bit_size/1">http://erldocs.com/R16B03/erts/erlang.html?i=0&search=erlang:bit#bit_size/1</a><br></div><div><br></div><div>Thanks in advance.</div><div><br></div><div>Best,</div><div><br></div><div>Ryan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 5:21 PM, Felix Gallo <span dir="ltr"><<a href="mailto:felixgallo@gmail.com" target="_blank">felixgallo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I made your same changes to the module, and also added the following function to the module:<div><div><br></div><div>test() -></div><div>  Key = <<1:128>>,</div><div>  Data = <<1:128>>,</div><div>  generate_tag_aes_cbc_128(Key, Data).</div></div><div><br></div><div>and when run in a shell:</div><div><br></div><div><div>Eshell V6.1  (abort with ^G)</div><div>1> c(omac1),l(omac1),omac1:test().</div><div><<173,219,62,66,7,255,149,96,196,74,41,116,238,229,211,35>></div></div><div><br></div><div>this appears to work (at least, it doesn't crash with badarg.  I don't know whether the data is correct).  Are you sure your aes key is 128, 192, or 256 bits long?  It's possible the crypto module is throwing badarg when it detects an improper length key.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 3:27 PM, Ryan Brown <span dir="ltr"><<a href="mailto:ryankbrown@gmail.com" target="_blank">ryankbrown@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thank you Felix. It looks like the aes_cbc_128_encrypt method is gone so I changed all to use crypto:block_encrypt(aes_cbc128, Key, IV, ToBeEncrypted)<div><br></div><div>But alas, I'm still seeing the same error.</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 3:10 PM, Felix Gallo <span dir="ltr"><<a href="mailto:felixgallo@gmail.com" target="_blank">felixgallo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm not super familiar with the crypto library, but it looks like its function signatures changed significantly between 15B01 and 16B03.  In particular, it appears that some of the functions you are calling are no longer in the library, and have been replaced with equivalents.<div><br></div><div>I suggest opening </div><div><br></div><div><a href="http://erldocs.com/R15B01/crypto/crypto.html" target="_blank">http://erldocs.com/R15B01/crypto/crypto.html</a><br></div><div><br></div><div>and </div><div><br></div><div><a href="http://erldocs.com/R16B03/crypto/crypto.html" target="_blank">http://erldocs.com/R16B03/crypto/crypto.html</a><br></div><div><br></div><div>and seeing if you can figure out where the changes occurred.  I suspect those are the cause of your badargs.</div><div><br></div><div>F.</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Tue, Feb 17, 2015 at 1:55 PM, Ryan Brown <span dir="ltr"><<a href="mailto:ryankbrown@gmail.com" target="_blank">ryankbrown@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Hello all,<div><br></div><div>I am in the process of upgrading a legacy application from R15B01 to R16B03 in order to get SHA 384 support. However, I am getting an error creating my CMAC from the library located here:</div><div><br></div><div><a href="https://github.com/PearsonEducation/subpub/blob/master/src/omac1.erl" target="_blank">https://github.com/PearsonEducation/subpub/blob/master/src/omac1.erl</a><br></div><div><br></div><div>For the life of me I cannot find the root cause. I am just receiving a badarg error pointing to line 74.</div><div><br></div><div>Any guidance would be greatly appreciated.</div><div><br></div><div>Thank you.</div><div><br></div><div><br></div></div>
<br></div></div>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>