我正在尝试使用以下链接中提供的程序集支持来开发 SHA3 支持:https://github.com/openssl/openssl/blob/master/crypto/sha/asm/keccak1600p8-ppc.pl
能够从上面的 perl 文件生成 .s 文件,并在我的项目中编译/链接相同的文件。现在,我需要编写一个可以从汇编文件中“运行”的源文件。
遇到下面的 SHA3 通用函数,我认为它适用于所有 SHA3 系列函数(包括 SHAKE)。 https://github.com/openssl/openssl/blob/master/crypto/sha/keccak1600.c#L1153
我的问题是,如果我使用上面的“SHA3_sponge”函数,并且它使用程序集文件中提供的“SHA3_absorb”和“SHA3_squeeze”,是否足够?
这应该可行!只要 C 函数和汇编之间的调用约定正确对齐,将 SHA3_sponge 函数与汇编代码中的 SHA3_absorb 和 SHA3_squeeze 结合使用就足够了。只要确保一切顺利集成,您就可以开始了。