我读过SHA-1是一个加密的散列函数。在一次考试中,SHA-1被作为一种可能的单向加密算法.SHA-1需要一个键作为输入吗?是否需要将密钥限定为“加密”?
发布于 2013-01-22 07:33:07
发布于 2013-01-22 07:45:09
根据定义,散列函数不是加密。
加密是对消息(或信息)进行编码的过程,其方式是窃听者无法读取,但授权方可以读取。
和
哈希函数是一种算法,它接受任意数据块并返回一个固定大小的位字符串,即加密哈希值,因此对数据的任何更改都将(非常高概率)更改哈希值。
加密提供机密性,哈希函数提供完整性。
哈希函数与加密一起使用,以确保其完整性。
发布于 2013-01-22 15:29:43
“加密”一词的用法不正确,但广泛适用于不是加密的事物,例如,哈希。
严格的加密定义假定某些数据被转换,其方式是:
加密过程使用与用于解密的秘密数据相链接的参数是加密所必需的;该参数我们称之为密钥。当用于加密的密钥与用于解密的秘密数据相同时,则为对称加密。当加密密钥与秘密数据以数学方式链接,但又不同时,加密密钥可以安全地公开,这就是非对称加密。
因此,不可能有“单向加密”,而SHA-1不是加密.沙-1是散列:没有键,固定大小的输出( SHA-1的160位),没有反向进程(特别是,输入可以大大大于160输出位)。
不幸的是,写你的试题的人显然使用了不正确的术语;最好的做法就是在考试期间遵循他们的术语。这是同样的混淆,这导致一些人谈论密码的“加密密码”,实际上是哈希。
https://security.stackexchange.com/questions/29482
复制相似问题