導覽
近期變更
隨機頁面
新手上路
新頁面
優質條目評選
繁體
不转换
简体
繁體
3.145.12.233
登入
工具
閱讀
檢視原始碼
特殊頁面
頁面資訊
求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。
檢視 密鑰延伸 的原始碼
←
密鑰延伸
前往:
導覽
、
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" style="float:right; margin: -10px 0px 10px 20px; text-align:left" |<center>'''密鑰延伸'''<br><img src="https://miro.medium.com/max/700/1*nf_uRlhwt4Zr98psnrRwzQ.png" width="280"></center><small>[https://medium.com/@yellowgirl3614/%E5%AF%86%E7%A2%BC%E5%AD%B8-%E4%BA%8C-%E7%8F%BE%E4%BB%A3%E5%AF%86%E7%A2%BC%E5%AD%B8-4894326d357b 圖片來自medium]</small> |} 在[[密码学]]中,'''密钥延伸'''(Key stretching)技术用以使弱[[密钥]](通常是[[密码 (认证)|用户口令]]或[[passphrase|密码短语]])更安全;通过增加尝试每个可能密钥所需的时间和空间(如果可能)资源,有效阻止[[蛮力攻击]](暴力破解)。人们填写的口令或密码短语经常太短,或足够可预测,因而有密码破解的风险。密钥延伸使得这类攻击难以进行,原理是使得测试每个密码的基本步骤更加复杂。因为一个密钥生成函数必须是确定的,所以弱密码总是产生相同的延伸后的密钥(称为增强密钥),这种密钥延伸不改变密钥空间(key-space)的熵,仅使计算增强密钥的方法更复杂。对不[[盐 (密码学)|加盐]]密钥延伸的攻击是存在的,称作[[彩虹表]]<ref>[https://www.itread01.com/ihkcfe.html 彩虹表],itread01</ref> 。对密钥加盐是指在弱密钥后追加一个长的随机串,使得预先计算好的散列值不再可用。 密钥延伸技术总体上是这样进行的:输入初始密钥到生成增强密钥的算法。得到的增强密钥应具有足够长度(比如128位),以使其几乎不可能被暴力破解。整个使用的算法应当是安全的,已知不存在用更少处理器资源和内存(相对于使用上述算法本身)即可算出增强密钥的捷径。 密钥延伸技术留给攻击者两个选项:或者尝试每种可能的增强密钥组合(只要增强密钥足够长,这几乎不可能达成),或者尝试每个可能的初始密钥。对于后者,如果初始密钥是口令或者密码短语,那么攻击者首先会尝试字典中的每个词或者每个常用密码,然后对更长的口令尝试每种字符组合。密钥延伸不杜绝这种方法,但攻击者的每次尝试将不得不花费更多资源(时间和使用的内存空间),于是这种方法也很容易几近于不可行。 攻击者如果使用和用户同等级的硬件,每次猜测尝试将会花费和用户差不多一样长的时间(比如一秒钟)。即便攻击者有比用户更强大的计算资源,密钥延伸仍然会拖慢攻击者的速度,同时又不明显影响合法用户感知到的系统可用性,因为用户在输入密码后计算机只需计算一次增强密钥,而攻击者攻击时的每次猜测都必须计算一次。 有若干方式可以进行密钥延伸。一种是循环重复应用[[密码散列函数]]或[[分组密码|块加密]]方法,另一种是使用需要大量内存的密码散列函数。 [[盐 (密码学)|加盐]]经常与密钥延伸一同使用,防止攻击者进行特定的空间换时间/时间换空间的攻击(经常是空间换时间,类似于[[彩虹表]])。 == 參考文獻 == {{reflist}} [[Category: 310 數學總論]]
此頁面使用了以下模板:
Template:Main other
(
檢視原始碼
)
Template:Reflist
(
檢視原始碼
)
模块:Check for unknown parameters
(
檢視原始碼
)
返回「
密鑰延伸
」頁面