iT邦幫忙

2022 iThome 鐵人賽

DAY 10
1
Security

學習密碼學神祕名詞系列 第 10

介紹 SHA-2

  • 分享至 

  • xImage
  •  

SHA-2 算是 SHA-1 的加強版,是美國國家標準技術研究所 NIST 在 2001 提出來的密碼雜湊函数 CHF。總之就是內部運作機制變得很複雜, Digest 變得更長,更難被破解。SHA-2 也是採用 Merkle–Damgård 架構,未來會提到在做數位簽名時需採用 HMAC 搭配 SHA-2 才較為安全。

因為前幾天的文章都討論的差不多了,好像已經沒有什麼特別的東西可以提。不過在當下(2022年), SHA-2 才是最常被使用、應用範圍最廣泛的 CHF 喔!

SHA-2 有2家族:

  1. SHA-256,會產生 256-bit 的 Digest
  2. SHA-512,會產生 512-bit 的 Digest

SHA-256

SHA-256 的 Digest 是 256 bits => 32 bytes

範例

s = OpenSSL::Digest::SHA256.hexdigest 'I am Kevin'
=> "acec9a23f94387e3d8d905c7c0dd58dc2ad07468f582d4d59ae48826d5da2b35"
s.length
=> 64
s = OpenSSL::Digest::SHA256.base64digest 'I am Kevin'
=> "rOyaI/lDh+PY2QXHwN1Y3CrQdGj1gtTVmuSIJtXaKzU="

Digest::SHA256.new.digest_length * 8
=> 256

SHA-512

SHA-512 的 Digest 是 512 bits => 64 bytes

範例

require 'openssl'
s = OpenSSL::Digest::SHA512.hexdigest 'She is Gina'
=> "ff0875e5fc7be2fd640b1010ae7e3eb3786956c3a750c6024a01ed616aaaf115f5cdc0b015bdc0f0db4e58b489bf7072c903d6a10a770bb7bb39db06b08df1c9"
s.length
=> 128
s = OpenSSL::Digest::SHA512.base64digest 'She is Gina'
=> "/wh15fx74v1kCxAQrn4+s3hpVsOnUMYCSgHtYWqq8RX1zcCwFb3A8NtOWLSJv3ByyQPWoQp3C7e7OdsGsI3xyQ=="
s.length
=> 88

Digest::SHA512.new.digest_length * 8
=> 512

上一篇
介紹 SHA-1
下一篇
彩虹表攻擊 Rainbow Table Attack
系列文
學習密碼學神祕名詞12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言