查看linux的启动信息的命令有哪些(使用sm4js进行加密和国密sm4的总结)
最近在开发过程中 ,用到了sm4国密加密 ,因为之前没有用过 ,所以就想总结一下 。
先说一下怎么安装使用(vue项目)
1 、先安装sm4js npm i sm4js在package.json中显示sm4js的版本如下:
"dependencies": { "axios": "^1.3.2", "sm4js": "^0.0.6" }, 2 、安装完成之后在项目中怎么使用 <script> import Sm4js from sm4js; export default { name: color, ... methods:{ getKey(){ let sm4Config = { key: this.key, // 密钥 前后端一致即可,后端提供 ,一般通过接口请求获取到 iv: this.iv, // iv是initialization vector的意思 ,就是加密的初始话矢量 ,初始化加密函数的变量 ,也叫初始向量 。一般通过接口请求获取到 mode: cbc, // 加密的方式有两种 ,ecb和cbc两种 cipherType: base64 } let sm4 = new Sm4js(sm4Config) // 对数据进行加密 encrypt - 加密方法 this.encrypted = sm4.encrypt(this.cardId) // 对数据进行解密 decrypt - 解密方法 this.decrypted = sm4.decrypt(this.idCardNumber) } } } </script> 3、国密sm4的总结3.1 、SM算法
国密即国家密码局认定的国产密码算法。主要有SM1 ,SM2,SM3 ,SM4 。密钥长度和分组长度均为128位 。
SM1 为对称加密 。其加密强度与AES相当 。该算法不公开 ,调用该算法时,需要通过加密芯片的接口进行调用 。
SM2为非对称加密 ,基于ECC 。该算法已公开 。由于该算法基于ECC ,故其签名速度与秘钥生成速度都快于RSA 。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA 。
SM3 消息摘要。可以用MD5作为对比理解 。该算法已公开 。校验结果为256位。
SM4 无线局域网标准的分组数据算法 。对称加密 ,密钥长度和分组长度均为128位 。3.2 、SM4加密有两种模式:ecb和cbc 两种模式的区别如下
:
ECB:是一种基础的加密方式 ,密文被分割成分组长度相等的块(不足补齐) ,然后单独一个个加密 ,一个个输出组成密文。
CBC:是一种循环模式(链式) ,前一个分组的密文和当前分组的明文操作后再加密 ,这样做的目的是增强破解难度 。(不容易主动攻击 ,安全性好于ECB ,是SSL 、IPSec的标准)两种模式的概念不同
:
1 、ECB模式又称电子密码本模式:Electronic codebook ,是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位)分成若干块 ,之后将每块使用相同的密钥单独加密 ,解密同理 。
2 、密码分组链接(CBC,Cipher-block chaining)模式 ,由IBM于1976年发明 ,每个明文块先与前一个密文块进行异或后,再进行加密 。在这种方法中 ,每个密文块都依赖于它前面的所有明文块 。同时 ,为了保证每条消息的唯一性 ,在第一个块中需要使用初始化向量IV 。两种模式的优点
:
ECB模式:1 、简单;2 、有利于并行计算;3 、误差不会bai被传送;
CBC模式:1 、不容易主动攻击,安全性好于baiECB,适合传输长度长的报文,是SSL、IPSec的标准 。两种模式的缺点
:
ECB模式:1 、不能隐藏明文的模式;2 、可能对明文进行主动攻击;
CBC模式:1、不利于并行计算;2 、误差传递;3 、需要初始化向量IV创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!