摘要 |
<p>The present invention includes a method and device for calculating an encryption key, K'<SUB>c</SUB>, for use in the initialization of an encryption algorithm. The present invention discloses a method for calculating the encryption key, K'<SUB>c</SUB>(x), by obtaining a ciphering key, K<SUB>c</SUB>(x), determining a maximum ciphering key length, L, based on the requirements of the two devices wishing to communicate, and determining a maximum usable encryption key length, L<SUB>max</SUB>. The ciphering key, K<SUB>c</SUB>(x), is then manipulated through an addition function or an exclusively-or function with a polynomial g<SUB>1</SUB>(x). The result is multiplied with a polynomial g<SUB>2</SUB>(x), which spreads the starting points of said encryption key, K'<SUB>c</SUB>(x). The encryption key is thus determined according to K'<SUB>c</SUB>(x)=g<SUB>2</SUB><SUP>(L)</SUP>(x)[K<SUB>c</SUB>(x) mod g<SUB>1</SUB><SUP>(L)</SUP>(x)]. The method of calculating the encryption key, K'<SUB>c</SUB>, ensures that a maximum ciphering key length is not exceeded. In addition, the method provides new possible starting points each time a new encryption key, K'<SUB>c</SUB>, is generated.</p> |