学CTF的笔记忘记带了,汗...本来想将这三天来学二进制的知识记录下来的,看来只能搁置到明天了,今天就将之前I春秋学院学过的密码学基础放在上面吧,也算加深下印象
学习大纲
1.密码的基本概念
2.密码的技术发展
3.密码算法
4.总结
密码的基本概念:指使用特定变换对数据等信息进行加密保护或安全认证的物象和技术
物象:系统,设备
加密保护:使用特定变换,将原始信息变成攻击者不能识别的符号序列,从而保护信息机密性如:hello->loleh
安全认证:使用特定变换,确认信息是否被篡改,是否来自可靠信息源等,从而保护数据的完整性,信息来源的真实性和行为以及确认信息发送行为是否真是不可否认性
在我国,密码分为核心密码,普通密码和商用密码
核心密码,普通密码用于保护国家秘密信息
商用密码用于保护不属于国家秘密的信息
密码的作用包括三个方面:
1.机密性 2.真实性 3.完整性 4、不可否认性
二:密码技术的发展
二战以前,密码技术主要用于军事和外交的保密信息,1994年以后,随着香农的论文《保密系统的通信理论》的发表,密码技术逐步建立了完整的理论基础,成为了一门学科
发展历程:古典密码->机械密码->现代密码
古典密码:古典密码是密码学的源头,密码学家常凭借直觉和信念来进行密码涉及和分析,而不是推理证明,因此,这一时期的密码是一种艺术,而非科学,古典密码主要分为两种机制,替换密码和置换密码
1.替换密码:采用一个代换表,讲一段明文变换成一段密文,这个代换表就是秘钥,分为单表代换和多表代换,“凯撒密码”是典型的替换密码,加密过程如下表:
明文 I am mine
对应字母表顺序 8,0,12,13,8,13,4
秘钥(模加数字) 11,11,11,11,11,11,11
模加结果 19,11,23,24,19,24,15
密文 q lx yfyp
由于秘钥取值范围为25个,所以很容易被穷举破解
2.置换密码:典型代表是栅栏密码,栅栏密码出现在1861年至1865年的美国南北战争时期,其加密原理是明文案列写文,密文按行进行输出,加密过程可以用一个置换也可以用多个置换,加密过程如下表:
145326 145326
attack ->
begins
atfour
明文:attack begins at four
密文:aba cnu aio tet tgf ksr
机械密码:典型代表是恩尼格码密码机,二战中被德国使用,秘钥空间庞大,大约有1亿种不同的密码变换组合,穷举攻击的计算量超出 计算机的能力
现代密码:香农(shannon)保密通信理论的发表和美国数据加密标准DES的公布以及公钥密码思想的提出,标志着密码科学时代的到来
香农提出的理想密码模型“一次一密”理论中表明:最安全的密码是1比特秘钥保护1比特密文,然而现实中真正无现场随机秘钥很难搞到Diffie Hellcman的“密码学的新方向”一文,为非对称密码的发展奠定了基础,标志着现代密码学的开始
自20世纪70年代起,具备了完整的现代密码算法体系
国外算法:
国内算法:
密码技术与发展:
DES 2DES 3DES AES128 AES192 AES256
RSA1024 RSA2048 RSA3072
DSA160 DSA224 DSA256 DSA384 DSA256
SHA-1 SHA-24 SHA-256 SHA-384 SHA-52
56比特 80比特 112比特 128比特 192比特 256比特
1999年 2010年 2030年 2040年 2080年 2120年
微观世界(1990):
量子信息理论(1960):
1982年费曼提出量子计算机基础模型
1991 Dan simon算法
1994 Petershor算法
1996 LovGrover算法
1997 NMR原理
1998 3-9比特NMR机
2000 7-9bitNMR
2001 shor算法分解
2005 9byte
2006 12-9byte
2007 D-wave 28 bit
2008 D-wave 128 bit
2015 D-wave 1800 bit
三:密码算法
在现代密码学理论中,算法是密码技术的核心,常见的密码算法包括对称加密算法,公钥算法和密码杂凑三个算法类别,如下图所示:
密码算法:
商用密码算法标准:
ZUC GM/T 0001-2012《祖冲之序列密码算法》
SM4 GB/T 32907-2016《信安技术 SM4分组密码算法》
SM2 GB/T 32918-2017《信安技术 SM2椭圆曲线公钥算法》
对称密码算法
加密与揭秘过程使用相同的或能互相推导的出的秘钥加密和解密是对称的,对称密码的加解密基本流程如下所示:
我国对称密码算法
国外常见对称密码算法
未完待续....
原文:https://www.cnblogs.com/xiaoshenlong/p/10652502.html