上周布置作业之后老师说AES (AES-128-CBC)实现需要满足正确性和性能要求, 性能要求一百兆。经我测试, 我的初版实现加密一个1GB的输入文件大约需要15s, 约合68MB/s, 不能够满足性能要求。
经gprof和查阅互联网, 我发现列混合(Mix Columns)耗时较长, [1]中给出了一个优化的方法, 就是打表和向量化。我加入该优化后, 加密一个1GB的输入文件所需的时间减少了2s, 约为13s, 约合78MB/s, 仍然不能够满足性能要求。
有待进一步优化。
上周布置作业之后老师说AES (AES-128-CBC)实现需要满足正确性和性能要求, 性能要求一百兆。经我测试, 我的初版实现加密一个1GB的输入文件大约需要15s, 约合68MB/s, 不能够满足性能要求。
经gprof和查阅互联网, 我发现列混合(Mix Columns)耗时较长, [1]中给出了一个优化的方法, 就是打表和向量化。我加入该优化后, 加密一个1GB的输入文件所需的时间减少了2s, 约为13s, 约合78MB/s, 仍然不能够满足性能要求。
有待进一步优化。
本文链接:https://twd2.me/archives/14162
发表评论