MATLAB中AES输入的密钥长度错误

时间:2017-08-07 11:35:14

标签: matlab encryption aes sha

我正在尝试使用此网站上的matlab文件在matlab中实现AES:http://buchholz.hs-bremen.de/aes/aes.htm

我把我的密钥放在哈希函数(SHA-256)中,我有一个64字符格式的密钥:

foreach (Request request in requests)
     {
     %>
         <tr>
              <td><%: request.applicant.Name + " (" + request.applicant.ID + ")" %></td>
              <td><%: request.software.Name %></td>
              <td><%: request.date %></td>
              <td class="actions">
                   <asp:Button ID="buttonyes" class="buttonyes" CommandName="AcceptRequest" CommandArgument="<# request.Id %>"  OnCommand="ButtonPressed" runat="server"/>
                   <asp:Button ID="buttonno" class="buttonno" CommandName="RefuseRequest" CommandArgument="<# request.Id %>" OnCommand="ButtonPressed" runat="server"/>
              </td>
          </tr>
      <%
      }

每当我想用这个输入提供AES函数时,它就会给我这个错误:

  

使用密码功能时出错   w必须是[44 x 4]元素的数组(不是单元格数组)。

我认为我的输入格式错误,但我很困惑。任何人都可以帮我解决上面的错误吗?提前谢谢。

CD00E292C5970D3C5E2F0FFA5171E555BC46BFC4FADDFB4A418B6840B86E79A3

1 个答案:

答案 0 :(得分:0)

此实现仅对AES进行加密。它假设您将自己实施key schedule

执行密钥计划将为您提供11个密钥,每个密钥为16个字节。在此实现中,它表示为从0到256的[44 x 4]数字数组。您应该将此数组传递给cipher函数。

  

注意:当您自己实现此功能时,最好先熟悉AES block cipher 第一个