一种轻量级分组密码SCS的实现方法,其特征在于,包括以下步骤:步骤1:利用高伪随机P<sub>1</sub>置换对密钥进行置换得到置换后的密钥,并从置换后的密钥中提取初始轮密钥、初始控制密钥和组合数据H<sub>1</sub>、H<sub>2</sub>;步骤2:利用经过步骤1置换后的密钥的低64位对64位明文进行异或操作,得到第一中间结果数据,并将第一中间结果数据从高位至低位按16位一组分成4组,得到M<sub>0</sub>、M<sub>1</sub>、M<sub>2</sub>、M<sub>3</sub>;步骤3:将第一中间结果数据的高32位和低32位按照Feistel结构分别进行r轮F<sub>1</sub>轮函数和F<sub>2</sub>轮函数运算;F<sub>1</sub>轮函数:将M<sub>0</sub>作为参与F<sub>1</sub>轮函数运算的输入数据,进行F<sub>1</sub>轮函数运算,将得到的结果与M<sub>1</sub>进行异或,将得到的异或运算结果作为下一轮参与F<sub>1</sub>轮函数运算的输入数据M<sub>0</sub>,同时将前一轮参与F<sub>1</sub>轮函数运算的输入数据M<sub>0</sub>作为下一轮的M<sub>1</sub>;F<sub>2</sub>轮函数:将M<sub>2</sub>作为参与F<sub>2</sub>轮函数运算的输入数据,进行F<sub>2</sub>轮函数运算,将得到的结果与M<sub>3</sub>进行异或,将得到的异或运算结果作为下一轮参与F<sub>2</sub>轮函数运算的输入数据M<sub>2</sub>,同时将前一轮参与F<sub>2</sub>轮函数运算的输入数据的M<sub>2</sub>作为下一轮的M<sub>3</sub>;其中,所述F<sub>1</sub>轮函数依次包括利用F<sub>1</sub>轮函数运算的输入数据对每一轮的轮密钥进行异或操作、S<sub>1</sub>盒更新、P<sub>1</sub>置换、S<sub>1</sub>盒替换以及P<sub>2</sub>置换操作;所述F<sub>2</sub>轮函数依次包括利用F<sub>2</sub>轮函数运算的输入数据对每一轮的轮密钥进行异或操作、S<sub>2</sub>盒更新、P<sub>2</sub>置换、S<sub>2</sub>盒替换以及P<sub>1</sub>置换操作;所述S<sub>1</sub>盒更新和S<sub>2</sub>盒更新采用每一轮的控制密钥更新;每一轮的轮密钥和控制密钥依据每一轮的轮函数运算输入数据分别对初始轮密钥和初始控制密钥进行更新获得;步骤4:将经过r轮轮函数运算得到的M<sub>1</sub>、M<sub>0</sub>、M<sub>3</sub>、M<sub>2</sub>作为第二中间结果数据;步骤5:把组合数据H<sub>1</sub>、H<sub>2</sub>分别放在第二中间结果数据的高32位和低32位的后面,得到第三中间结果数据;所述32位组合数据H<sub>1</sub>和H<sub>2</sub>从密钥中选取;步骤6:将第三中间结果数据依次进行行移位和列混淆操作,得到明文的加密结果。