密码学
文章平均质量分 85
Unicorn_snow
这个作者很懒,什么都没留下…
展开
-
《现代密码学》学习笔记——第八章 身份鉴别
身份鉴别又称为身份识别、身份认证。它是证实用户的真实身份与其所声称的身份是否相符的过程。(1)已拥有的事物:通常是物理配件。如,磁卡、智能卡(或IC卡)、USB key。(2)固有事物(对某个人):利用人类物理特征和行为特征。如:指纹、声音、视网膜模式、脸型,手划屏幕力度及几何形状等。(3)已知事物:口令、个人识别码(PIN)、密钥。(1)猜——防止弱口令(2)窃听——加密+源认证(3)离线攻击(将口令的hash值存储)——口令加盐(注册环节)(1)放慢口令映射 ①Hash(count,sa原创 2022-07-12 17:53:03 · 1804 阅读 · 0 评论 -
《现代密码学》学习笔记——第七章 密钥管理[二]数字证书
(1)广播式公钥分发:任意通信方将它的公钥发送给另一方或广播给其他通信各方。(2)目录式公钥分发:由可信机构维护一个公开、动态、可访问的公开密钥目录。可以通过可信渠道到可信机构登记并申请增、删、改自己的公钥。其他人可以基于公开渠道访问目录来获取某个登记用户的公钥。(3)公钥管理机构分发:目录管理员负责维护并传递完整密钥给请求用户。(4)数字证书式公钥分发:该方式由Kohnfelder提出,每个参与者向证书中心提交自己的公钥,申请证书。使用公钥时,可向通信对方索取证书或向可信中心索取证书。(5)数字(原创 2022-07-12 13:14:27 · 1072 阅读 · 0 评论 -
《现代密码学》学习笔记——第七章 密钥管理[一]
即使密码系统的任何细节已为人悉知,只要密钥未泄漏,它也应是安全的。 密钥管理就是在授权各方之间实现密钥关系的建立和维护的一整套技术和程序。在一定的安全策略指导下完成密钥从产生到最终销毁的整个过程,包括密钥的生成、建立(分配和协商)、存储、使用、备份/恢复、撤销、更新、存档和销毁等。 密钥生成是密钥生命周期的基础阶段:(1)密钥的生成一般首先通过密钥生成器借助于某种噪声源产生具有较好统计分析特性的序列,以保障生成密钥的随机性和不可预测性,然后再对这些序列进行各种随机性检验以确保其具有较好的密码特性原创 2022-07-08 17:09:36 · 2243 阅读 · 0 评论 -
《现代密码学》学习笔记——第五章 密钥分配与密钥管理
手写签名(如写信、签订协议、支付确认、批复文件等)是一种传统的确认方式。(1)手写签名是所签文件的物理组成部分;数字信息无绑定的物理载体。(2)手写签名通过与标准签名比较或检查笔迹来验证;数字信息肉眼无法辨识含义。(3)手写签名不易模仿复制;数字信息十分容易复制、粘贴。 数字签名,也称电子签名,是指附加在某一电子文档中的一组特定的符号或代码,它是利用数学方法对该电子文档进行关键信息提取并与用户私有信息进行混合运算而形成的,用于标识签发者的身份以及签发者对电子文档的认可,并能被接收者用来验证该电子原创 2022-07-06 20:06:13 · 1157 阅读 · 0 评论 -
《现代密码学》学习笔记——第四章 公钥密码
(1)初始密钥分配:对称密码体制,发送方指定一个(种子)密钥后,必须得想方设法把密钥告知接收方,怎样确保“告知过程”密钥不泄露就成为了一个大问题。(2)密钥管理:在有n个用户的网络中,若需要两两用户安全通信,则每对用户需要共享独立的秘密密钥,网络中需要管理的密钥总数是 n *(n-1)/2。(3)不可抵赖性:当主体A收到主体B的电子文挡(电子数据)时,无法向第三方证明此电子文档确实来源于B。隐含了消息认证,但是只能认定合法用户,缺认定不到唯一的人。 密钥生成过程:接收消息的端系统(如图中的接收者Ali原创 2022-07-04 19:50:44 · 839 阅读 · 0 评论 -
《现代密码学》学习笔记——第六章 消息认证和杂凑算法
Hash函数 H:{0,1}*→{0,1}n(就是将任意长度的0,1序列映射到一个固定长度),又称改动检测码MDC、杂凑函数、哈希函数等等。原像空间{0,1}*称为消息空间,可用M表示,消息是任意有限长度的。像空间{0,1}n称为hash值空间,hash值(散列值、消息摘要)长度固定为n。Hash函数可以用来保护消息的完整性。 函数若满足下列两个条件,则称之为强单向函数:(1) 计算f(x)是容易的,即f(x)是多项式时间可计算的;(2)计算f函数的逆f-1(x)是困难的,即对每一多项式时间概率算原创 2022-07-01 19:01:49 · 1000 阅读 · 0 评论 -
《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
分组密码在加密时,明文的分组长度是固定的,而实际应用中待加密消息的数据量是不定的,数据格式多种多样。(1)为了能在各种应用场合使用DES,美国在FIPS PUS 74和81中定义了DES的4种运行模式:ECB,CBC,CFB,OFB;(长消息加密的推荐模式)(2)FIPS PUB 140-2 推荐了AES的另外一种运行模式:CTR(短消息加密的推荐模式)。(1)将长消息分块,若最后一个分块不足分组长度,则需要填充;(2)加密过程和解密过程分别调用加密算法和解密算法;(3)存在密文扩展(明文填充原创 2022-06-30 11:26:33 · 521 阅读 · 0 评论 -
《现代密码学》学习笔记——第三章 分组密码 [二] AES
(1)字节代换(SubByte)(2)行移位(ShiftRow)(3)列混合(MixColumn)(4)密钥加(AddRoundKey) 字节代换是非线性变换,独立地对状态的每个字节进行。代换表(S-Box)是可逆的。 将明文字节Ai看作GF(28)上的元素,映射到自己的乘法逆元,’00’映射到自己。(可以通过矩阵计算得出)B′对字节B′i做仿射变换得到密文Bi 将状态阵列的各行进行循环移位,不同用的状态行的位移量不同。第0行不移动,第1行循环左移C1个字节,第二行循环左移C2个字节,第三行原创 2022-06-29 19:10:15 · 2870 阅读 · 0 评论 -
《现代密码学》学习笔记——第三章 分组密码
一个分组密码体制(P,K,C,E,D),其中P表示明文,K表示密钥,k表示出示密钥,C表示密文,E表示加密算法,D表示解密算法。有P=C={0,1}/;K={0,1}t,/表示分组长度,t表示密钥长度。加密变换:E:P×K→C,当k∈K确定时,Ek为P→C的一 一映射。解密变换:D:C×K→P,当k∈K确定时,Dk为C→P的一 一映射。Dk·Ek=1。 在前一个数据加密标准DES被攻破之后,美国标准技术研究所(NIST)征集的新的数据加密标准——高级数据加密标准(AES)。新算法AES的分组长度为12原创 2022-06-28 19:58:21 · 764 阅读 · 0 评论 -
《现代密码学》学习笔记——关于时间复杂度的补充内容
时间复杂性:考虑算法的主要操作步骤,计算执行中所需要的总操作次数。 空间复杂性:执行过程中所需存储器的单元数目。 数据复杂性:信息资源。 假设一个算法的时间复杂度为O(nt),其中t为常数,n为输入问题的长度,则称这类算法的时间复杂度为多项式的。具有多项式时间复杂度的算法为多项式算法。函数g(n)=O(nt)表示存在常数c>0和n0≥0,对一切n>n0均有|g(n)|≤c|nt|成立,也就是说,当n足够大的时候,g(n)存在上界。算法的时间复杂性写不成O(P(n))形式,其中P(n)表示n的多原创 2022-06-28 16:30:47 · 440 阅读 · 0 评论 -
《现代密码学》学习笔记——第二章 流密码
具体关于一次性密码本OTP的介绍:点击这里 完善保密→随机密钥长度大于等于明文长度 解决方法→有限的密钥生成长的密钥序列 流密码的核心→伪随机数发生器(PRG) 优点:有限错误传播,即使接收端和发送端不同步,只要接收端能连续地接受到n个正确的密文符号,就能重新建立同步;缺点:评估自同步流密码的安全性困难得多。 在同步流密码中,密(明)文符号是独立的,一个错误传输只会影响一个符号,不影响后面的符号。缺点:一旦接收端和发送端的种子密钥和内部状态不同步,解密就会失败,两者必须立即借助外界手段重原创 2022-06-27 11:48:48 · 1540 阅读 · 0 评论 -
《现代密码学》学习笔记——第一章 引言
(1)明文:发送方即将要发送的消息。(2)密文:明文经过密码变换之后得到的消息。(3)加密:由明文变换为密文的过程。(4)解密:由密文恢复出明文的过程。(5)加密算法:对明文进行加密是采用的一组规则。(6)解密算法:对密文进行解密时才有的一组规则。(7)密钥:一种特定的值,能使密码算法按照制定的方式进行,并产生相应的密文。**密钥是密码体质安全保密的关建**。(8)加密员(密码员):对明文进行加密操作的人员。(9)接收者:传送消息的预订对象。(10)对称密码体制:使用的加密密钥和解密密钥相原创 2022-06-21 19:56:53 · 705 阅读 · 0 评论 -
精读《图解密码技术》——第十四章 SSL/TLS
Web浏览器是发送者的计算机上运行的一个程序,而Web服务器则是在响应端计算机上运行的一个程序,它们都遵循―种叫作HTTP的协议来进行通信。其中,Web浏览器称为HTTP客户端,Web服务器称为HTTP服务器。 于是,我们可以用SSL 或者TLS作为对通信进行加密的协议,然后在此之上承载HTTP,如下图所示。通过将两种协议进行叠加,我们就可以对HTTP的通信(请求和响应)进行加密,从而防止窃听。通过SSL/TLS进行通信时,URL不是以http://开头,而是以https:/开头。(1)机密性 要原创 2022-06-17 19:41:42 · 665 阅读 · 0 评论 -
精读《图解密码技术》——第十三章 PGP
(1)生成密钥:用于对称密码和消息验证码。(2)生成密钥对:用于公钥密码和数字签名。(3)生成初始化向量(IV):用于分组密码的CBC、CFB和 OFB模式。(4)生成nonce:用于防御重放攻击以及分组密码的CTR模式等。(5)生成盐:用于基于口令的密码(PBE)等。(1)随机性——不存在统计学偏差,是完全杂乱的数列(2)不可预测性——不能从过去的数列推测出下一个出现的数(3)不可重现性——除非将数列本身保存下来,否则不能重现相同的数列 通过硬件生成的随机数列,是根据传感器收集的热量、声音的原创 2022-06-17 12:07:27 · 3219 阅读 · 0 评论 -
精读《图解密码技术》——第十一章 密钥
在使用对称密码、公钥密码、消息认证码、数字签名的时候,都需要一个被称为密钥的巨大数字。可能出现的密钥的总数量被称为密钥空间,密钥空间越大,密钥破解起来就越困难,密钥空间的大小由密钥的长度所决定。密钥和明文是等价的。(1)对称密码的密钥与公钥密码的密钥 在对称密码中,加密过程和解密过程使用的是同一个密钥,因此对称密码又称为共享密钥密码。在公钥密码中,加密和解密使用的是不同的密钥,用于加密的密钥称为公钥,用于解密的密钥称为私钥,私钥也称为秘密密钥。相对应的公钥和私钥称为密钥对。(2)消息认证码的密钥与原创 2022-06-16 16:47:03 · 1207 阅读 · 0 评论 -
精读《图解密码技术》——第十章 证书
公钥证书里面包含姓名、组织、邮箱、地址等个人信息,以及属于此人的公钥,并由认证机构施加数字签名,只要看到公钥证书,就可以知道认证机构认定该公钥属于此人,公钥证书也简称为证书。(1)接收者生成密钥对要使用公钥密码进行通信,首先需要生成密钥对,并将私钥自行妥善保管。(2)接收者在认证机构Trent注册自己的公钥接收者将自己的公钥发给认证机构Trent,认证机构对接收者的公钥生成证书,也就是加上数字签名。(3)认证机构Trent用自己的私钥对接收者的公钥加数字签名并生成证书(4)发送者得到带有认证机原创 2022-06-15 16:06:54 · 956 阅读 · 0 评论 -
精读《图解密码技术》——第九章 数字签名
(1)消息认证码的局限性 消息认证码可以用于验证消息的完整性,还可以对消息进行认证。在消息认证码中,需要发送者和接收者之间共享一个密钥,无法向第三方证明消息到底由谁生成,所以存在事后否认的可能。(2)通过数字签名解决问题 假设发送者有一个只有自己知道的私钥,当发送者发送消息时,她用私钥生成一个“签名”。相对地,接收者则使用一个和发送者不同的密钥对签名进行验证。使用接收者的密钥无法根据消息生成签名,但是用接收者的密钥却可以对发送者所计算的签名进行验证,也就是说可以知道这个签名是否是通过发送者的密钥计原创 2022-06-14 15:08:25 · 1787 阅读 · 0 评论 -
精读《图解密码技术》——第八章 消息认证码
消息的完整性指的是“消息没有被篡改”这一性质,这一性质也叫一致性。消息的认证指的是消息来自正确的发送者。消息认证码可以同时识别出消息的篡改和伪装,既能确定消息的完整性,也能对消息进行认证。消息认证码是一种确认完整性并进行认证的技术,简称MAC。消息认证码的输入包括任意长度的消息和一个发送者与接收者之间共享的密钥,它可以输出固定长度的数据,这个数据称为MAC值。要计算MAC值必须持有共享密钥,没有共享密钥的人就无法计算MAC值,消息验证码正是利用这一性质来完成认证的。我们可以暂且将“消息认证码”理解为是“原创 2022-06-13 16:37:42 · 2197 阅读 · 0 评论 -
精读《图解密码技术》--第七章 单项散列函数
未被攻击者Mallory篡改文件的内容,这种文件“是真的”的性质称为文件的完整性,也成为了一致性。 单项散列函数有一个输入和一个输出,输入的是消息,输出的是散列值,也就是文件的“指纹”,可以用于检查文件的完整性。这里的消息,可能是声音、图像或文字信息等,无论是什么形式的消息,单向散列函数都会将它作为单纯的比特序列来处理。散列值的长度与消息的长度无关,即便是确认几百兆的文件的完整性,也只需要比较较短的散列值就可以了。(1)根据任意长度的消息计算出固定长度的散列值;(2)能够快速计算出散列值;.....原创 2022-06-10 20:16:26 · 959 阅读 · 0 评论 -
精读《图解密码技术》--第六章 混合密码系统
对称密码必须要解决密码配送问题,公钥密码解决了这个问题,但是公钥密码并不是无懈可击,它有两个很大的问题:首先,公钥密码的处理速度远远低于对称密码;第二,公钥密码难以抵御中间人攻击。 顾名思义,混合密码系统就是将对称密码和公钥密码优势相结合的一种方法。首先,使用对称密码对消息进行加密,在得到密文之后,再用公钥密码对之前对称密码的密钥进行加密,然后将加密后的密文传输给接收者。由于一般情况下密钥的长度要远远短于明文,所以公钥密码处理速度慢的问题所造成的影响也就可以忽略了。(1)用对称密码加密消息;.....原创 2022-06-09 19:49:24 · 1621 阅读 · 0 评论 -
精读《图解密码技术》--第五章 公钥密码
由于对称密码加密时的密钥和解密时的密钥是一致的,所以使用对称密码的时候,要同时保证密文和密钥都发送给接收方,因为只有同时将密钥和密文发给接收方,接收方才能完成解密。但是密钥和密文缺不能同时发送,因为如果同时发送,就会导致不光接收方可以解密,窃听者也可以完成解密工作。如此密钥既必须要发送,又不能发送,这就是对称密码的密钥配送问题。(1)通过事先共享密钥来解决(2)通过密钥分配中心来解决(3)通过Diffie-Hellman密钥交换来解决(4)通过公钥密码来解决 顾名思义,事先共享密钥的方式就是通过原创 2022-06-08 20:03:31 · 1227 阅读 · 0 评论 -
精读《图解密码技术》--第四章 分组密码的模式
密码算法可以分为分组密码和流密码两种。分组密码是每次只能处理特定长度的一块数据的一类密码算法。流密码则是对数据流进行连续处理的一类密码算法。 由于分组密码算法只能够加密固定长度的密码分组,但是明文的长度可能会超过密码的分组长度,这时就需要对分组密码算法进行迭代,这种迭代的方法就叫做分组密码的模式。 分组密码的主要模式分为五种:ECB模式、CBC模式、CFB模式、OFB 模式和CTR模式。 明文分组是指分组密码算法中加密之前的明文。密文分组是指用分组密码算法将明文分组加密之后得到密文。 在.....原创 2022-06-07 19:04:33 · 841 阅读 · 0 评论 -
精读《图解密码技术》--第三章 对称密码(共享密钥密码)
计算机的操作对象是由0和1排列而成的比特序列,将现实世界的东西映射为比特序列的操作称为编码。 比特序列的XOR运算称为异或运算,记作⊕。(1)1个比特的XOR运算规则 0 XOR 0 = 0,记作:0 ⊕ 0 = 0 ; 0 XOR 1 = 1,记作:0 ⊕ 1 = 1 ; 1 XOR 0 = 1,记作:1 ⊕ 0 = 1 ; 1 XOR 1 = 0,记作:1 ⊕ 1 = 0 。(2)比特序列的XOR运算规则 假设A的比特序列为01001100,B的比特序列为10101010,原创 2022-05-27 17:54:55 · 1269 阅读 · 0 评论 -
精读《图解密码技术》--第二章 历史上的密码
一、凯撒密码凯撒密码是通过将明文中所使用的字母表按照一定的字数的“平移”来进行加密的,如下图所示。1.加密假设发送者Alice需要保密的明文为“iloveyou”一共8个字母,接下来需要将明文加密为密文,密钥为4,也就是将明文的每个字原创 2022-05-25 20:14:00 · 1791 阅读 · 0 评论 -
精读《图解密码技术》--第一章 环游密码世界
一、书中主要角色一览表二、名词解释三、密码学家的工具箱四、信息安全常识 五、小测验原创 2022-05-24 17:06:38 · 1828 阅读 · 0 评论 -
浅读《图解密码技术》--学习笔记
浅读《图解密码技术》(学习笔记)一、什么是密码学二、历史上的密码三、现代密码工具四、密码学应用——SSL/TLS&区块链五、量子时代的密码学原创 2022-05-22 18:23:24 · 943 阅读 · 0 评论