-
公开(公告)号:US06269163B1
公开(公告)日:2001-07-31
申请号:US09094649
申请日:1998-06-15
IPC分类号: H04K100
CPC分类号: H04L9/0625 , H04L9/002 , H04L2209/125 , H04L2209/24
摘要: A plaintext message to be encrypted is segmented into a number of words, e.g., four words stored in registers A, B, C and D, and an integer multiplication function is applied to a subset of the words, e.g., to the two words in registers B and D. The integer multiplication function may be a quadratic function of the form ƒ(x)=x(ax+b) or other suitable function such as a higher-order polynomial. The results of the integer multiplication function are rotated by lg w bits, where lg denotes log base 2 and w is the number of bits in a given word, to generate a pair of intermediate results t and u. An exclusive-or of another word, e.g., the word in register A, and one of the intermediate results, e.g., t, is rotated by an amount determined by the other intermediate result u. Similarly, an exclusive-or of the remaining word in register D and the intermediate result u is rotated by an amount determined by the other intermediate result t. An element of a secret key array is applied to each of these rotation results, and the register contents are then transposed. This process is repeated for a designated number of rounds to generate a ciphertext message. Pre-whitening and post-whitening operations may be included to ensure that the input or output does not reveal any internal information about any encryption round. Corresponding decryption operations may be used to decrypt the ciphertext message.
摘要翻译: 要加密的明文消息被分割成多个字,例如,存储在寄存器A,B,C和D中的四个字,并且整数乘法函数被应用于字的子集,例如, 寄存器B和D.整数乘法函数可以是形式ƒ(x)= x(ax + b)或其他合适函数的二次函数,例如高阶多项式。 整数乘法函数的结果旋转lg w位,其中lg表示log base 2,w是给定单词中的位数,用于生成一对中间结果t和u。 另一个字,例如寄存器A中的单词和中间结果(例如t)中的一个被旋转由另一个中间结果u确定的量。 类似地,寄存器D中的剩余字和中间结果u的异或被旋转由另一个中间结果t确定的量。 秘密密钥阵列的元素被应用于这些旋转结果中的每一个,然后转移寄存器内容。 针对指定的轮次重复该过程以生成密文消息。 可以包括预白化和后白化操作,以确保输入或输出不显示关于任何加密轮的任何内部信息。 可以使用对应的解密操作来解密密文消息。