我正试图为AES-GCM生成现在的版本。我知道人们通常通过计数器和LFSR生成它。我对计数器的含义感到困惑。那是指计数器吗?为什么它能产生独特的现在?
发布于 2020-04-12 18:03:53
计数器存储值,通常具有清除、设置和增量函数。一个计数器可以很容易地在软件中实现,可以通过使用足够大小的整数,或者使用诸如Java BigInteger或C/C++的Gnu/GMP等库来实现。
clear()使所有位为零:unsigned int counter=0set(y)将计数器值设置为y:counter = yincrement()将当前值增加1;counter++对于GCM,一个需要32位计数器,CTR模式的计数器需要一个128位,而96位的nonce则需要一个128位。
取128位无符号整数,init为零.然后GCM会像这样使用它
因此,在实现过程中,您需要获取计数器的副本,将32移向左,并在0x01中使用OR。
https://crypto.stackexchange.com/questions/79890
复制相似问题