摘 要: 針對移位和“異或”運算的復合運算進行了研究,指出了m位二進制數的循環移位“異或”變換和移位“異或”變換等同于GF(2)上的多項式乘法問題,并給出了這種變換的可逆性判斷的充分必要條件。
關鍵詞: 循環移位;異或;逆變換
在計算機網絡信息傳輸中,保證信息在發送方和接收方之間傳送時不被竊密者竊取破譯最成功有效的方法是采用加密機制來保護通信信息。針對保密算法中所采用密鑰的特點,Simmons[1]將密碼體制區分為對稱密碼和非對稱密碼。對稱密碼也稱為私鑰或傳統密碼體制,非對稱密碼又稱為公鑰密碼體制。在對稱密碼體制中,加密密鑰能夠根據解密密鑰推算出來,反之也成立。此外按加密方式,對稱密碼體制又分為流密碼和分組密碼。在流密碼算法中,明文消息是按字符逐位加密。而在分組密碼中,明文消息分成多個分組(每組含有多個字符),逐組進行加密。分組密碼具有較強的抗攻擊能力、易于偽造偽隨機數生成器、流密碼、消息認證函數和雜湊函數,并且容易實現,速度快,適合大量數據加密。本文對移位和“異或”運算的復合運算進行了研究,指出了“異或”和移位運算的數學本質, 對設計分組密碼算法具有一定的指導作用。
如同整系數多項式、實系數多項式,稱式(1)中這個多項式為系數在GF(2)上的多項式。
2 移位和循環移位操作
按照式(1)的對應關系,兩個二進制數的“異或”運算對應GF(2)上的多項式的加法運算。左移一位運算對應多項式的乘以x運算。左移k位對應多項式的乘以xk運算。
循環移位操作分循環左移和循環右移兩種。假定循環移位的位數為m,那么循環移位的位數k在1~m-1之間。對于一個m位數,循環右移k位等價循環左移m-k位。因此,循環右移可以轉化為循環左移來實現(這里只考慮循環左移)。
本文對密碼算法中循環移位“異或”運算的本質進行了探討,并且給出了這種變換的可逆性判斷的充分必要條件,對設計新的密碼算法具有一定的指導作用。
參考文獻
[1] SIMMONS G J, Symmetric and asymmetric encryption[J].Computing Surveys, 1979,11(4):305-330.
[2] 馮克勤,余紅兵.整數與多項式[M].北京:高等教育出版社,1999.
[3] 萬哲先.代數和編碼(第三版)[M].北京:高等教育出版社,2007.
[4] 胡波,趙紅芳,馮春雨.一種新的重模剩余類環中元素逆的求法[J].河北省科學院學報,2009,26(1):1-3.
[5] 趙紅芳,胡波,馮春雨.重模多項式環中逆元素的存在性判斷及求法[J].中國科技信息,2009(8):45-47.
[6] 李大為,趙旭鑫,武萌.SMS4密碼算法的高速流水線實現[J].電子器件,2007,30(2):590-592.
[7] 鄭秀林,金麗娜.SMS4算法在DSP中的實現研究[J].北京電子科技學院學報,2006,14(4):34-37.