Re: question about sha1 driver

avital sela <[email protected]> Tue, 22 Sep 2009 16:17:20 +0300
Newsgroups gmane.linux.cryptography,gmane.spam.detected
Message-ID <[email protected]>
--0015175cac2e1351c704742a6b5c
Content-Type: text/plain; charset=ISO-8859-1

Hello,

I've written a SHA1 driver for our custom HW running Linux 2.6.28.4.
The driver passed all the SHA1 tests but kept failing at hmac(sha1-hw) test
3.
During my debugging I added printk-s in the testmgr to also print successful
tests.  When I did that all the tests passed. All future
encryption/decryptions (I set up a tunnel between the board and a server and
ping-ed packets back and forth) were processed successfully by the driver.
Attached below the output of the testmgr when setting up the tunnel (my
driver registers with name sha1-hw and is implemented by "hw_SHA"  kernel
module ) and of /proc/crypto.


Any ideas as to what could be the reason for the failure?

Thanks,
Avital


Modified testmgr output:
=================

alg: hash: Test 1 passed for sha1-hw
alg: hash: Test 2 passed for sha1-hw
alg: hash: Chunking test 1 Passed for sha1-hw
alg: hash: setkey passed on test 1 for hmac(md5-generic): ret=0
alg: hash: Test 1 passed for hmac(md5-generic)
alg: hash: setkey passed on test 2 for hmac(md5-generic): ret=0
alg: hash: Test 2 passed for hmac(md5-generic)
alg: hash: setkey passed on test 3 for hmac(md5-generic): ret=0
alg: hash: Test 3 passed for hmac(md5-generic)
alg: hash: setkey passed on test 4 for hmac(md5-generic): ret=0
alg: hash: Test 4 passed for hmac(md5-generic)
alg: hash: setkey passed on test 5 for hmac(md5-generic): ret=0
alg: hash: Test 5 passed for hmac(md5-generic)
alg: hash: setkey passed on test 6 for hmac(md5-generic): ret=0
alg: hash: Test 6 passed for hmac(md5-generic)
alg: hash: setkey passed on test 7 for hmac(md5-generic): ret=0
alg: hash: Test 7 passed for hmac(md5-generic)
alg: hash: setkey Passed on chunking test 1 for hmac(md5-generic): ret=0
alg: hash: Chunking test 1 Passed for hmac(md5-generic)
alg: hash: setkey passed on test 1 for hmac(sha1-hw): ret=0
alg: hash: Test 1 passed for hmac(sha1-hw)
alg: hash: setkey passed on test 2 for hmac(sha1-hw): ret=0
alg: hash: Test 2 passed for hmac(sha1-hw)
alg: hash: setkey passed on test 3 for hmac(sha1-hw): ret=0
alg: hash: Test 3 passed for hmac(sha1-hw)
alg: hash: setkey passed on test 4 for hmac(sha1-hw): ret=0
alg: hash: Test 4 passed for hmac(sha1-hw)
alg: hash: setkey passed on test 5 for hmac(sha1-hw): ret=0
alg: hash: Test 5 passed for hmac(sha1-hw)
alg: hash: setkey passed on test 6 for hmac(sha1-hw): ret=0
alg: hash: Test 6 passed for hmac(sha1-hw)
alg: hash: setkey passed on test 7 for hmac(sha1-hw): ret=0
alg: hash: Test 7 passed for hmac(sha1-hw)
alg: hash: setkey Passed on chunking test 1 for hmac(sha1-hw): ret=0
alg: hash: Chunking test 1 Passed for hmac(sha1-hw)
alg: hash: setkey passed on test 1 for xcbc(aes-generic): ret=0
alg: hash: Test 1 passed for xcbc(aes-generic)
alg: hash: setkey passed on test 2 for xcbc(aes-generic): ret=0
alg: hash: Test 2 passed for xcbc(aes-generic)
alg: hash: setkey passed on test 3 for xcbc(aes-generic): ret=0
alg: hash: Test 3 passed for xcbc(aes-generic)
alg: hash: setkey passed on test 4 for xcbc(aes-generic): ret=0
alg: hash: Test 4 passed for xcbc(aes-generic)
alg: hash: setkey passed on test 5 for xcbc(aes-generic): ret=0
alg: hash: Test 5 passed for xcbc(aes-generic)
alg: hash: setkey passed on test 6 for xcbc(aes-generic): ret=0
alg: hash: Test 6 passed for xcbc(aes-generic)
alg: hash: setkey Passed on chunking test 1 for xcbc(aes-generic): ret=0
alg: hash: Chunking test 1 Passed for xcbc(aes-generic)
alg: hash: setkey Passed on chunking test 2 for xcbc(aes-generic): ret=0
alg: hash: Chunking test 2 Passed for xcbc(aes-generic)
alg: skcipher: Test 1 succeeded on encryption for cbc-aes-hw
alg: skcipher: Test 2 succeeded on encryption for cbc-aes-hw
alg: skcipher: Test 3 succeeded on encryption for cbc-aes-hw
alg: skcipher: Test 4 succeeded on encryption for cbc-aes-hw
alg: skcipher: Test 1 succeeded on decryption for cbc-aes-hw
alg: skcipher: Test 2 succeeded on decryption for cbc-aes-hw
alg: skcipher: Test 3 succeeded on decryption for cbc-aes-hw
alg: skcipher: Test 4 succeeded on decryption for cbc-aes-hw



output of /proc/crypto
=================

name         : authenc(hmac(sha1),cbc(aes))
driver       : authenc(hmac(sha1-hw),cbc-aes-hw)
module       : kernel
priority     : 3300
refcnt       : 3
selftest     : passed
type         : aead
async        : yes
blocksize    : 16
ivsize       : 16
maxauthsize  : 20
geniv        : <built-in>

name         : cbc(aes)
driver       : cbc-aes-hw
module       : kernel
priority     : 300
refcnt       : 3
selftest     : passed
type         : givcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
geniv        : chainiv

name         : cbc(des3_ede)
driver       : cbc(des3_ede-generic)
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : blkcipher
blocksize    : 8
min keysize  : 24
max keysize  : 24
ivsize       : 8
geniv        : <default>

name         : cbc(des)
driver       : cbc(des-generic)
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : blkcipher
blocksize    : 8
min keysize  : 8
max keysize  : 8
ivsize       : 8
geniv        : <default>

name         : xcbc(aes)
driver       : xcbc(aes-generic)
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
type         : hash
blocksize    : 16
digestsize   : 16

name         : hmac(sha1)
driver       : hmac(sha1-hw)
module       : kernel
priority     : 300
refcnt       : 3
selftest     : passed
type         : hash
blocksize    : 64
digestsize   : 20

name         : hmac(md5)
driver       : hmac(md5-generic)
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : hash
blocksize    : 64
digestsize   : 16

name         : sha1
driver       : sha1-hw
module       : hw_SHA
priority     : 300
refcnt       : 3
selftest     : passed
type         : digest
blocksize    : 64
digestsize   : 20

name         : cbc(aes)
driver       : cbc-aes-hw
module       : hw_AES
priority     : 300
refcnt       : 3
selftest     : passed
type         : blkcipher
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
geniv        : <default>

name         : stdrng
driver       : ansi_cprng
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
type         : rng
seedsize     : 32

name         : stdrng
driver       : krng
module       : kernel
priority     : 200
refcnt       : 2
selftest     : passed
type         : rng
seedsize     : 0

name         : aes
driver       : aes-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 16
min keysize  : 16
max keysize  : 32

name         : des3_ede
driver       : des3_ede-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 8
min keysize  : 24
max keysize  : 24

name         : des
driver       : des-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : cipher
blocksize    : 8
min keysize  : 8
max keysize  : 8

name         : sha1
driver       : sha1-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : digest
blocksize    : 64
digestsize   : 20

name         : md5
driver       : md5-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
type         : digest
blocksize    : 64
digestsize   :

--0015175cac2e1351c704742a6b5c
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello,<br><br>I&#39;ve written a SHA1 driver for our custo=
m  HW running Linux 2.6.28.4.<br>The driver passed all the SHA1 tests but k=
ept failing at hmac(sha1-hw) test 3.<br>During my debugging I added printk-=
s in the testmgr to also print successful tests.=A0 When I did that all the=
 tests passed. All future encryption/decryptions (I set up a tunnel between=
 the board and a server and ping-ed packets back and forth) were processed =
successfully by the driver.=A0 <br>
Attached below the output of the testmgr when setting up the tunnel (my dri=
ver registers  with name sha1-hw and is implemented by  &quot;hw_SHA&quot;=
=A0 kernel module ) and of /proc/crypto.<br><br><br>Any ideas as to what co=
uld be the reason for the failure?=A0 <br>
<br>Thanks,<br>Avital<br><br><br>Modified testmgr output:<br>=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br>alg: hash: Test 1 passed for=
 sha1-hw<br>alg: hash: Test 2 passed for sha1-hw<br>alg: hash: Chunking tes=
t 1 Passed for sha1-hw<br>alg: hash: setkey passed on test 1 for hmac(md5-g=
eneric): ret=3D0<br>
alg: hash: Test 1 passed for hmac(md5-generic)<br>alg: hash: setkey passed =
on test 2 for hmac(md5-generic): ret=3D0<br>alg: hash: Test 2 passed for hm=
ac(md5-generic)<br>alg: hash: setkey passed on test 3 for hmac(md5-generic)=
: ret=3D0<br>
alg: hash: Test 3 passed for hmac(md5-generic)<br>alg: hash: setkey passed =
on test 4 for hmac(md5-generic): ret=3D0<br>alg: hash: Test 4 passed for hm=
ac(md5-generic)<br>alg: hash: setkey passed on test 5 for hmac(md5-generic)=
: ret=3D0<br>
alg: hash: Test 5 passed for hmac(md5-generic)<br>alg: hash: setkey passed =
on test 6 for hmac(md5-generic): ret=3D0<br>alg: hash: Test 6 passed for hm=
ac(md5-generic)<br>alg: hash: setkey passed on test 7 for hmac(md5-generic)=
: ret=3D0<br>
alg: hash: Test 7 passed for hmac(md5-generic)<br>alg: hash: setkey Passed =
on chunking test 1 for hmac(md5-generic): ret=3D0<br>alg: hash: Chunking te=
st 1 Passed for hmac(md5-generic)<br>alg: hash: setkey passed on test 1 for=
 hmac(sha1-hw): ret=3D0<br>
alg: hash: Test 1 passed for hmac(sha1-hw)<br>alg: hash: setkey passed on t=
est 2 for hmac(sha1-hw): ret=3D0<br>alg: hash: Test 2 passed for hmac(sha1-=
hw)<br>alg: hash: setkey passed on test 3 for hmac(sha1-hw): ret=3D0<br>alg=
: hash: Test 3 passed for hmac(sha1-hw)<br>
alg: hash: setkey passed on test 4 for hmac(sha1-hw): ret=3D0<br>alg: hash:=
 Test 4 passed for hmac(sha1-hw)<br>alg: hash: setkey passed on test 5 for =
hmac(sha1-hw): ret=3D0<br>alg: hash: Test 5 passed for hmac(sha1-hw)<br>alg=
: hash: setkey passed on test 6 for hmac(sha1-hw): ret=3D0<br>
alg: hash: Test 6 passed for hmac(sha1-hw)<br>alg: hash: setkey passed on t=
est 7 for hmac(sha1-hw): ret=3D0<br>alg: hash: Test 7 passed for hmac(sha1-=
hw)<br>alg: hash: setkey Passed on chunking test 1 for hmac(sha1-hw): ret=
=3D0<br>
alg: hash: Chunking test 1 Passed for hmac(sha1-hw)<br>alg: hash: setkey pa=
ssed on test 1 for xcbc(aes-generic): ret=3D0<br>alg: hash: Test 1 passed f=
or xcbc(aes-generic)<br>alg: hash: setkey passed on test 2 for xcbc(aes-gen=
eric): ret=3D0<br>
alg: hash: Test 2 passed for xcbc(aes-generic)<br>alg: hash: setkey passed =
on test 3 for xcbc(aes-generic): ret=3D0<br>alg: hash: Test 3 passed for xc=
bc(aes-generic)<br>alg: hash: setkey passed on test 4 for xcbc(aes-generic)=
: ret=3D0<br>
alg: hash: Test 4 passed for xcbc(aes-generic)<br>alg: hash: setkey passed =
on test 5 for xcbc(aes-generic): ret=3D0<br>alg: hash: Test 5 passed for xc=
bc(aes-generic)<br>alg: hash: setkey passed on test 6 for xcbc(aes-generic)=
: ret=3D0<br>
alg: hash: Test 6 passed for xcbc(aes-generic)<br>alg: hash: setkey Passed =
on chunking test 1 for xcbc(aes-generic): ret=3D0<br>alg: hash: Chunking te=
st 1 Passed for xcbc(aes-generic)<br>alg: hash: setkey Passed on chunking t=
est 2 for xcbc(aes-generic): ret=3D0<br>
alg: hash: Chunking test 2 Passed for xcbc(aes-generic)<br>alg: skcipher: T=
est 1 succeeded on encryption for cbc-aes-hw<br>alg: skcipher: Test 2 succe=
eded on encryption for cbc-aes-hw<br>alg: skcipher: Test 3 succeeded on enc=
ryption for cbc-aes-hw<br>
alg: skcipher: Test 4 succeeded on encryption for cbc-aes-hw<br>alg: skciph=
er: Test 1 succeeded on decryption for cbc-aes-hw<br>alg: skcipher: Test 2 =
succeeded on decryption for cbc-aes-hw<br>alg: skcipher: Test 3 succeeded o=
n decryption for cbc-aes-hw<br>
alg: skcipher: Test 4 succeeded on decryption for cbc-aes-hw<br><br><br><br=
>output of /proc/crypto<br>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D<br><br>name=A0=A0=A0=A0=A0=A0=A0=A0 : authenc(hmac(sha1),cbc(aes))<br>d=
river=A0=A0=A0=A0=A0=A0 : authenc(hmac(sha1-hw),cbc-aes-hw)<br>
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 3300<br>refcnt=
=A0=A0=A0=A0=A0=A0 : 3<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=
=A0=A0=A0=A0 : aead<br>async=A0=A0=A0=A0=A0=A0=A0 : yes<br>blocksize=A0=A0=
=A0 : 16<br>ivsize=A0=A0=A0=A0=A0=A0 : 16<br>maxauthsize=A0 : 20<br>geniv=
=A0=A0=A0=A0=A0=A0=A0 : &lt;built-in&gt;<br>
<br>name=A0=A0=A0=A0=A0=A0=A0=A0 : cbc(aes)<br>driver=A0=A0=A0=A0=A0=A0 : c=
bc-aes-hw<br>module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 30=
0<br>refcnt=A0=A0=A0=A0=A0=A0 : 3<br>selftest=A0=A0=A0=A0 : passed<br>type=
=A0=A0=A0=A0=A0=A0=A0=A0 : givcipher<br>async=A0=A0=A0=A0=A0=A0=A0 : yes<br=
>blocksize=A0=A0=A0 : 16<br>
min keysize=A0 : 16<br>max keysize=A0 : 32<br>ivsize=A0=A0=A0=A0=A0=A0 : 16=
<br>geniv=A0=A0=A0=A0=A0=A0=A0 : chainiv<br><br>name=A0=A0=A0=A0=A0=A0=A0=
=A0 : cbc(des3_ede)<br>driver=A0=A0=A0=A0=A0=A0 : cbc(des3_ede-generic)<br>=
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 0<br>refcnt=A0=
=A0=A0=A0=A0=A0 : 1<br>
selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=A0=A0=A0 : blkcipher<b=
r>blocksize=A0=A0=A0 : 8<br>min keysize=A0 : 24<br>max keysize=A0 : 24<br>i=
vsize=A0=A0=A0=A0=A0=A0 : 8<br>geniv=A0=A0=A0=A0=A0=A0=A0 : &lt;default&gt;=
<br><br>name=A0=A0=A0=A0=A0=A0=A0=A0 : cbc(des)<br>driver=A0=A0=A0=A0=A0=A0=
 : cbc(des-generic)<br>
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 0<br>refcnt=A0=
=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=
=A0=A0=A0 : blkcipher<br>blocksize=A0=A0=A0 : 8<br>min keysize=A0 : 8<br>ma=
x keysize=A0 : 8<br>ivsize=A0=A0=A0=A0=A0=A0 : 8<br>geniv=A0=A0=A0=A0=A0=A0=
=A0 : &lt;default&gt;<br>
<br>name=A0=A0=A0=A0=A0=A0=A0=A0 : xcbc(aes)<br>driver=A0=A0=A0=A0=A0=A0 : =
xcbc(aes-generic)<br>module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=
=A0 : 100<br>refcnt=A0=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<=
br>type=A0=A0=A0=A0=A0=A0=A0=A0 : hash<br>blocksize=A0=A0=A0 : 16<br>digest=
size=A0=A0 : 16<br>
<br>name=A0=A0=A0=A0=A0=A0=A0=A0 : hmac(sha1)<br>driver=A0=A0=A0=A0=A0=A0 :=
 hmac(sha1-hw)<br>module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0=
 : 300<br>refcnt=A0=A0=A0=A0=A0=A0 : 3<br>selftest=A0=A0=A0=A0 : passed<br>=
type=A0=A0=A0=A0=A0=A0=A0=A0 : hash<br>blocksize=A0=A0=A0 : 64<br>digestsiz=
e=A0=A0 : 20<br>
<br>name=A0=A0=A0=A0=A0=A0=A0=A0 : hmac(md5)<br>driver=A0=A0=A0=A0=A0=A0 : =
hmac(md5-generic)<br>module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=
=A0 : 0<br>refcnt=A0=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br=
>type=A0=A0=A0=A0=A0=A0=A0=A0 : hash<br>blocksize=A0=A0=A0 : 64<br>digestsi=
ze=A0=A0 : 16<br>
<br>name=A0=A0=A0=A0=A0=A0=A0=A0 : sha1<br>driver=A0=A0=A0=A0=A0=A0 : sha1-=
hw<br>module=A0=A0=A0=A0=A0=A0 : hw_SHA<br>priority=A0=A0=A0=A0 : 300<br>re=
fcnt=A0=A0=A0=A0=A0=A0 : 3<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=
=A0=A0=A0=A0=A0=A0 : digest<br>blocksize=A0=A0=A0 : 64<br>digestsize=A0=A0 =
: 20<br><br>name=A0=A0=A0=A0=A0=A0=A0=A0 : cbc(aes)<br>
driver=A0=A0=A0=A0=A0=A0 : cbc-aes-hw<br>module=A0=A0=A0=A0=A0=A0 : hw_AES<=
br>priority=A0=A0=A0=A0 : 300<br>refcnt=A0=A0=A0=A0=A0=A0 : 3<br>selftest=
=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=A0=A0=A0 : blkcipher<br>blocks=
ize=A0=A0=A0 : 16<br>min keysize=A0 : 16<br>max keysize=A0 : 32<br>ivsize=
=A0=A0=A0=A0=A0=A0 : 16<br>
geniv=A0=A0=A0=A0=A0=A0=A0 : &lt;default&gt;<br><br>name=A0=A0=A0=A0=A0=A0=
=A0=A0 : stdrng<br>driver=A0=A0=A0=A0=A0=A0 : ansi_cprng<br>module=A0=A0=A0=
=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 100<br>refcnt=A0=A0=A0=A0=A0=
=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=A0=A0=A0 : =
rng<br>seedsize=A0=A0=A0=A0 : 32<br>
<br>name=A0=A0=A0=A0=A0=A0=A0=A0 : stdrng<br>driver=A0=A0=A0=A0=A0=A0 : krn=
g<br>module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 200<br>ref=
cnt=A0=A0=A0=A0=A0=A0 : 2<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=
=A0=A0=A0=A0=A0 : rng<br>seedsize=A0=A0=A0=A0 : 0<br><br>name=A0=A0=A0=A0=
=A0=A0=A0=A0 : aes<br>driver=A0=A0=A0=A0=A0=A0 : aes-generic<br>
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 100<br>refcnt=
=A0=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=
=A0=A0=A0=A0 : cipher<br>blocksize=A0=A0=A0 : 16<br>min keysize=A0 : 16<br>=
max keysize=A0 : 32<br><br>name=A0=A0=A0=A0=A0=A0=A0=A0 : des3_ede<br>drive=
r=A0=A0=A0=A0=A0=A0 : des3_ede-generic<br>
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 0<br>refcnt=A0=
=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=
=A0=A0=A0 : cipher<br>blocksize=A0=A0=A0 : 8<br>min keysize=A0 : 24<br>max =
keysize=A0 : 24<br><br>name=A0=A0=A0=A0=A0=A0=A0=A0 : des<br>driver=A0=A0=
=A0=A0=A0=A0 : des-generic<br>
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 0<br>refcnt=A0=
=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=
=A0=A0=A0 : cipher<br>blocksize=A0=A0=A0 : 8<br>min keysize=A0 : 8<br>max k=
eysize=A0 : 8<br><br>name=A0=A0=A0=A0=A0=A0=A0=A0 : sha1<br>driver=A0=A0=A0=
=A0=A0=A0 : sha1-generic<br>
module=A0=A0=A0=A0=A0=A0 : kernel<br>priority=A0=A0=A0=A0 : 0<br>refcnt=A0=
=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=
=A0=A0=A0 : digest<br>blocksize=A0=A0=A0 : 64<br>digestsize=A0=A0 : 20<br><=
br>name=A0=A0=A0=A0=A0=A0=A0=A0 : md5<br>driver=A0=A0=A0=A0=A0=A0 : md5-gen=
eric<br>module=A0=A0=A0=A0=A0=A0 : kernel<br>
priority=A0=A0=A0=A0 : 0<br>refcnt=A0=A0=A0=A0=A0=A0 : 1<br>selftest=A0=A0=
=A0=A0 : passed<br>type=A0=A0=A0=A0=A0=A0=A0=A0 : digest<br>blocksize=A0=A0=
=A0 : 64<br>digestsize=A0=A0 : <br><br><br></div>

--0015175cac2e1351c704742a6b5c--

-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/