图解密码技术(第一章)
序
-
密码(cryptography)是一个非常庞大而复杂的信息处理系统,涉及信息的机密性、完整性、认证等许多方面。是指安全传送消息的方法,通常包括密码算法和密钥等部分。
- 密码技术:
- 密码:可以让窃听者无法解读窃取的消息,保证了消息的机密性
- 单项散列函数:可以检测出消息是否被篡改过
- 数字签名:可以确认消息是否来自合法的发送者
- 密码界尝试:不要使用保密的密码算法
第一章:环游密码世界
- 相关英文名词
- 消息messsge,发送者 sender,接受者receiver,窃听者eavesdropper,破译者cryptanalyst
- 加密encrypt,解密decrypt,明文plaintext,密文ciphertext
- 密码cryptography,机密性confidentiality,密码破译cryptanalysis
- 算法algorithm,密钥key,对称密钥 symmetric cryptography,公钥密码 public-key cryptography,非对称密钥 asymmetric cryptography,单向散列函数one-way hash function,完整性integrity,消息认证码message authentication code,数字签名digital signature,伪装spoofing,否认repudiation,验证verify
- 隐写术steganography
- 隐蔽式安全security by obscurity,
1.2密码
-
小测试1 日记的密码
答:In this scene,because Alice is who encrypts and decrypts the message,messsge’s sender is Alice, message’s receiver is Alice ,too.
1.3对称密码与公钥密码
-
无论在加密时还是在解密时,都需要知道密钥
-
对称密钥(symmetric cryptography) :加密和解密时使用同一密钥的方式
- 对称密钥也叫公共密钥密码,传统密码,私钥密码,共享密钥密码
公钥密码 (public-key cryptography)(非对称密钥 asymmetric cryptography):加密和解密时使用不同密钥的方式
混合密码系统(hybrid cryptosystem)将对称密码和公钥密码结合起来的密码方式
1.4其他密码技术
- 为了防止软件被篡改,有安全意识的软件发布者会在发布软件的同时发布该软件的散列值,是用单向散列函数(one-way hash function)计算出来的数值
- 用户可以计算出下载文件的散列值,与公布的散列值相同,则说明文件是相同的
- 散列值(hash)又称为哈希值,密码校验和,指纹,消息摘要
- 单项散列函数所保证的是完整性(integrity),即可以检测出数据是否被篡改过
- 用户可以计算出下载文件的散列值,与公布的散列值相同,则说明文件是相同的
- 消息认证码(message authentication code)是一种能够保证完整性和提供认证的密码技术
- 通过使用消息认证码,不但能确认消息是否被篡改,而且能确认消息是否来自所期待的通信对象。
- 数字签名(digital signature)能够防止伪装、篡改和否认等威胁的技术,是一种能够保证完整性和提供认证并防止否认的密码技术
- 接收者可以对数字签名进行验证,检测出伪装和篡改,并且可以防止事后否认
- 伪随机数生成器(Pseudo Random Number Generator,PRNG)是一种能够模拟产生随机数列的算法
- 随机数承担着密钥生成的重要职责
1.5密码学的工具箱
工具箱:六种技术(对称密码,公钥密码,单向散列函数,消息认证码,数字签名,伪随机数生成器)
1.6隐写术与数字水印
- 隐写术(steganography)的目的:是为了隐藏消息本身,如果知道了嵌入消息的方法,也就搞清楚了消息的内容。隐写术并不能代替密码
- 隐写术的应用:数字水印
- 隐写术与密码相结合:将要嵌入的文章加密,用隐写术将密文嵌入到图片中
1.7密码与信息安全常识
- 不要使用保密的密码算法,即隐蔽式安全(security by obscurity)
- 使用保密的密码算法无法获得高安全性,应该是用那些已经公开的,被公认的安全度较高的密码算法
- 密码算法的秘密早晚会公诸于世,依靠对算法本身保密来确保机密性的密码系统土崩瓦解
- 开发高强度的密码算法非常困难
- 使用保密的密码算法无法获得高安全性,应该是用那些已经公开的,被公认的安全度较高的密码算法
- 使用低强度的密码比不进行任何加密更危险
- 容易通过密码获得错误的安全感,掉以轻心
- 任何密码总有一天会破解
- 一种有可能造就完美密码的技术:量子密码
- 密码只是信息安全的一部分
1.8
-
小测验2 基础知识确认
-
将明文转化为密文的过程称为加密。(right)
-
明文是供人类读取的数据,而密文则是供计算机读取的数据。(wrong)
- 答:A file is a plaintext or a ciphertext is not decided by who read it,so we can’t regard it as a plaintext or a ciphertext by who read it.Computer also can read plaintext.
-
只要检查邮件发送者(From:)一栏的内容,就能够正确判断邮件是谁发出的。(wrong)
- 答:This is wrong.Because the sender of this email is easy to be spoofed,we can’t judge the sender of the email exactly.
-
在对称密码中,加密用的密钥和解密用的密钥是相同的。(right)
-
公开的密码算法容易遭到坏人的攻击,因此使用自己公司开发的密码算法更加安全。(wrong)
- 答:Many public cryptography algorithms are regarded secure.Many cryptanalysts have tried to decode them many years,and they were failing.The cryptography algorithm which creates by some companies has been proofed insecure.What’s more,the safety of the cryptography algorithm is not depended on keeping the algorithm secret.
-