概述
SSF33算法,和国密SM1、SM4算法类似,均为分组密码算法,遵循相应的国密分组密码标标准。这三种算法的密钥长度和分组长度均为128比特。目前SSF33、SM1分组密码标准的算法尚未公开,仅可以通过密码硬件(密码芯片或者硬件密码卡)的方式实现,在调用SSF33或SM1的功能时,需要接入相应密码卡等的硬件设备。
SSF33算法特性
密钥长度:16字节
分组长度:16字节
SSF33算法是以128位分组为单位进行运算,密钥长度为16字节,该算法也可以被用于安全报文传送和MAC机制密文运算。
SSF33算法模式
SSF33算法的常用模式包括ECB模式、CBC模式、CFB模式、OFB模式。
ECB模式(电子密码本模式):处理定长的数据,如AES处理128bit,那么将明文切分成若干个128bit,分别加密。这种模式就是ECB模式,实际上有很明显的弱点,现在已经不被使用。
CBC模式(密码分组链接模式):CBC模式由IBM发明与1976年,在CBC模式中,每个平文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有密文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。
CFB模式 (密文反馈模式):CFB又称密文反馈模式,前一个密文分组会被送入密码算法的输入端,再将输出的结果与明文做异或。与ECB和CBC模式只能够加密块数据不同,CFB能够将块密文(Block Cipher)转换为流密文。
OFB模式(输出反馈模式):OFB又称输出反馈模式,前一组密码算法输出会输入到下一组密码算法输入。先用块加密器生成密钥流,然后再将密钥流与明文流异或得到密文流,解密是先用块加密器生成密钥流,再将密钥流与密文流异或得到明文,由于异或操作的对称性所以加密和解密的流程是完全一样的。
算法实现
目前SSF33分组密码标准的算法尚未公开,仅可以通过密码卡等密码硬件的方式实现。
在派科信安的密码卡产品中,包括Mini PCIE密码卡、PCIE密码卡、USB密码卡在内的多款密码卡,均支持SSF33分组密码算法,支持ECB、CBC等加密模式和CBC-MAC算法。