我目前正在实现一个平台,以比较Python3中不同密码算法的执行时间。该平台的要求之一是使用NESSIE project中提供的测试向量。在检查测试向量时,我意识到有一些向量,例如
Set 2, vector# 3:
message=3 zero bits
hash=88BAD9D59A0A5195FAF7961BB6625486816C1430
此测试向量需要输入3个零位,即'000',这会引起问题,我正在使用Cryptography的库实现SHA-1函数,该函数只接受[
是否有创建或切片字节对象的方式,使其仅包含3位?
如果无法执行此操作,您是否知道另一个可以执行这些情况的密码库? (我不允许自己实现。)但是,如果您没有用例需要以位为导向的实现,那么您可以忽略位不是8的整数倍的测试向量。即使算法是按位指定的,大多数库还是面向字节的。您
可以根据规范创建一个面向位的文件,因此测试矢量必须存在,以备不时之需。
[遗憾的是,即使从例如符合FIPS的库。