Figure 220. Bit, byte and half-word swapping
B y t e 3B y t e 2B y t e 1B y t e 0
bi
t s 7 . . . 0b i t s 7 .. . 0
b
i t s 7 .. . 0bi t s 7 . . . 0
H
A
S
H_D
I
N
bit string organization in
bi t 0 bi t 1 bi t 2 9 b i t 3 0 b i t 3 1
Bit
s
w
a
p
pi
n
g
ope
r
a
t
i
o
n
b
i
t-
s
tr
i
n
g
g
r
o
ws
i
n
t
hi
s
di
rect
io
n
as
d
e
f
i
n
e
d
b
y
FIPS
PUB
1
80
-
2
s
t
d
.
bi t 0bi t 1bi t 2bi t 3 0b i t 3 1
H
A
S
H_D
I
N
B
y
t
e
s
w
a
p
ping
ope
r
a
t
i
o
n
b
i
t-
s
tr
i
n
g
g
r
o
ws
i
n
t
hi
s
di
rect
io
n
as
d
e
f
i
n
e
d
b
y
FIPS
PUB
1
80
-
2
s
t
d
.
B y t e 0B y t e 1B y t e 2B y t e 3
bi
t s 7 . . . 0b i t s 7 .. . 0
b i t s 7 .. . 0bi t s 7 . . . 0
HA
S
H_
D
I
N
H
a
l
f
-
w
o
r
d
s
w
a
pping
o
p
er
a
t
io
n
b
i
t-str
in
g
g
r
o
ws
i
n
t
h
is
d
i
rect
i
o
n
a
s
d
e
fi
n
e
d
b
y
F
I
PS
PUB
18
0
-
2
s
t
d
.
Half-wo r d 0
bi
t s 15 . . . 0
D
A
T
A
TYPE
=
bx
1
1
D
A
T
A
T
YPE
=
bx
10
D
A
T
A
T
YPE
=
bx
01
Half-wo r d 1
bi
t s 15 . . . 0
Half-wor d 0
bi
t s 15 .. . 0
Half-wor
d 1
bi
t s 15 .. . 0
“1”
p
ad
d
ing is perfo
r
m
ed
on this side of the
bit
s
t
ri
n
g.
ai16082
Hash processor: Big-Endian
Bits entred with little-Endian format
A-In case of binary data hash, all bits should be swapped as below
B-In case of byte data hash, all bytes should be swapped as below
C-In case of half-word hash, all half-word should be swapped as below
Bytes entred with little-Endian format
Bit string organization in
Hash processor: Big-Endian
half word entred with little-Endian format
Bit string organization in
Hash processor: Big-Endian