密码学基础

密码学

密码学:主要是研究编制密码和破译密码,是网络安全,信息安全,区块链这些学科的基础。
密码学主要的目的:研究如何隐藏信息并且把信息传递出去的一个学科。
密码系统必须包括:机密性(数据保密)、完整性(信源与信宿信息相同)、认证性(信息不可否认)

密码学分类

古典密码学、近代密码学、现代密码学

古典密码学

核心原理:替换法,移位法
凯撒加密
频度分析法进行破译密码,在不知道密码的规则的前提下,进行破译密码

替换法
就是使用固定的信息,将原文替换成密文
例如:bee,将b替换成w,e替换p,单词变成wpp
替换法的加密方式:第一种:单表替换,第二种:多表替换
单表替换:原文和密文使用的是同一张表
例如:abcde–》swtrp
多表替换:表示有多张表,原文和密文进行对比
表单1、abcd-swtrp、表单2、abcde-chfkhk、表单3:abcde-jftou
原文:bee
秘钥:312
密文:fpk

移位法
移位法,是按照字母,在字母表上面的位置,进行移动
凯撒加密:
例如:abcde往后面移动2位cdefg

仿射变换
仿射变换是基于替换法和移位法的结合,需要两个密钥,一个进行替换,一个进行移动。

古典密码学的破解方式
评率分析法:概论论

近代密码学

核心原理:替换法,移位法
嗯尼格密码机:核心使用移位法,替换法。
人工智能之父图灵破解
playfire替换法:
https://wenku.baidu.com/view/9eff2ec3b307e87100f69660.html
https://wenwen.sogou.com/z/q728526642.htm

现代密码学

通信双方首先需要保证通信的保密性(对称加密非对称加密);为了防止在传输过程中被篡改,采用hash形成的数字摘来防止篡改;要其次需要确定通信双方的身份的合法性使用了数字证书技术。
信息加密技术

对称加密算法

具体算法方式:DES,3DES,AES、IDEA加密和解密
算法过程:对称加密,使用的加密方式和解密方式,使用的是同一把秘钥。
对称加密的核心原理:流加密,分组加密
例如原文:1234567890,流加密即先对1进行加密,再对2加密,再对3加密。。。。最后拼接成密文;块加密先分成不同的块,如1234成块,5678成块,90XX(XX为补位数字)成块,在分别对不同块进行加密,最后拼接成密文。前文提到的苦点密码学加密方式都属于流加密。

DES加密过程:

当n个64位明文数据块都经过DES加密处理后,所得到的n个64位密文数据块串在一起就是密文输出(它的密钥长度是56位,因为每个第8 位都用作奇偶校验)。加密过程分别是初始(终止)置换,轮迭代运算中的扩展置换,s盒压缩处理。
1、初始置换、终止置换:都是将原来的64位二进制位重新排序,例即通过初始置换表将输入的58位换到第一位,第50位换到第2位,依次类推,最后1位是原来的7位。初始置换和终止置换都是一样的,经过一次初始置换和终止置换64位二进制数就还原了。
2、扩展置换:经过初始置换的64位数据被分为左右32位数据,其中一边的32位进行扩展置换得到48位的数据。通过扩展置换表来进行扩展,将原始数据分为8组,接着将4个元素的组扩展成6个元素组。旧组的第一位复制到了前一个新组的最后一位,旧组的最后一位复制到了下一个新组的第一位
最后,复制每组中间的四个元素到新的表里面,这样就完成了32位扩展到48位的置换过程
3、s盒压缩处理:经过扩展的48位明文和48位秘钥进行异或运算后,在使用8个s盒压缩处理得到32位数据,实际就是将48位输入等分成8块,每块6位输入压缩为4位输出。在具体处理时是分别用8张4行16列来进行压缩的。
例:原始数据111111 头尾数据:11
组成一组新的二进制数据,在将该数据转换成十进制,所得数即为加密数所在的行数,取该组数据中间4位二进制,组成一组新的二进制数据,在将该数据转换成十进制所得的数,即为加密所在的例数。根据行数和列数即可在压缩表中招到对应的压缩数,在把该s盒压缩处理压缩数转换位二进制输出,则完成六位到四位的压缩过程,后面的都是一样,经过s盒压缩处理的32位输出,再经过一个p盒置换。

3DES加密:

首先使用DES算法key1进行加密,得到密文,然后使用key2进行解密(实际相当于加密,因为秘钥不同所以无法解密,只是反向加密),得到新的密文,然后使用key3对key2加密的数据进行再次加密。

非对称加密

常见算法方式:RSA算法和ECC算法、迪福哈弗曼、DSA
加密方式:非对称加密,有两把秘钥,使用公钥进行加密和认证,必须使用私钥进行解密或者签名。私钥加密,必须使用公钥解密。
具体过程:甲对乙分享公钥,乙使用甲的公钥对数据本身进行加密,然后将加密后的数据传输给甲,甲使用自己私钥进行解密。
缺点:在传输公钥的过程当中任意被第三方截获,对公钥进行修改。

RSA具体算法:

RSA

迪哈夫曼算法:

私钥-》公钥-》共享秘钥
例:有素数q=97,r=5用户a选择Xa=36,用户b选择Xb=58(Xa表示a的私钥)
公钥:
Ya=r^Xa mod q= 5^36 mod 97=50
Yb=r^Xb mod q=5^58 mod 97=44
交换后的共享秘钥
Ka=Yb^Xa mod q=44^36 mod 97=75
Kb=Ya^Xb mod q= 50^58 mod 97=75
https://www.cnblogs.com/qcblog/p/9016704.html

认证技术

散列函数:MD5,SHA-1,SHA-256,SM3(由中国自主研发)
散列函数特点:
散列函数也叫hash算法。算法不可逆,因为不是对数据加密;随机输入,固定输出;雪崩效应,源数据任意bit被改动,则改动后的hash值和源hash值不同。
MD5以512位分组来处理输入的信息,且每一组又被划分为16个32位子分组,经过一系列处理后,算法由4个32个分组构成。将这四个32位的分组级联合生成一个128位的密钥。此算法不安全已经淘汰。
SHA-1可以将任意长度的原文生成一个160位(20字节)的哈希值

数字信封(对称+非对称)

加密过程:甲首先会给乙发送公钥,乙使用对称秘钥对数据进行加密,然后乙会使用甲的公钥来加密对称秘钥形成数字信封,最后乙会将加密的数据和数据信封发送给甲。
数字签名(非对称):
数字签名特点:
数字签名可以保证对信息的任何篡改都可以被发现,从而保证信息传输过程中的完整性。那么数字签名是如何实现对完整性保证的呢?
关键技术就是hash,通常把hash之后的内容称为信息摘要message digest。我们都知道,hash往往是不可逆的,对原文进行再细微的修改,得到的hash后的内容都会与未经修改的原文的hash内容大相径庭。将hash后的信息摘要,用自己的私钥进行加密,加密后的信息摘要实际就是数字签名的内容。
数字签名能够实现三点功能:
(1)接收者能够核实发送者对报文的签名,也就是说,接收者能够确信该报文确实是发送者所发送的。其他人无法伪造对报文的签名,这就叫做报文鉴别。
(2)接收者确信所收到的数据和发送者发送的完全一样,没有被篡改过。这就叫做报文的完整性。
(3)发送者事后不能抵赖对报文的签名。这就做不可否认性。
数字签名过程:
甲乙双方首先交互双方的公钥,甲使用乙的公钥对数据进行加密形成密文;然后在对数据使用hash算法(md5)形成数字摘要,此时甲使用自己的私钥对数据摘要进行加密形成数字签名,最后甲将这两份加密文件发送给乙。
乙使用自己的私钥对甲的密文进行解密,然后乙在使用公钥对数字签名进行解密,乙在本地在使用hash算法形成数字摘要,然后将自己得到的数字摘要和甲发送给自己的数字摘要进行对比,如果不一样那就被篡改了。

密钥管理体制

常见的密钥管理中心有传统密钥管理中心(KMI)、开放网(PKI)、模块化专用网(SPK)
X.509数字证书认证下的PKI
PKI加密体系:https://www.jianshu.com/p/46a911bd49a7
数字签名和数字证书究竟什么:https://www.jianshu.com/p/80aa37311151
数字证书(就是非对称秘钥)的权威认证中心,这个中心会给Bob创建一个数字证书,这个数字证书包括了Bob的一些信息以及Bob的公钥。想要跟Bob进行通信的人,就可以检查Bob的数字证书,然后向权威的数字证书的认证中心,去认证这是不是真实的Bob的数字证书,如果是,就可以从数字证书中获取到Bob的公钥,然后进行安全的通信。

数字证书-》数字签名-》hash校验-》信息比对

身份认证

身份认证定义:向服务器提供他是合法用户的证据。身份认证的目的:确认用户身份,保证信息资源被合法用户访问。
身份安全认证:
1、信息加密以防止欺骗标志(骗取合法凭证,以虚假身份试探访问系统)和篡改数据(非授权信息对认证信息修改)
2、安全认证方式抵御重放攻击(利用网络监听盗取认证凭据,利用目的主机已经接受过的认证报文,不断恶意地欺诈性重复发给认证服务器,干扰服务器正常运行,让系统不能给用户提供正常访问方式)
3、数字签名有效抵制欺骗标志和拒绝承认(用户拒绝承认以自己的身份执行特定操作或数据传输)

口令认证威胁:
1、网络数据流窃听:窃取网络传输过程中没有加密的用户数据。
2、认证信息截取、重放:有些认证信息经过简单加密传输,攻击者无法通过截取获取口令,此时使用截取或者重放,在提取相应的用户信息。
3、字典攻击:将用户常用的密码放在一个文件当中,攻击者会使用字典当中的数据来进行爆破用户密码。其中穷举尝试(也叫暴力破解)为字典攻击中较为常用的方式。
4、窥探口令:安装监视器或在对方的电脑上安装木马软件来记录口令
5、骗取口令:攻击者冒充合法用户发送邮件或打电话给管理人员来骗取口令。
6、垃圾搜索:通过被攻击者的废弃物,得到被攻击系统有关的信息。

口令安全管理:

1、口令安全储存:直接储存在数据库当中,没有经过加密;哈希散列函数口令储存。
2、口令安全设置:例如输入密码时密码显示为“*”号
3、口令加密传输:利用加密算法将口令进行加密。
4、验证码:登录或者注册时系统会向用户发送一个验证码来验证口令的合法性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值