SHA
SHA (Secure Hash Algorithm, ėė í í´ė ėęŗ ëĻŦėĻ) í¨ėë¤ė ėí¸íė í´ė í¨ėë¤ė ëĒ¨ėė ëë¤.
í´ė í¨ėė ë˛ė ė 0~3ë˛ė ęšė§ ėĄ´ėŦí늰, ėėą ėė ė SHA2ę° ę°ėĨ ë˛ėŠė ė´ëŠ°, íėŦ SHA3ę° ęļėĨëęŗ ėėĩëë¤.
íšė§
A. í´ė í¨ėë ë ę°ė´ ë¤ëĨ´ëŠ´ ë°ė´í°ë ë¤ëĨ´ë¤ ( ę°ė ę˛Ŋė° í´ė ėļŠë ) B. í´ėąë ę°ė ëŗĩí¸í í ė ėë¤. C. 결ęŗŧëŦŧė ęŗ ė ë 길ė´ė ėĢėëĨŧ ę°ė§ë¤.
SHA-0/1
SHA-0/1
160
SHA-2
SHA-224
224
SHA-2
SHA-256
256
SHA-2
SHA-384
384
SHA-2
SHA-512
512
SHA-2
SHA-512/224
224
SHA-2
SHA-512/256
256
SHA-3
SHA-224
224
SHA-3
SHA-256
256
SHA-3
SHA-384
384
SHA-3
SHA-512
512
SHA-3
SHAKE 128/256
ėė
SHA-0/SHA-1
sha-0ė ėėļ í¨ėė ëší¸ íė ė°ė°ė íë ėļę°í ėęŗ ëĻŦėĻ ė ëë¤.
SHA-1ė SHA í¨ėë¤ ė¤ ę°ėĨ ë§ė´ ė°ė´ëŠ°, TLS, SSL, PGP, SSH, IPSec ëą ë§ė ëŗ´ė íëĄí ėŊęŗŧ íëĄęˇ¸ë¨ėė ėŦėŠëęŗ ėë¤. SHA-1ė ė´ė ė ëëĻŦ ėŦėŠëë MD5ëĨŧ ëė í´ė ė°ė´ę¸°ë íë¤.
SHA-0ęŗŧ SHA-1ë í´ė ėļŠëė ëí ė´ėę° ė겨 ė¤ėí ë°ė´í°ë ė´ ė´ėė ėęŗ ëĻŦėĻė ėŦėŠí ę˛ė ęļėĨíęŗ ėėĩëë¤.
ëė ėëĻŦ
A í¨ëŠ
INPUT MESSAGEëĨŧ 512bitė ë¸ëĄėŧëĄ ëëëë¤. ė´ë 512 ëší¸ë 448bit ( message + padding ) + 64bit ( message length )ëĄ ëëëë¤.
B 32Bit ëļëĻŦ
A
0x67452301
B
0xefcdab89
C
0x98badcfe
D
0x10325476
E
0xc3d2e1f0
W0 - W79ë ė ęŗ ė ë Word Bufferė íšė ė°ė°ė ęą°ėŗ 160BitëĨŧ ë§ë¤ė´ë ëë¤.
C Hash ėėą
80ę°ė WTë ë¤ėęŗŧ ę°ė ęŗĩėė ęą°ėŗ ėėąëŠëë¤.
20<= t <= 39
f (t, B, C, D) = B ^ C ^ D
40<= t <= 59
f (t, B, C, D) = (B & C ) | (B & D) | (C & D)
60 <= t <= 79
f (t, B, C, D) = B ^ C ^ D
Wt = (Wt-16 XOR Wt-14 XOR Wt-8 XOR Wt-3) <<< 1bit ë íí¸ ëĄí
ė´ė
D Block ė°ė°
80 ëŧė´ë ë°ëŗĩ (80 Rounds Iteration): 80ę°ė ëŧė´ëëĨŧ ë°ëŗĩíŠëë¤. ę° ëŧė´ëėė ë¤ėęŗŧ ę°ė ęŗė°ė ėííŠëë¤:
f(t;B,C,D) = (B AND C) OR ((NOT B) AND D)
: í¨ė f(t)ë íėŦ ëŧė´ë tėė ėŦėŠëë í¨ėëĄ, B, C, D ę°ė ė´ėŠíėŦ ęŗė°ëŠëë¤.
ęŗė°ë f(t)ë ęŗ ė ėė Ktė ėí´ A,B,C,D,Eę° ėŦë°°ėšëŠëë¤. ëŧė´ëę° ėĸ ëŖëë¤ ę° 32bitė¸ ABCDEëĨŧ íŠėŗ í´ėę°ė ëėļíŠëë¤.
Last updated
Was this helpful?