$ od -c -N 50000 [_CDCSL_93-16_]<1>Cedar>release>SHS>SHS.h
0000000    /   *      \n       *       C   o   p   y   r   i   g   h   t
0000020      323       1   9   9   2       b   y       X   e   r   o   x
0000040        C   o   r   p   o   r   a   t   i   o   n   .           A
0000060    l   l       r   i   g   h   t   s       r   e   s   e   r   v
0000100    e   d   .  \n       *       S   e   p   t   e   m   b   e   r
0000120        3   0   ,       1   9   9   2  \n       *       A       s
0000140    t   r   a   i   g   h   t   f   o   r   w   a   r   d       i
0000160    m   p   l   e   m   e   n   t   a   t   i   o   n       o   f
0000200        N   I   S   T   '   s       p   r   o   p   o   s   e   d
0000220        S   e   c   u   r   e      \n       *       H   a   s   h
0000240        S   t   a   n   d   a   r   d       (   S   H   S   )   ,
0000260        d   a   t   e   d       2   2       J   a   n   u   a   r
0000300    y       1   9   9   2   .  \n       *  \n       *       T   o
0000320        u   s   e   :       a   l   l   o   c   a   t   e       a
0000340    n       S   H   S   _   C   T   X       a   n   d       p   a
0000360    s   s       i   t       t   o       S   H   S   I   n   i   t
0000400    ;  \n       *       r   e   p   e   a   t   e   d   l   y    
0000420    c   a   l   l       S   H   S   U   p   d   a   t   e       o
0000440    n       s   u   c   c   e   s   s   i   v   e       c   h   u
0000460    n   k   s       o   f       t   h   e       m   e   s   s   a
0000500    g   e  \n       *       t   h   e   n       c   a   l   l    
0000520    S   H   S   F   i   n   a   l   (   h   a   s   h   ,       c
0000540    t   x   )   .  \n       *       T   h   e       h   a   s   h
0000560        i   s       i   n       c   t   x   -   >   s   t   a   t
0000600    e   ,       a   s       4       b   y   t   e       i   n   t
0000620    e   g   e   r   s  \n       *       a   n   d   ,       p   r
0000640    o   p   e   r   l   y       r   e   o   r   g   a   n   i   z
0000660    e   d       f   o   r       e   n   d   i   a   n   -   n   e
0000700    s   s   ,       i   n       *   h   a   s   h   .  \n       *
0000720   \n       *       T   h   e   s   e       d   e   f   i   n   i
0000740    t   i   o   n   s       f   o   l   l   o   w       t   h   e
0000760        m   o   d   e   l       o   f       t   h   e       M   D
0001000    5       r   e   f   e   r   e   n   c   e  \n       *       i
0001020    m   p   l   e   m   e   n   t   a   t   i   o   n       s   o
0001040        i   t       s   h   o   u   l   d       b   e       e   a
0001060    s   y       t   o       t   o       c   o   n   v   e   r   t
0001100        c   l   i   e   n   t   s  \n       *       b   e   t   w
0001120    e   e   n       t   h   e       t   w   o   .           H   o
0001140    w   e   v   e   r   ,       t   h   e       t   w   o       h
0001160    a   s   h       f   u   n   c   t   i   o   n   s       p   r
0001200    o   d   u   c   e  \n       *       d   i   f   f   e   r   e
0001220    n   t   -   s   i   z   e   d       h   a   s   h   e   s    
0001240    s   o       c   l   i   e   n   t       c   o   n   v   e   r
0001260    s   i   o   n       i   s       s   l   i   g   h   t   l   y
0001300        h   a   r   d   e   r       t   h   a   n  \n       *    
0001320    t   r   i   v   i   a   l   .  \n       *   /  \n  \n   t   y
0001340    p   e   d   e   f       u   n   s   i   g   n   e   d       l
0001360    o   n   g       U   I   N   T   4   ;  \n  \n   t   y   p   e
0001400    d   e   f       s   t   r   u   c   t       {  \n            
0001420        U   I   N   T   4       s   t   a   t   e   [   5   ]   ;
0001440                                                                 
0001460                                                        /   *    
0001500    s   t   a   t   e       (   A   B   C   D   E   )       *   /
0001520   \n                   U   I   N   T   4       c   o   u   n   t
0001540    [   2   ]   ;                                   /   *       n
0001560    u   m   b   e   r       o   f       b   i   t   s       *   /
0001600   \n                   u   n   s   i   g   n   e   d       c   h
0001620    a   r       b   u   f   f   e   r   [   6   4   ]   ;        
0001640                                                                 
0001660        /   *       i   n   p   u   t       b   u   f   f   e   r
0001700        *   /  \n   }       S   H   S   _   C   T   X   ;  \n  \n
0001720    #   d   e   f   i   n   e       P   R   O   T   O   _   L   I
0001740    S   T   (   x   )       (   )   ;  \n  \n   v   o   i   d    
0001760    S   H   S   I   n   i   t       P   R   O   T   O   _   L   I
0002000    S   T       (   (   S   H   S   _   C   T   X       *   )   )
0002020    ;  \n  \n   v   o   i   d       S   H   S   U   p   d   a   t
0002040    e       P   R   O   T   O   _   L   I   S   T  \n            
0002060        (   (   S   H   S   _   C   T   X       *   ,       u   n
0002100    s   i   g   n   e   d       c   h   a   r       *   ,       u
0002120    n   s   i   g   n   e   d       i   n   t   )   )   ;  \n    
0002140                /   *       S   H   S   U   p   d   a   t   e   (
0002160        c   t   x   ,       b   u   f   f   e   r   ,       b   y
0002200    t   e   s       )       *   /  \n  \t  \n   v   o   i   d    
0002220    S   H   S   F   i   n   a   l       P   R   O   T   O   _   L
0002240    I   S   T       (   (   u   n   s   i   g   n   e   d       c
0002260    h   a   r       [   2   0   ]   ,       S   H   S   _   C   T
0002300    X       *   )   )   ;  \n                   /   *       S   H
0002320    S   F   i   n   a   l   (       h   a   s   h   ,       c   t
0002340    x       )       *   /  \n                                    
0002347