首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是SHA-1加密吗?

是SHA-1加密吗?
EN

Security用户
提问于 2013-01-22 06:11:02
回答 6查看 7.6K关注 0票数 4

我读过SHA-1是一个加密的散列函数。在一次考试中,SHA-1被作为一种可能的单向加密算法.SHA-1需要一个键作为输入吗?是否需要将密钥限定为“加密”?

EN

回答 6

Security用户

回答已采纳

发布于 2013-01-22 07:33:07

这可能很容易是谷歌维基百科,但如下所示:

沙-1是加密散列函数,但不是加密函数.你所做的SHA-1函数是不可逆转的。

沙-1可以使用密钥完成,但这将使它成为消息身份验证代码(MAC,参见HMAC)。

我同意你最后一句话。对于要加密的东西,您需要有一些密钥,或者对应于一个密钥的东西。假设您有一个(相当糟糕的)加密功能翻转输入的位,您的密钥是“翻转每一位”。另一个函数可以是使用圆形函数F的feistel网络,键K= 281474976710656作为该函数的输入。

票数 8
EN

Security用户

发布于 2013-01-22 07:45:09

根据定义,散列函数不是加密。

加密是对消息(或信息)进行编码的过程,其方式是窃听者无法读取,但授权方可以读取。

哈希函数是一种算法,它接受任意数据块并返回一个固定大小的位字符串,即加密哈希值,因此对数据的任何更改都将(非常高概率)更改哈希值。

加密提供机密性,哈希函数提供完整性。

哈希函数与加密一起使用,以确保其完整性。

票数 9
EN

Security用户

发布于 2013-01-22 15:29:43

“加密”一词的用法不正确,但广泛适用于不是加密的事物,例如,哈希。

严格的加密定义假定某些数据被转换,其方式是:

  • 转换后,数据不再具有可读性;
  • 存在一个称为解密的反向过程,它可以利用一些未知的额外数据的知识,从加密的输出中恢复原始数据。

加密过程使用与用于解密的秘密数据相链接的参数是加密所必需的;该参数我们称之为密钥。当用于加密的密钥与用于解密的秘密数据相同时,则为对称加密。当加密密钥与秘密数据以数学方式链接,但又不同时,加密密钥可以安全地公开,这就是非对称加密。

因此,不可能有“单向加密”,而SHA-1不是加密.沙-1是散列:没有键,固定大小的输出( SHA-1的160位),没有反向进程(特别是,输入可以大大大于160输出位)。

不幸的是,写你的试题的人显然使用了不正确的术语;最好的做法就是在考试期间遵循他们的术语。这是同样的混淆,这导致一些人谈论密码的“加密密码”,实际上是哈希。

票数 6
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/29482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档