• 安全加解密引擎基础(SKE SM4)


    关键词:SM4等。

    1 对称加解密基础

    商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。

    密码学中,分组加密(英语:Block cipher),又称分块加密或块密码,是一种对称密钥算法。它将明文分成多个等长的模块(block),使用确定的算法和对称密钥对每组分别加密解密。分组加密是极其重要的加密协议组成,其中典型的如DESAES作为美国政府核定的标准加密算法,应用领域从电子邮件加密到银行交易转帐,非常广泛。
    国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
    SM1为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
    SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
    SM3消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
    SM4无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
    更多参考:
    SM4.0
    SM4算法(python)》-SM4算法Python实现。

    2 基于openssl进行加解密

    SM4秘钥长度固定为128bit。

    openssl enc -sm4-cbc -e -k 1234567812345678123456781234567812345678123456781234567812345678 -iv 12345678123456781234567812345678 -pbkdf2 -in infile -out cipherfile 
    openssl enc -sm4-cbc -d -k 1234567812345678123456781234567812345678123456781234567812345678 -iv 12345678123456781234567812345678 -pbkdf2 -in cipherfile -out replain 

    算法和模式的组合有:

    sm4-cbc SM4 cipher in CBC mode
    sm4 Alias for sm4-cbc
    sm4-cfb SM4 cipher in CFB mode
    sm4-ctr SM4 cipher in CTR mode
    sm4-ecb SM4 cipher in ECB mode
    sm4-ofb SM4 cipher in OFB mode
  • 相关阅读:
    JS知识点
    JQuery知识点
    常见简单算法
    Html知识点
    Java基础_基本语法
    Java基础_Java概述
    VBA基础——循环语句
    VBA基础知识———常用语句
    VBA基础概念
    安全、结构良好的jQuery结构模板
  • 原文地址:https://www.cnblogs.com/arnoldlu/p/16168017.html
Copyright © 2020-2023  润新知