密码技术

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码技术相关的知识,希望对你有一定的参考价值。

参考技术A

密码算法的特性
1、是否需要事先配送私钥:对称密码需要考虑
2、是否会遭到中间人攻击:非对称密码分发公钥时需要考虑
3、不可抵赖(可被双方 和 第三方 用原理证明):非对称密码分发公钥时需要考虑
4、能否保证消息的机密性:即不可破译
5、能否保证消息的完整性(一致性):即不可篡改
6、不可冒充(伪造)

总结:对称密码(解决456)--非对称密码之单向通信--> 混合密码(解决1) --非对称密码之数字签名--> 公钥证书(解决23)

概念
密码算法:加密算法 + 密钥 + 解密算法,简称密码
密钥空间:密钥的所有取值
隐蔽式安全性:以密码算法不为人所知,来保证机密性
分组密码:对明文进行分组加密,而非以全文作为输入
流密码:不分组,整体加密

破解密文的方法
1、窃听 + 破译
2、社会工程学
破解密钥的方法
1、暴力破解(密钥穷举),例如破译凯撒密码
2、频率分析,例如破译简单替换密码
3、选择明文攻击(对分组进行明文穷举)

加密系统的可选技术
隐写术:将消息藏在更大的数据中,例如藏头诗
伪随机数生成器
散列值(摘要,哈希值,指纹):原文经过散列函数(摘要函数,哈希函数,杂凑函数,单向加密)计算出来的值
对称密码(共享密钥密码):加密和解密用同一个私钥
非对称密码(公钥密码):公钥加密,私钥解密
消息认证码
数字签名
公钥证书

碰撞:两个消息的散列值相同
弱抗碰撞性:给定一条消息,很难找到另一条消息与其散列值相同。防止以下情形,Bob持有一个消息A,计算其摘要;Alice找到与A散列值相同的另一条消息B,用B将A调包;由于摘要不变,不被Bob发觉
强抗碰撞性:很难找到两条散列值相同的消息。防止以下情形,Alice拿两个摘要相同的消息A和B,将A发给Bob;Bob计算其摘要;Alice再用B将A调包;由于摘要不变,不被Bob发觉
MD5(Message Digest 5)
历史:1991年Ronald Rivest 设计出MD5
现状:2004年王小云提出了MD5碰撞攻击算法
SHA
历史:1993年NIST发布SHA,1995年发布SHA-1,2002年发布SHA-2
现状:2004年王小云提出了SHA-0的碰撞攻击算法;2005年王小云提出了SHA-1的碰撞攻击算法
SHA-3
历史:2007年NIST发起选拔SHA-3,2012年Joan Daemen等人设计的Keccak算法被选定为SHA-3

弱伪随机数:随机性
强伪随机数:不可预测性
真随机数:不可重现性

随机数生成器:硬件可以通过热噪声实现真随机数
伪随机数生成器:软件只能生成伪随机数,需要一种子seed来初始化

伪随机数算法:线性同余法、散列法、密码法等

好的对称密码解决:不可破译
缺点:需要事先配送密钥
凯撒密码
加密算法:字母平移
密钥:平移位数
解密算法:逆向平移
破解密钥:穷举可能的密钥
简单替换密码
加密算法:一个字母替换成另一个字母
密钥:替换表
解密算法:逆向替换
破解密钥:对密文的字母 和 字母组合进行频率分析,与通用频率表对比;用破译出来的明文字母,代入密文,循环分析
Enigma密码
发明者:德国人Arthur Sherbius
加密算法:双重加密,每日密钥作为密钥1,想一个密钥2;用密钥1加密密钥2,得到密钥2密文;用密钥2加密消息;将密钥2密文和消息密文一起发出
密钥:密钥册子记录的每天不同的密钥
解密算法:用每日密钥解密密钥2密文,得到密钥2;用密钥2解密消息密文
破译者:Alan Turing 图灵

DES密码(Data Encryption Standard)
历史:1974年IBM公司的Horst Feistel开发出了Lucifer密码,1977年被美国国家标准学会(American National Standards Institute,ANSI)确定为DES标准
加密算法:以64比特为一组,进行16轮运算。在一轮中,把一组分为左侧和右侧,并从密钥中提取子密钥;轮函数用一侧和子密钥生成一个比特序列,用这个比特序列对另一侧进行异或运算(XOR)
密钥:长度56位
破译:可在现实时间内被暴力破解

三重DES密码(triple-DES,TDEA,3DES)
加密算法:将DES重复三次
密钥:长度 56 * 3

AES密码(Advanced Encryption Standard)
历史:1997年,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)公开募集AES,2000年比利时密码学家Joan Daemen 和 Vincent Rijmen提交的Rijndael方案,被选为标准
加密算法:以128比特为一组,进行多轮的替换、平移、矩阵运算
密钥:有128,192,256三种长度

分组密码的迭代模式
ECB模式:Electronic CodeBook mode,电子密码本模式;明文分组 和 密文分组 顺序对应。主动攻击者可以改变密文分组的顺序,复制 或 删除密文分组,使得接受者解密后得到错误的明文
CBC模式:Cipher Block Chaining mode,密码分组链接模式;将本组明文 和 上组密文 进行异或运算后,在进行加密;如果被篡改,则不能正常解密
CFB模式:Cipher Feedback mode,密文反馈模式;将本组明文 和 上组密文 进行异或运算后,就得到本组的密文
OFB模式:Output Feedback mode,输出反馈模式;用随机比特序列作为初始化组(初始化向量);用初始化组的密文和 明文分组 异或运算,得到密文分组;再次对初始化组密文进行加密运算,得到新的初始化组密文,跟下组明文进行异或运算,以此类推
CTR模式:CounTeR mode,计数器模式;用随机比特序列作为计数器的初始值,加密后与明文分组进行异或操作,得到密文分组;计数器加一,对下组明文进行加密

对称密码中,发送方发送密文时,带上消息的MAC值A;接收方用相同方法计算出MAC值B;对比A和B,确保消息不被篡改
Encrypt-then-MAC:MAC值为消息密文的散列值
Encrypt-and-MAC:MAC值为消息明文的散列值
MAC-then-Encrypt:MAC值为明文散列值的密文

重放攻击:攻击者窃听到Alice给Bob发送的消息后,重复给Bob发送,Bob以为都是Alice发的
预防重放攻击:消息里带有一个id

比对称密码:不可篡改、不可伪造
缺点:需要实现配送私钥

基于口令的密码:Password Based Encryption,PBE
解决:密钥(会话密钥)保存问题
CEK:会话密钥
KEK:用来加密CEK的密钥
方案
1、随机数作为盐salt,口令 + 盐 的散列值作为KEK
2、用KEK加密CEK,得到CEK密文
3、只保存盐和CEK密文,人脑记住口令,丢弃KEK

字典攻击:如果没有盐参与生成KEK,那么口令决定了KEK,常用的口令对应一个常用KEK字典,攻击者直接拿常用KEK去解密CEK密文
盐的作用:KEK由盐参与形成,不可能有KEK字典包含这样的KEK

非对称密码单向通信,不能单独用于通信,只用在混合密码中
方案:Alice 给 Bob 分发加密密钥(公钥);Bob用公钥加密消息,发送给Alice;Alice用解密密钥(私钥)解密
总结:消息接收者是密钥对主人,即私钥持有人;公钥用于加密,私钥用于解密

RSA密码
历史:1978年,Ron Rivest、Adi Shamir、Reonard Adleman共同发表了RSA
加密算法:密文 = 明文 E mode N
公钥:E 和 N的组合
解密算法:明文 = 密文 D mode N
私钥:D 和 N的组合

生成密钥对
生成质数:用伪随机数生成随机数,通过Miller-Rabin测试法测试它是不是质数,直到得到质数
求最大公约数:欧几里得的辗转相除法
1、求N
生成两个512位的质数p和q,N = p * q
2、求L
L是p-1 和 q-1 的最小公倍数
3、求E
用伪随机数生成(1,L)范围内的随机数,直到满足E和L的最大公约数为1
4、求D
用伪随机数生成(1,L)范围内的随机数,直到满足(E * D) mod L = 1

破解:对N进行质因数分解,得到p和q,从而求出D。但是对大数的质因数分解,未有快速有效的方法

首次通信为混合密码,后续通信为对称密码
比消息认证码:无需事先配送私钥
总体思路:Bob 用会话密钥加密消息,用Alice的公钥加密会话密钥,一起发给Alice;Alice用私钥解密会话密钥,用会话密钥解密消息
会话密钥:用来加密消息的 对称密码的密钥
1、Alice 给 Bob 发送公钥
2、Bob随机生成会话密钥,用会话密钥加密消息,得到消息密文
3、Bob用公钥加密会话密钥,得到会话密钥密文
4、Bob将会话密钥密文和消息密文一起发给Alice
5、Alice用私钥解密会话密钥,再用会话密钥解密消息
6、双方都有了会话密钥,从此以后,可以用对称密码通信了,带上消息认证码

缺点:分发公钥时,可能遭受中间人攻击;Alice可能对给Bob发送公钥这件事进行抵赖
中间人攻击:中间人从一开始Alice向Bob发放公钥时,就拦截了消息,得到Alice的公钥;然后伪装成Alice,向Bob发送自己的公钥;从而Bob打算发给Alice的消息,能被中间人解密

不能单独用于通信,只用在公钥证书中
明文签名:Alice用签名密钥(私钥)加密消息的摘要,把摘要密文和消息明文一起发给Bob;Bob解密摘要密文,得到摘要A;算出明文摘要B,对比A和B
总结:私钥用于加密,公钥用于解密,与 非对称加密之单向通信,刚好反过来

公钥证书:Public-Key Certificate,PKC,简称证书
认证机构:Certification Authority,CA
证书标准:国际电信联盟ITU 和 国际标准化组织ISO指定的X.509标准
流程:
1、Alice在CA登记
2、CA生成Alice的证书明文,包含Alice登记的信息、Alice的公钥、CA信息
3、CA用自己的私钥加密证书明文部分,得到数字签名
4、证书明文部分 和 数字签名 组成PKC,颁发给Alice
5、Bob向Alice获取这个PKC,拿本地已有的CA公钥去验证证书,就得到了可信的Alice的公钥
6、从此Alice 和 Bob之间可以进行混合密码通信

首次通信为从CA获取PKC,后续通信为混合密码
比混合密码:防止了中间人攻击;CA不能抵赖自己的证书

历史:1994年网景公司设计出SSL,2014年SSL 3.0被发现安全漏洞,1999年IEIF发布TLS
TLS(Transport Layer Security)是SSL(Secure Socket Layer)的后续版本,在tcp和http之间加一层TLS,就是https
OpenSSL:OpenSSL是实现SSL/TLS协议的工具包
以https为例
0、浏览器安装时,存有几个CA公钥;服务器在CA登记,拿到证书
1、浏览器访问一个https地址,服务器返回自己的证书
2、浏览器根据证书上的CA信息,拿对应的CA公钥验证证书,得到可信的服务器公钥
3、浏览器生成对称密码的密钥(会话密钥),用服务器公钥加密后发给服务器
4、服务器解密后得到会话密钥,从此用对称密码通信,带上消息认证码

1、生成JKS证书:keytool -genkeypair -alias "别名" -keyalg "RSA" -keystore "D:\\app.jks"
2、将JKS转换成PKCS12:keytool -importkeystore -srckeystore D:\\app.jks -destkeystore D:\\app.p12 -deststoretype pkcs12
3、将PKCS12转成pem:openssl pkcs12 -in ./app.p12 -out app.pem
4、提取加密后的私钥:将pem中 “—–BEGIN ENCRYPTED PRIVATE KEY—–” 至 “—–END ENCRYPTED PRIVATE KEY—–” 的内容拷贝出来,保存为ciphertext.key
5、将密文私钥转成明文私钥:openssl rsa -in ciphertext.key -out plaintext.key

.jks(Java Key Storage):二进制格式,包含证书和私钥,有密码保护
.pfx 或 .p12(Predecessor of PKCS#12):二进制格式,包含证书和私钥,有密码保护
.pem(Privacy Enhanced Mail):文本格式,包含证书,可包含私钥,私钥有密码保护
.der 或 .cer:二进制格式,只包含证书
.crt(Certificate):可以是der格式,也可以是pem格式,只包含证书

SSL证书:SSL证书必须绑定域名,不能绑定IP
加密服务、密钥管理服务

20179214 2017-2018-2 《密码与安全新技术》第一周作业

20179214 2017-2018-2 《密码与安全新技术》第一周作业

课程:《密码与安全新技术》
班级: 201792
姓名: 刘胜楠
学号:20179214
上课教师:谢四江
上课日期:2018年3月15日
必修/选修: 选修

学习内容总结

    ###量子密码技术简介
    量子密码技术是量子物理学和密码学相结合的一门新兴学科,它是利用量子物理学方法实现密码思想的一种新型密码体制。 量子密码技术是一种实现保密通信的新方法,它比较于经典密码的最大优势是具有可证明安全性和可检测性。单词量子本身的意思是指物质和能量的最小微粒的最基本的行为。量子密码术与传统的密码系统不同,它依赖于物理学作为安全模式的关键方面而不是数学。实质上,量子密码术是基于单个光子的应用和它们固有的量子属性开发的不可破解的密码系统,因为在不干扰系统的情况下无法测定该系统的量子状态。理论上其他微粒也可以用,只是光子具有所有需要的品质,它们的行为相对较好理解,同时又是最有前途的高带宽通讯介质光纤电缆的信息载体。
    量子密码学的基本思路是利用光子传送密钥信息。量子物理学的理论表明,每个光子都具有一个特定的线偏振特性(无论电场是水平振动还是垂直振动)和一个圆偏振特性(无论电场的方向是左旋还是右旋)。根据测不准原理,不能同时测定光子的线偏振和圆偏振特性,当精确测定其中一个特性时,必然是另一个特性完全随机化。

  利用这一特性,发送方和接收方便可以通过公开信道协商任何第三方无法窃听的随机密钥序列。发送方将随机选定的线偏振和圆偏振光子发送给接收方,而接收方独立地并随机地选定测试坐标测定接收到的光子,接收方正确测得的大约只占一半。接着接收方向发送方公稚测试坐标,同时发送方告诉接收方哪些是正确的,哪些是错误的,双方保留正确的,就可达到真正安全的分配随机密钥,其他任何第三方都无从知晓,这种传输叫做“量子传输”。利用量子信道传送密钥具有很高的安全性。因为第三方对光子的任何测定尝试会改变量子的偏振特性,从而造成接收者产生25%的测试误差,将上述保留的正确位置的比特进行比较,每个比特都含有75%的可能,窃听者可以窃听而不被发现。比较100个比特,则不被发现的可能性降到3.1013左右,也即此时一定能发现存在窃听。所以窃听者要想不改变密钥信息的内容,逃过收、发双方的眼睛而窃取密钥是根本不可能的。一旦发现密钥被窃取,双方可以丢弃收到的信息重新进行密钥分配。
到目前为止,有关量子密码的成果虽然很多,但尚有许多问题有待于深入研究。比如,寻找新的可用量子效应以便提出更多高效的量子密钥分配协议,开发量子加密算法以便形成和完善量子加密理论,在诸如量子身份认证、量子签名等方面改进已有方案或推陈出新,还有研究量子攻击算法和量子密码协议的安全性分析等。总的来说,量子密码理论与技术还处于实验和探索之中。自从二十世纪八十年代量子信息成为物理与信息学科交叉研究的热点以来,我国的科学工作者在量子信息研究方面也做出了大量的突出工作,包括量子计算、量子纠缠、量子克降、量子退相干、量子博弈、量子信息处理、量子纠错与避错、量子测量、量子密钥分配、量子机密共享、量子身份认证、量子数据隐藏、量子安全直接通信等各个方面,有关工作在论文集中有较多的收录。这一些研究工作不仅是理论上的,也在实验上取得了大量的优秀结果。

    ###中国量子研究的发展
    中国科技大学合肥微尺度物质科学国家实验室的潘建伟教授及其同事,利用冷原子量子存储技术在国际上首次实现了具有存储和读出功能的纠缠交换,建立了由300米光纤连接的两个冷原子系综之间的量子纠缠。这种冷原子系综之间的量子纠缠可以被读出并转化为光子纠缠以进行进一步的传输和量子操作。该实验成果完美地实现了长程量子通信中亟需的“量子中继器”,向未来广域量子通信网络的最终实现迈出了坚实的一步。

  类比于传统的电子通信中为了补偿电信号衰减而进行整形和放大的电子中继器,奥地利科学家在理论上提出,可以通过量子存储技术和量子纠缠交换和纯化技术的结合来实现量子中继器,从而最终实现大规模的长程量子通信。量子存储的实验实现却一直存在着很大的困难。为了解决量子存储问题,国际上人们做了大量的研究工作。比如段路明及其奥地利、美国的合作者就曾于2001年提出了基于原子系综的另一类量子中继器方案。由于这一方案具有易于实验实现的优点,受到了学术界的广泛重视。然而,随后的研究表明,由于这一类量子中继器方案存在着诸如纠缠态对信道长度抖动过于敏感、误码率随信道长度增长过快等严重问题,无法被用于实际的长程量子通信中。
  为了解决上述困难,潘建伟、陈增兵和赵博等在理论上提出了具有存储功能、并且对信道长度抖动不敏感、误码率低的高效率量子中继器方案。同时,潘建伟研究小组与德国、奥地利的科学家经过多年的合作研究,在逐步实现了光子—原子纠缠、光子比特到原子比特的量子隐形传态等重要阶段性成果的基础上,最终实验实现了完整的量子中继器基本单元。由于量子中继器实验实现在量子信息研究中的重要意义。

学习中的问题和解决过程

--问题一 量子指的是什么
--解决方案:首先对于量子可以有个简单的定义,指的是不可分割的粒子。可以理解是最小单位,是能量的携带者。根据物质的不同,量子也有不同的形态,比如大家已经比较熟悉的“光子”,指的就是“光的量子”,是一定频率的光的基本能量单位。量子有两个重要的特性,一是不可分割性,因为它已经是“最小单元”,另一个就是“可叠加性”。描写微观物理世界的物理理论就是量子力学。
--问题二 量子与中微子
--解决方案:在之前的时候听说过中微子,如果中微子存在的话,那中微子应该是很多现象产生的原因,也是一种非常小的粒子,由于听了量子通信,让我不禁想到了中微子,便查询了一下,不仅仅是有量子通信,还看到了中微子通信的概念。只不过技术并没有量子通信那么成熟,因为中微子的难捕捉性,所以导致现在中微子通信只是一个假想的方向。另外在讲课的过程中,老师有说过量子通信过程中体现的波粒二象性的一种现象,虽然最后并没有确定说明,但有可能这个中间有我们并没有察觉的粒子存在,导致了这一中现象。
--问题三 量子通信未来还有哪些发展方向,或者是攻克的难题
--解决方案:我在查阅的过程中,看到了一个有趣的标题。显示量子隐身的应用,但是具体成果在保密阶段,那家公司私下与各国军方接触,如果量子隐身技术为真,那么在军事上就有重要的应用,之前某高校传出了研究出的量子隐身技术,后来证明是假的,如果真能研究出来,会具有非常大的应用。

其他(感悟、思考等)

量子技术现在是比较热门的技术,尤其在密码学方面,量子密码学也是具有非常重要的地位,是热门的方向。如果在本土规模化的推广,也会带来很大的便利,但是在推广之前,应该尽可能的规避一些他的弊端,不要等到出现的时候在想着解决。要有居安思危的意识,避免之前的老路,要达到可持续的发展。

以上是关于密码技术的主要内容,如果未能解决你的问题,请参考以下文章

密码技术的公开密码

《图解密码技术》-1.环游密码世界

常见密码技术简介

图解密码技术-------第6章 混合密码系统

图解密码技术-------第6章 混合密码系统

现代密码学-传统密码技术(置换代换密码)