摘要
- RFC 1319 将 MD2 定义为:把任意长度消息映射为 128 位指纹或消息摘要的算法。
- RFC 指出 MD2 面向数字签名应用,给出当时关于寻找碰撞或针对预设摘要构造消息的工作量估计,同时也说明该算法较新、仍需进一步分析。
- 摘要一致只说明命名算法对命名字节得到了相同结果。它本身不是签名、身份、私钥控制、来源、传输、接收、可信时间、授权或应用结果。
短值并没有压缩完整经过
消息摘要的便利在于,它允许长消息用固定长度结果进行比较。RFC 1319 明确说,MD2 的输入长度可以任意,输出为 128 位。这很适合保存或传递关于某个字节序列的比较值,却不会把字节的作者、传递路线、接收者和使用决定一并装进这个结果。
即使要说“这些字节算出了这个值”,也需要保留边界:究竟哪些字节被送入算法、算法名称、计算组件、所得值以及计算的时间或上下文。屏幕上看起来相同的文本,可能因字符编码、换行、传输解码、容器提取或规范化而成为不同输入。若原始输入已经丢失,留下的摘要只是关于一段缺席字节的说法;它可以和后来找到的候选字节比较,却不能复原原件或解释原件怎样到达某处。
“指纹”一词尤其容易借来人的身份含义。RFC 1319 中它是消息摘要的描述,不是人的识别器。RFC 没有定义签名者、证书、密钥登记、发送者、接收者或网络会话。一个形象的词不会替算法补上这些主体。
MD2 的对象是字节变换
RFC 1319 描述了填充、校验和以及 48 字节内部缓冲区,最终取出 16 个输出字节。这些步骤说明摘要属于一个确切输入和确切过程。系统声称“同一个文件”时,仍要问计算覆盖的是存档外壳、已提取负载、已解码内容还是经规范化的文本。文件名、显示外观或逻辑内容相同,不保证哈希输入相同。
RFC 给出的示例也应被当作测试向量。另一实现对指定输入得到指定十六进制结果,证明它在该计算上可复现。它没有由此证明谁写了示例、示例是否通过网络发送、谁看到了它、谁批准了它。函数的可重复性不是收件回执。
预期的困难度不是归属关系
RFC 1319 希望寻找两个摘要相同的消息很困难,也希望为一个预先指定摘要构造消息很困难。它在 1992 年的语境中将前者估计为约 2^64 次操作,后者约为 2^128 次;同一文本提醒读者 MD2 仍较新,还需要进一步分析。
这些话回答的是计算问题:在该算法下某些替换预期有多难。它们没有回答谁给出了字节、谁发布了摘要、摘要经由哪个通道抵达、何时被谁收到、接收者是否接受。摘要可以由来源不明的副本正确计算;公布摘要的页面可以没有认证;候选消息也可能在摘要被记录之后才出现。这些经过没有编码在 128 位中。
碰撞困难与身份归属处理的是不同问题。前者尝试让某些替换变得困难;身份需要独立的关联机制,例如密钥、账号、登记簿、证书或信任规则。MD2 的定义不含私钥操作,因此不能证明任何人持有私钥,也不能产生同意、不可否认或执行权限。RFC 中的历史估计不能被改读成对现行系统、特定实现或任何政策的永久判决。
签名应用增加了另一组事实
RFC 说 MD2 预期用于数字签名应用,并不是说 MD2 在签名。在这样的应用中,摘要可以成为独立签名方案的输入;该方案另有签名算法、私钥、签名值、公钥、验证过程,以及把密钥关联到声称身份的政策。
顺序必须可追溯。先选择具体字节并计算摘要;之后签名组件可按另一过程签名;之后验证者可用公钥验证;再之后,目录、证书或信任规则才可能说明该公钥对应什么身份;最后,应用才决定这种验证是否足以允许某个动作。传输和接收仍可以是完全独立的事件。
因此,“哈希签了文件”省略了签名动作和签名者;“摘要证明是谁发的”省略了密钥—身份关联和传输记录;“指纹证明对方已收到”则省略了接收者自己的观察。一段计算结果被迫借用其他层的结论,就会同时失去各层可核查的边界。
匹配仍然只是有限的比较
假定一方保存消息副本,档案保存另一副本。两者经过同一 MD2 过程得到同一值,得到的有用事实是:这个过程对这两份输入的输出相同。这不证明档案从该方获得副本;档案可能来自别处,前者的副本也可能后来才形成,区分这些路径的元数据可能根本没有留下。
下载旁的摘要也只能告诉接收者候选输入应产生什么值。它不会自动认证刊登该摘要的页面。可信通道、签名或独立来源可以处理“谁发布了这条值”的问题,但摘要本身仍是比较对象。
可审查的记录应分层保存:原始字节或明确表示形式、算法标识、摘要、计算者和时间;如有签名,则保存签名、参数、验证结果、密钥或密钥引用;此外保留密钥身份依据、传输记录、接收确认和授权决定。这些材料能相互印证,却不能互相替代。
RFC 的沉默不是反面事实
RFC 1319 没有指定某个在线实现、密钥持有人、证书政策、时间服务、传输路径或接收者。这不证明所有系统都没有这些资料,只证明算法规范不是这些资料的来源。
摘要不匹配也需要同样克制。它说明指定的候选输入在指定计算下没有得到预期值,不自动说明恶意、网络失败或存储损坏。输入可能经过了编码、规范化、截断、重新封装或错误标注。摘要报告比较失败;表示形式与路径记录才可能解释原因。
RFC 1319 的持久价值不是把短摘要神化,而是保留它精确的力量:让确定字节的比较可行。把它同时当成签名、身份证、交付证明和政策决定,只会毁掉这种精确性。
来源与证据边界
本文依据 RFC 1319,《The MD2 Message-Digest Algorithm》(1992 年 4 月)。它支持任意长度输入、128 位 MD2 输出、碰撞与预设目标的历史困难度预期、数字签名应用的预期用途及继续分析的警示。它不支持当前密码安全性、具体实现、签名、签名者身份、密钥控制、证书状态、可信时间、来源、传输、存储、接收、授权、不可否认或任何应用结果。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
