Security Introduction
信息安全的CIA两个基本问题:
Confidentiality(保密性)
Integrity(完整性)
Security - Encryption and Confidentiality
保密性
明文:无论是文本信息或者是其他类型的信息任何我们想要传输的信息。
密文:我们所想传递的信息有相对应的加密版本 。
加/解密:加密是将明文变成密文的操作,将密文还原为明文的操作则是解密,通过特定的算法来实现加密与解密。
密钥:意味着发送方与接收方都拥有同样的信息,就是加密与解密使用同一把钥匙。缺点:需要在绝对安全的环境进行密钥传递。
公钥:公钥则是不对称的,意味着加密与解密用的钥匙不同。一段明文——比方说你想发送“candy”这个单词——通过字母的替换来加密 ——把每个字母替换成下一个字母——所以C变成D A变成B N变成O 以此类推 我们得到了 D B O E Z ——这就是加密后的密文。
凯撒密码:一种对称密码,其原理是把英文字母按照字母表顺序以移动一定的位数来加密和解密,例如按推后三位对应,用D来代表A、用E来代表B,依次类推。
Security - Integrity and Signatures
加密哈希技术:一个计算机软件,一个代码,它需要大量的文本,并将其减少到一些小的数字集。将一大块数据转换为一组固定长度的数字。数据库存储的是密码经哈希函数加密之后的一段固定长度的字符串。我们把这段字符串叫做digest,或者hash value。登录时,再把你输入的密码用hash过一遍,把两个hash value进行比较,如果符合,那就是登录成功。
数字签名:是只有信息的发送者才能产生的别人无法伪造的一段数字串,使用共享密钥进行简单的消息签名,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明,使得传输数据在确认前消息未在传输的过程中被修改,保证数据的完整性。
小结 :本周对信息安全两个基本问题展开——保密性和完整性,然后了解保密性中的一些关键名词的概念,什么是密钥/公钥,还有凯撒密码,再进一步学习了hash有关的技术,对于信息的完整性,还讲述了什么是数字签名,让数据保持其原有最应该保持的状态。