在AES-GCM的测试向量中,(我在这里附上了pdf),在测试向量1,2和3中,没有给出len(A) || len(C) = 00000000000000000000000000000080
的值。
链接是:
https://pdfs.semanticscholar.org/114a/4222c53f1a6879f1a77f1bae2fc0f8f55348.pdf
但是C = 0388dace60b6a392f328c2b971b2fe78
len(C) = 32
。那么A
,对吧?
有人可以帮助我,如何获得.queue()
的值及其长度。
我在做这个算法,AES-GCM。有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
GCM论文在2.2节中说
函数len()返回一个64位字符串,其中包含非负整数,描述其参数中的位数,右侧是最低位。
测试用例2中的C
值是32个十六进制字符,或16个字节,或128个(0x80)位。
len(C)
生成64位值,在big-endian十六进制中为00 00 00 00 00 00 00 80
。 128位值的上半部分是len(A)
。它全是零,因此len(A)
为零,匹配A
不存在。这由测试向量部分的介绍文本证实:
所有值均为十六进制,零长度变量由缺少任何十六进制数字表示。
(强调我的)。