信息安全、加密算法探究

现代密码学

  • ① 散列函数
  • ② 对称密码
  • ③ 非对称密码

1.1 对称加密

  • 对称加密: 加密和解密使用的是相同密钥。(只有一把钥匙)。
  • 对称加密 分成流加密块加密

流密码是对信息流中的每一个元素(一个字母或一个比特)作为基本的处理单元进行加密;块密码是先对信息流分块,再对每一块分别加密。
例如:
流加密:123456789,先对1加密,再对2加密,再对3加密······ 最后把加密的结果 拼接在一起。
块加密: 1234 5678 ,相当于分组加密。

  • 常见加密算法:

    • DES
    • AES(用来替代DES,基于DES)
  • 特点:

    • ①加密速度快
    • ②密文是不可逆的(即:加密后的内容不能被反解析成明文)。密钥key不能泄露,否则会不安全
    • ③如果在编码表上,找不到对应的字符,会出现乱码
    • ④一般需要结合 Base64一起使用(因为加密后的字节数字中的字节可能是负数,编码表中没有负数对应的字符,所以就会显示乱码,为了不显示乱码,所以使用Base64进行一个转码)。
  • 【注意】如果使用DES,则密钥key必须是8个字符。AES的密钥key是16个字符。

1.2 Java中使用对称加密

JDK提供了一个API Cipher 用来进行加密 和 解密。
在这里插入图片描述
2 Base64(编码算法)

base64 不是加密算法,而是可读性算法。
base64不是用来 保护我们的数据的,目的是为了 可读性。
base64是有64个字符组成:大写A~Z,小写a ~ z,数字0 ~ 9,+ 和 =。

base58一般用在比特币中,是比特币中的一种编码方式。

3 消息摘要算法(哈希函数)

  • 消息摘要,又称为“数字摘要”,是 哈希函数 作用之后得到的结果,单向的,不可逆

  • 消息摘要 生成的值是不可以篡改的,为了保证文件或者值的安全。

  • 可将任意长度的消息经过运算,变成固定长度数值,常见的有MD5SHA-1SHA256,多应用在文件校验,数字签名中。

    • MD5 可以将任意长度的原文生成一个128位(16字节)的哈希值
    • SHA-1可以将任意长度的原文生成一个160位(20字节)的哈希值

常见算法 :

  • MD5
  • SHA1
  • SHA256
  • SHA512

4 非对称加密

  • 非对称加密算法需要两个密钥:公钥和私钥,公钥和私钥是一对。
  • 因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

特点:

  • 加密和解密使用不同的密钥
  • 如果使用私钥加密, 只能使用公钥解密
  • 如果使用公钥加密, 只能使用私钥解密
  • 处理数据的速度较慢, 因为安全级别高,一般大文件加密使用 对称加密。

常见算法:

  • RSA
  • ECC

5 数字签名

数字签名:也叫做公钥数字签名,只有信息的发送者才能产生别人无法伪造的一串数字串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值