发布时间:2025-02-24 15:56:46 点击量:
HASH GAME - Online Skill Game GET 300
数据校验(Data Check)最早被用在数据传输领域中。由于种种原因,数字信号在传输 过程中不可避免地会产生差错。 例如在传输过程中受到外界的干扰, 或在通信系统内部由于 各个组成部分的质量不够理想而使传送的信号发生畸变等。 当受到的干扰或信号畸变达到一 定程度时,就会产生差错。而数据校验就是要发现这些差错,从而确保传输数据的完整性。 目前最常见的方法是利用一个算法对传输数据进行计算,从而得到一个校验码(Check Code) ,将校验码与传输数据一同发送。在接收端使用相同的算法对传输数据进行计算,然 后通过比较校验码就可以知道数据是否出现差错。 如果出现差错, 接收端可以要求发送端重 新发送。有些算法产生的校验码仅能够检测出是否出现差错,这样的校验码被称为检错码 (Error-detecting Code) 。而另一些算法产生的校验码不仅能够检测出错误, 还可以纠正部分 错误,这样的校验码被称为纠错码(Error-correcting Code) 。另外,在一些算法中将产生的 校验码称为消息摘要(Message Digest) ,这类算法通常可以对任意长度的数据生成一个长度 相同的校验码,以提供差错检测。 随着计算机技术的发展,数据校验开始被应用到安全领域中。首先,可以利用校验码替 换一些明文数据。 例如在数据库中保存用户密码时, 只保存用户密码对应的校验码。 核对时, 对用户输入的密码使用相同算法生成校验码, 再进行对比。 这样就不用保存用户密码的明文, 可以有效防止用户密码明文的泄露。其次,数据校验也可以保护敏感数据不会被人为篡改。 对于一份敏感文档,可以对其生成相应的校验码,并交由第三方保存。查看文档时可以交由 第三方验证,确保文档的完整性。再次,数据校验也被大量的使用在数字签名中。发布数据 时,对一份数据信息产生校验码,然后使用私钥对校验码进行加密。加密后的校验码就是数 字签名。将数据信息和数字签名一同发送给接收方。接收方使用公钥对数字签名进行解密, 并使用相同的数据校验算法对接收到的数据信息生成校验码。 比较两份校验码就可以知道签 名是否正确。数字签名具有两种功能:第一,它可以保证数据信息是由发送方签名发出的; 第二, 它可以保证数据信息的完整性, 因为不同的数据信息所产生的数字签名都是不一样的。 除此之外,数据校验在数字证书、数字版权管理、身份认证、数据库安全、文档交换等领域 都有非常广泛的应用。 正是由于数据校验被应用到安全领域中, 针对数据校验算法的破解也开始出现。 有一种 破解方法被称为反译攻击法(Pre-image Attack) 。反译攻击法就是根据已有的校验码反推出 原始数据的一种破解算法。例如前面提到的,使用校验码代替用户密码的保存。如果反译攻