【学习笔记】密码学入门(1)

这篇博客介绍了密码学的基础知识,包括对称加密和非对称加密。对称加密中讨论了DES和三重DES算法,提到了它们的安全性和应用。在非对称加密部分,重点讲解了RSA算法的工作原理和安全性,以及面临指数分解攻击的挑战。文章还提及了其他公钥算法和公钥密码系统的未来挑战。
摘要由CSDN通过智能技术生成

【学习笔记】密码学入门(1)

学习笔记 1 --密码学入门
密码学是研究编制密码破译密码的技术科学。最初的目的是用于对信息加密,计算机领域的密码技术种类繁多。但随着密码学的运用,密码还被用于身份认证防止否认等功能上。

密码算法是用于加密和解密的数学函数,密码算法是密码协议的基础。现行的密码算法主要包括序列密码分组密码公钥密码散列函数等,用于保证信息的安全,提供鉴别、完整性、抗抵赖等服务。

计算机安全研究所(Computer Security Institute)报告说,在2007年,接受调查的公司中有71%的公司对传输中的某些数据使用了加密,而53%的公司对存储的某些数据使用了加密。加密可用于保护“静止”数据,例如存储在计算机和存储设备(例如USB闪存驱动器)上的信息)。近年来,有许多关于机密数据的报告,例如客户的个人记录,由于笔记本电脑或备用驱动器的丢失或被盗而暴露;如果物理安全措施失败,则对此类静态文件进行加密有助于保护它们。

常用密码算法分类

常用的密码学技术有:
1.对称加密(Sysmmetric Cryptography)
2.非对称加密(Public-Key Cryptography,Asymmetric Cryptography)
3.单项序列(One-Way Hash Function)
4.消息认证(MAC,Message Authentication Code)
5.数字签名(Digital certificates)

不同应用场景

场景 技术 特征
防窃听 对称加密/非对称加密 保密性
防篡改 单项序列,消息认证码,数字签名 完整性
防伪装 身份认证 ,消息认证,数字签名 唯一性
防否认 数字签名 不可否认

对称加密

对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加/解密。只要通信需要保密,密钥就必须保密。

对称密码最常用,效率高。

DES (Data Encryption Standard)

DES 算法是把64bit明文加密成64bit密文的算法,密钥长度56bit。以 64 bits 明文为一个单位(每隔 7 bits 会有一个 校验码checksum bit,因此实际有效为 56 bits),分组对明文进行加密的,是一种分组密码(Block Cipher)算法。

DES 算法原理是通过一个称为 Feistel 网络(Feistel网络还在其他算法中也有用到),加密的每个步骤称为轮,整个加密过程是若干轮次的循环,因为XOR的数学特性(相同的数字XOR恒为0),加密解密可以用相同的结构实现,解密过程就是用一样的密钥逆向操作相同轮次就可以获得明文。

具体DES算法参看:学习笔记–DES算法概述

已被破解

三重DES

为了增加DES的强度,将DES重复三次所得到的一种密码算法,也称作3DES。三重DES并不是加密三次,而是加密解密加密的过程,当三次DES的密钥相同时,就是普通的DES,对DES有向下兼容性;如果是三次密钥都不一样,就是成为DES-DES3;如果两次加密密钥一样,解密密钥不一样,就是DES-DES2.
三重DES
计算性能不高,暂时未被破解

差分分析和线性分析

  • 差分分析:改变一部分明文分析密文如何改变
  • 线性分析:将明文和密文对应比特进行XOR并计算结果为0的概率;
    如果密文完全随机,则线性分析的结果应该为1/2.相反如果能找到偏离1/2最大的部分

AES(Advanced Encryption Standard)

AES 是于 2000 年被采用的最新的对称加密标准,采用了 Rijndael 算法,Rijndael 算法也是一种分组算法,分组长度固定为128bit,密钥长度规定为 128 bits,192 bits, 256 bits 三种规格, 没有采用Feistel网络,采用的是SPN网络.

Rijindael算法原理
加密:
1.Subbytes逐字节替换
2.Shiftrows行平移
3.Mixcolumns混合列
4.AddRoundKey与轮密钥进行XOR

解密: 相反顺序进行

Rijindael 算法,输入的所有比特都被加密,和每一轮只加密一般输入比特的Feistel相比,加密轮数比较少,可以分别以字节,行,列为单位进行运算.

可自由免费使用,安全、快速,暂未被破解, 推荐使用。

对称加密总结

使用一个密码空间巨大的对称密码,目前基本上可以保证安全,但是需要解决的是密钥的安全传输和存储问题,为了解决密钥配送问题,我们需要用到公钥密码.

公钥密码

密钥分为加密密钥和解密密钥两种.公钥和私钥都是一一对应的,成为密钥对.虽然公钥密码解决了密钥配送问题,但是却存在公钥认证问题.

mod运算

假设以12为模
加法: 7 + 20 = 3 7+20=3 7+20=3
减法: 8 − 7 = 8 + 5 = 1 8-7=8+5=1 87=8+5=1
乘法: 7 ∗ 4 = 28 = 4 7*4=28=4 74=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值