加密-笔记

本文介绍了四种常见的密码块模式:CBC、CFB、OFB和CTR,详细阐述了它们的特点和使用场景。CBC模式是最常用的一种,需要初始化向量;CFB和OFB模式同样需要初始化向量,但CFB不需要填充;CTR模式则不需要初始化向量或填充。同时,文章还提及了对称加密中的DES、3DES和AES算法以及非对称加密的RSA和椭圆曲线加密技术。
摘要由CSDN通过智能技术生成

CBC - 密码块链模式 --最常用

  • 特点:密文没有规律
  • 需要一个初始化向量,是一个数组,该长度与明文分组长度相等。
  • 加密解密所使用的初始化向量值必须相同。

CFB密码反馈模式

  • 特点:密文没有规律
  • 需要一个初始化向量,是一个数组,该长度与明文分组长度相等。
  • 不需要填充

OFB 输出反馈模式

  • 不需要填充
  • 需要一个初始化向量,是一个数组,该长度与明文分组长度相等。

CTR模式 -常用

  • 密文没有规律
  • 不需要初始化向量,不需要填充

加密流程

  1. 创建一个底层使用的 des/3des/aes的密码接口
  2. 如果使用cbc/ecb分组模式需要对明文分组进行填充
  3. 创建一个密码分组模式的接口对象
    • cbc
    • cfb
    • ofb
    • ctr
  4. 加密得到密文

对称加密中公开的加密算法
des

  • 分组长度:8字节

  • 秘钥长度: 8字节

  • 3des

  • 分组长度:8字节

  • 秘钥长度: 24字节

  • aes

  • 分组长度:16字节

  • 秘钥长度: 16字节、24字节、32字节(在go的api中只能使用16字节)

非对称加密

RSA

在这里插入图片描述

在这里插入图片描述

code

package main
 
import (
    "crypto/rand"
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
    "fmt"
    "os"
)
 
func generateRSAKey(pripath, pubpath, passwd string) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北京时光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值