kevlo
94bc2d7409
Initialize T1 to silent gcc warning.
...
Approved by: cognet
2006-10-22 02:19:33 +00:00
pjd
8277c8e2a4
Less magic.
...
MFC after: 3 days
2006-09-15 10:44:55 +00:00
kan
6ef43dbb8f
GCC 3.4.6 gets confused on this file and produces bogus warning.
...
Shut it up.
2006-08-26 21:48:00 +00:00
pjd
f422bef855
Remove trailing spaces.
2006-07-28 14:48:30 +00:00
pjd
cea88d1e47
Use existing roundup2() macro.
...
Suggested by: njl
2006-07-28 14:46:19 +00:00
pjd
773098d748
Remove redundant check committed by accident.
2006-07-25 20:00:55 +00:00
pjd
054c4a83dd
Avoid memory allocations when the given address is already 16 bytes aligned.
...
Such an address can be used directly in padlock's AES.
This improves speed of geli(8) significantly:
# sysctl kern.geom.zero.clear=0
# geli onetime -s 4096 gzero
# dd if=/dev/gzero.eli of=/dev/null bs=1m count=1000
Before: 113MB/s
After: 203MB/s
BTW. If sector size is set to 128kB, I can read at 276MB/s :)
2006-07-25 19:32:58 +00:00
pjd
90aa974bdf
Modify PADLOCK_ALIGN() macro, so when the given address is already 16 bytes
...
aligned, it will be used directly, not 'address + 16'.
2006-07-25 19:06:54 +00:00
pjd
1bdee6da83
Style fixes.
2006-07-25 19:04:26 +00:00
pjd
90eb685fca
Implement support for HMAC/SHA1 and HMAC/SHA256 acceleration found in
...
new VIA CPUs.
For older CPUs HMAC/SHA1 and HMAC/SHA256 (and others) will still be done
in software.
Move symmetric cryptography (currently only AES-CBC 128/192/256) to
padlock_cipher.c file. Move HMAC cryptography to padlock_hash.c file.
Hardware from: Centaur Technologies
2006-07-22 16:18:47 +00:00
pjd
361a0884e4
Correct few bzero()s.
...
MFC after: 3 days
2006-07-22 13:14:11 +00:00
pjd
0495e43729
Set ses_ictx and ses_octx to NULL after freeing them, so we won't free
...
them twice.
This is possible for example in situation when session is used in
authentication context, then freed and then used in encryption context
and freed - in encryption context ses_ictx and ses_octx are not touched
at newsession time, but padlock_freesession could still try to free them
when they are not NULL.
2006-07-22 10:04:47 +00:00
mr
4af607ffd5
Use the already stored VIA RNG probe information
...
instead of probing again.
Adjust style(9) somewhat in probe.c
Reviewed by: pjd
MFC after: 1 week
2006-07-13 09:15:14 +00:00
pjd
e9425270e5
Fix gratuitous compiler warning.
...
Reported by: Rong-en Fan <grafan@gmail.com>
2006-06-08 17:40:02 +00:00
pjd
87e654aa04
- Pretend to accelerate various HMAC algorithms, so padlock(4) can be used
...
with fast_ipsec(4) and geli(8) authentication (comming soon).
If consumer requests only for HMAC algorithm (without encryption), return
EINVAL.
- Add support for the CRD_F_KEY_EXPLICIT flag, for both encryption and
authentication.
2006-06-05 16:22:04 +00:00
pjd
a4071b836a
padlock(4) doesn't support explicitly provided keys yet.
...
Return an error instead of encrypting/decrypting data with a wrong key.
2006-04-20 06:31:44 +00:00
pjd
7f664ed13a
On padlock initialization, allocate memory with M_WAITOK.
2006-04-12 12:13:34 +00:00
pjd
352b6c307b
Add VIA/ACE "PadLock" support as a crypto(9) driver.
...
HW donated by: Mike Tancsa <mike@sentex.net>
Most of the code obtained from: OpenBSD
MFC after: 3 days
2005-08-18 00:30:22 +00:00
pjd
bb000dd3d5
Assert proper key size also in userland by defining KASSERT in !_KERNEL case.
2005-08-17 07:59:07 +00:00
cperciva
bdfa6fbbb1
Unbreak the world build (in sbin/gbde). This file is used by both
...
kernel and world, so KASSERT() needs to be wrapped within an #ifdef
_KERNEL / #endif pair.
Reported by: krion, tinderbox
2005-08-17 00:24:20 +00:00
pjd
372c5a7d07
Check key size for rijndael, as invalid key size can lead to kernel panic.
...
It checked other algorithms against this bug and it seems they aren't
affected.
Reported by: Mike Tancsa <mike@sentex.net>
PR: i386/84860
Reviewed by: phk, cperciva(x2)
2005-08-16 18:59:00 +00:00
ume
5f96af1a75
gbde(8) is also rejndael user.
...
Reported by: phk
2005-03-11 22:07:04 +00:00
ume
5ce7e2e80a
just use crypto/rijndael, and nuke opencrypto/rindael.[ch].
...
the two became almost identical since latest KAME merge.
Discussed with: sam
2005-03-11 17:24:46 +00:00
ume
8a8b13dab5
integrate rijndael-alg-fst.h into rijndael.h.
2005-03-11 16:26:10 +00:00
ume
73402ef817
stop including rijndael-api-fst.h from rijndael.h.
...
this is required to integrate opencrypto into crypto.
2005-03-11 15:42:51 +00:00
ume
f61af04d95
sys/crypto/md5.[ch] is used from nowhere. So, just nuke them.
2005-03-11 12:56:15 +00:00
ume
4319b5fb5e
refer opencrypto/cast.h directly.
2005-03-11 12:37:07 +00:00
ume
4bc4328cd1
use cast128 in opencrypto to nuke duplicate code.
2005-03-10 11:40:53 +00:00
ru
cec60429bb
Start the dreaded NOFOO -> NO_FOO conversion.
...
OK'ed by: core
2004-12-21 08:47:35 +00:00
jhb
cc03c9de7d
Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove
...
80386 (I386_CPU) support from the kernel.
2004-11-16 20:42:32 +00:00
ru
5db2b9d5b3
For variables that are only checked with defined(), don't provide
...
any fake value.
2004-10-24 15:33:08 +00:00
obrien
18012715d9
Use __FBSDID().
2004-06-14 00:38:54 +00:00
des
b3e7bd9f6b
Fix a reentrancy issue in md5_calc().
2004-01-27 18:57:21 +00:00
ume
88488cca11
avoid module name conflict with opencrypto/rijndael.c.
...
Reported by: tinderbox
2003-11-12 04:22:37 +00:00
ume
7755ea7d71
cleanup rijndael API.
...
since there are naming conflicts with opencrypto, #define was
added to rename functions intend to avoid conflicts.
Obtained from: KAME
2003-11-11 18:58:54 +00:00
ume
2545ff462c
rijndael-alg-fst.[ch]:
...
- redo updating.
rijndael-api-fst.[ch]:
- switch to use new low level rijndael api.
- stop using u8, u16 and u32.
- space cleanup.
Tested by: gbde(8) and phk's test program
2003-11-10 10:33:39 +00:00
phk
9f420bf43d
Add a testcase which validates that the same buffer can be passed to
...
rijndael_blockDecrypt() as both input and output.
This property is important because inside rijndael we can get away
with allocating just a 16 byte "work" buffer on the stack (which
is very cheap), whereas the calling code would need to allocate the
full sized buffer, and in all likelyhood would have to do so with
an expensive malloc(9).
2003-10-19 22:12:23 +00:00
ume
8ff2c775d4
- revert to old rijndael code. new rijndael code broke gbde.
...
- since aes-xcbc-mac and aes-ctr require functions in new
rijndael code, aes-xcbc-mac and aes-ctr are disabled for now.
2003-10-19 21:28:34 +00:00
ume
3d011c684c
Fix alignment problem on 64 bit arch.
...
I only tested if it doesn't break anything on i368. Since I
have no 64 bit machine, I cannot test it, actually.
Reported by: jmallett
2003-10-14 13:37:37 +00:00
ume
a89e9b5e91
use BF_ecb_encrypt().
...
Obtained from: KAME
2003-10-13 19:26:08 +00:00
ume
dc45666132
simplify and update rijndael code.
...
Obtained from: KAME
2003-10-12 21:05:05 +00:00
ume
b436e75e9a
use opencrypto for RMD160.
...
Requested by: sam
2003-10-12 18:25:38 +00:00
ume
329da09a2a
drop useless define.
2003-10-12 14:47:24 +00:00
ume
d56603d9be
use bswap32() for big endian arch.
...
Reported by: tinderbox via kris
2003-10-12 14:32:13 +00:00
ume
f1d14cc455
RIPEMD160 support
...
Obtained from: KAME
2003-10-12 09:43:48 +00:00
ume
8df937af7e
switch cast128 implementation to implementation by Steve Reid;
...
smaller footprint.
Obtained from: KAME
2003-10-10 15:06:16 +00:00
ume
d850f73361
one more opossite conditiion.
...
Reported by: "lg" <zevlg@yandex.ru>
2003-09-18 17:26:56 +00:00
ume
c724a09a95
condition of padLen check was opposite.
...
Reported by: "lg" <zevlg@yandex.ru>
Reviewed by: Lev Walkin <vlm@netli.com>
2003-09-17 08:51:43 +00:00
phk
1456ca5b58
Correctly bzero the entire context, not just the first sizeof(void *) bytes.
...
Found by: Juergen Buchmueller <pullmoll@stop1984.com>
2003-09-08 18:32:33 +00:00
obrien
349c6025d0
Use __FBSDID().
2003-06-10 21:44:29 +00:00
obrien
4054bc5e58
Assembly files put thru the C preprocessor need to have C style comments.
2003-04-21 16:30:12 +00:00
silby
5eab66f151
Remove some unnecessary casts.
2003-01-25 22:41:22 +00:00
sam
1f74260ee2
make rc4 crypto support a module so other modules can depend on it
...
Submitted by: imp
Reviewed by: imp
2003-01-15 19:55:17 +00:00
phk
e7f8941120
Make this compilable from userland as well.
2002-11-01 08:56:39 +00:00
phk
ab7f456357
Don't panic when we can just return an error code.
2002-10-14 11:21:05 +00:00
markm
a22b6ae7fb
Fix some really pedantic GCC warnings.
2002-07-15 13:45:15 +00:00
suz
869c418b27
Fixed AES encryption algorithm bug
...
PR: kern/38465
Obtained from: Ramana Yarlagadda <ramana.yarlagadda@analog.com>
2002-05-24 07:26:17 +00:00
markm
b8f437cc0b
Remove macros that are defined elsewhere.
2002-04-21 10:32:48 +00:00
suz
553226e8e1
just merged cosmetic changes from KAME to ease sync between KAME and FreeBSD.
...
(based on freebsd4-snap-20020128)
Reviewed by: ume
MFC after: 1 week
2002-04-19 04:46:24 +00:00
alfred
eddc6122c9
Remove __P.
2002-03-20 05:14:42 +00:00
ume
92361f6aad
- Speedup 3DES by using assembly code for i386.
...
- Sync des/blowfish to more recent openssl.
Obtained from: KAME/NetBSD
MFC after: 2 weeks
2002-03-05 09:19:02 +00:00
ume
f7cd13562c
off by one error in Aaron Gifford's code. KAME PR 393.
...
PR: kern/34242
Submitted by: Aaron D. Gifford <agifford@infowest.com>
MFC after: 1 week
2002-02-26 16:58:58 +00:00
ume
8ee8d7c8d6
fixed the cast128 calculation with a short cipher key length.
...
the memory was overridden when the key length was less than 16 bytes.
Obtained from: KAME
MFC after: 1 week
2001-11-27 14:11:47 +00:00
ume
652be9cfdd
properly check DES weak key. KAME PR 363.
...
Obtained from: KAME
MFC after: 1 week
2001-07-03 17:46:48 +00:00
ume
33474f7afa
less warning
...
warning: cast discards qualifiers from pointer target type
2001-06-16 19:32:37 +00:00
ume
832f8d2249
Sync with recent KAME.
...
This work was based on kame-20010528-freebsd43-snap.tgz and some
critical problem after the snap was out were fixed.
There are many many changes since last KAME merge.
TODO:
- The definitions of SADB_* in sys/net/pfkeyv2.h are still different
from RFC2407/IANA assignment because of binary compatibility
issue. It should be fixed under 5-CURRENT.
- ip6po_m member of struct ip6_pktopts is no longer used. But, it
is still there because of binary compatibility issue. It should
be removed under 5-CURRENT.
Reviewed by: itojun
Obtained from: KAME
MFC after: 3 weeks
2001-06-11 12:39:29 +00:00
markm
e4e06e65a1
Kernel crypto need binary key material, not symbolic ascii.
2001-03-10 13:02:58 +00:00
kris
b6750dacb9
This commit was generated by cvs2svn to compensate for changes in r67957,
...
which included commits to RCS files with non-trunk default branches.
2000-10-30 11:03:32 +00:00
kris
39f0a768bf
Initial import of AES algorithm code (aka Rijndael) from KAME.
2000-10-30 11:03:32 +00:00
archie
f46adaf572
Fix broken const'ness in declaration of sha1_loop().
2000-10-09 18:49:14 +00:00
itojun
5f4e854de1
sync with kame tree as of july00. tons of bug fixes/improvements.
...
API changes:
- additional IPv6 ioctls
- IPsec PF_KEY API was changed, it is mandatory to upgrade setkey(8).
(also syntax change)
2000-07-04 16:35:15 +00:00
phk
6be1308ad1
Remove ~25 unneeded #include <sys/conf.h>
...
Remove ~60 unneeded #include <sys/malloc.h>
2000-04-19 14:58:28 +00:00
archie
5bb79e5ce8
A simplified RC4 implementation for kernel use.
2000-04-09 21:01:01 +00:00
archie
a06297ebe6
Fix bogus const-ness in declaration of sha1_loop().
2000-04-09 20:10:55 +00:00
shin
0539d56f5e
Prototype fix for IPsec authentication related functions
...
Some of IPsec authentication related functions should have
'const' for its 2nd argument, but not now.
But if someone try to use them, and passed const data for
those functions, then much bogus compile warnings will be
generated.
So those funcs prototype should be modified.
Requested by: archie
Approved by: jkh
2000-02-10 19:35:53 +00:00
peter
d53e4c1d80
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
...
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.
1999-12-29 05:07:58 +00:00
shin
50ba589c66
IPSEC support in the kernel.
...
pr_input() routines prototype is also changed to support IPSEC and IPV6
chained protocol headers.
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-22 19:13:38 +00:00