哈希先看完整性,不要把它叫加密
哈希摘要的核心作用是把任意长度的数据计算成固定长度摘要,用来判断内容有没有被改。文件只要改动一点点,摘要通常就会明显变化,所以哈希很适合做完整性校验。
但哈希通常不是加密。加密强调可解密恢复原文,哈希强调单向摘要和比对。题干如果说“比较摘要值”“发现文件是否被篡改”“完整性校验”,优先想到哈希;如果说“隐藏正文内容”,才更偏加密。
| 技术 | 主要解决什么 | 题干信号 |
|---|---|---|
| 哈希摘要 | 完整性校验 | 摘要值、篡改、校验 |
| 数字签名 | 身份认证、完整性、不可否认 | 谁签的、不能抵赖、私钥签名 |
| 数字证书 | 证明公钥属于某个主体 | CA、PKI、公钥归属、证书链 |
| 加密 | 保护机密性 | 密文、解密、保密传输 |
数字签名不是为了把正文藏起来
数字签名通常是发送方用自己的私钥对摘要等信息进行签名,接收方用发送方公钥验证。它的重点不是让正文看不见,而是证明消息确实来自某个主体,并且内容没有被改,同时让发送方事后难以否认。
所以题干如果出现“不可否认性”“证明是谁发送的”“验证消息来源”,优先想到数字签名。很多同学看到私钥、公钥就直接想非对称加密,但签名场景里,目标是证明和校验,不是单纯保密。
一个常见流程
先对文件计算哈希摘要,得到内容指纹。
发送方用私钥对摘要进行签名,形成数字签名。
接收方用发送方公钥验证签名,同时重新计算摘要比对内容是否被改。
数字证书解决的是“这个公钥到底是谁的”
数字签名要用公钥验证,但问题来了:你拿到的公钥真的是对方的吗?数字证书就是用来把主体身份和公钥绑定起来的。证书通常由可信 CA 签发,浏览器访问 HTTPS 网站时,也会通过证书链验证服务器身份。
证书不是简单等于签名,也不是简单等于加密。证书里会包含主体信息、公钥、有效期、签发者等,并由 CA 进行签名。它的核心意义是建立信任,让你知道这个公钥属于哪个主体。
| 题干描述 | 优先想到 | 不要误判为 |
|---|---|---|
| 判断文件传输后有没有被改 | 哈希摘要 | 数字证书 |
| 证明消息发送者且事后不能否认 | 数字签名 | 对称加密 |
| 证明网站公钥属于该网站 | 数字证书 | 哈希函数 |
| 由可信机构签发并形成证书链 | CA/PKI | 普通压缩算法 |
按安全目标记,比背名词更稳
信息安全工程师题目很喜欢把保密性、完整性、身份认证、不可否认性放在一起考。你可以按目标建立索引:保密性看加密,完整性看哈希,身份和不可否认性看数字签名,公钥归属看数字证书。
实际系统里它们会组合出现,例如 HTTPS 既有证书验证身份,也会协商密钥保护传输,还会用摘要和认证机制保证数据没有被悄悄改掉。考试做题时先看题干问的目标,不要因为技术经常同框出现就混选。
相关题目解析
下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。
- 哈希摘要主要用于验证数据的什么特性?哈希摘要 / 哈希摘要完整性
- 数字签名为什么能支持不可否认性?数字签名 / 数字签名不可否认性
- 数字证书主要用来证明什么?数字证书 / 信息安全工程师数字证书
- HTTPS 证书链为什么要由 CA 来证明身份?数字证书 / CA