Thanks Stephen. I was not aware other implementations used both forms. What
if OpenSSL implemented one of these options:
1) Don't change p12_key.c. Don't change the default behavior of pkcs8.c.
But at least add a command line option to pkcs8.c (-stdemptypw) to be
standard-compliant (make P empty).
The "openssl pkcs8" CLI tool fails to properly decrypt a file containing an
EncryptedPrivateKeyInfo structure encrypted with an empty password (see
error below). This happens when a PKCS #12 algorithm is used (such as
PBE-SHA1-3DES); I have not investigated PKCS #5 algorithms. I hit this bug
when a
Andy,
This patch implements an optimization of round2 of the AMD64
implementation of MD5. It improves the global throughput of MD5 by
about 6%. Credit should be given to Charles Liu for this. See
http://epita.fr/~bevand_m/papers/md5-amd64.html
for more information.
--
Marc Bevand
by
consequent AMD64 has a clear advantage over i386 (it is usually up to
3x faster).
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Network and Security Dept
74 94 c2 e7 10 4b 08 79 00
[...]
I assume your RC4() is a drop-in replacement for OpenSSL's RC4(), a
quick look at the source code seems to confirm this... Can you double-
check your code, please ?
[1] http://etudiant.epita.fr/~bevand_m/papers/rc4-amd64.tar.bz2
--
e no problem at all. I am eager to start working on AES for this
arch.
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Network and Security Dept.
_
32-bit CPU.
But what I meant is that it is probably a better idea to work on a second
algorithm (AES), and then to use these 2 differents approaches as a way
to improve both of them.
The more different implementation tricks we have, the better.
--
Marc Bevand http
popular.
I think I am going to stick with one the algorithm proposed by Steve
and Peter: AES.
My first step will be to study the only existing AMD64 implementation of
AES: loop-aes, merged in Linux kernel 2.6.8-rc3 by Brian Gladman.
--
Marc Bevand http://epita.
e OpenSSL community: what algorithm
would you like to see optimized for AMD64 ? AES, SHA-1, Blowfish, RC5 ?
(I did RC4 and MD5, because I need them in another project.)
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA
f the fastest implementations,"
| it's no longer the case:-)
| [...]
You are right :-) Nice work !
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Network an
Marc Bevand wrote:
|
| The page is now available:
|
| http://epita.fr/~bevand_m/papers/md5-amd64.html
The server is down, again :-( So, here is a tarball containing the
html file as well as the code (see attached file).
--
Marc Bevand http://epita.fr/~bevand_m
Marc Bevand wrote:
| dean gaudet wrote:
| | On Sat, 27 Nov 2004, Marc Bevand wrote:
| | > http://epita.fr/~bevand_m/papers/md5-amd64.html
|
| (note: the page is temporarily unavailable, I have informed the sysadm)
The page is now available:
http://epita.fr/~bevand_m/papers/md5-amd64.h
dean gaudet wrote:
| On Sat, 27 Nov 2004, Marc Bevand wrote:
| > http://epita.fr/~bevand_m/papers/md5-amd64.html
(note: the page is temporarily unavailable, I have informed the sysadm)
| you might be interested in an approach i've used to mix both SSE and
| integer operations to i
.
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Network and Security Dept.
__
OpenSSL Project http://www.openssl.org
Development
ly optimal... but doesn't stop other non-dependent
| operations from using the ALU in the interim while the partial-reg
| dependencies are being satisfied.
Ahh, ok. I was not aware this subtle optimization in EM64T processors.
--
Marc Bevand http://epita.fr/~be
try using shl
| and then following the inner loop with a bswap before storing. (shl can
| be pipelined properly if it has a staggered 64-bit alu.)
| oh also, try "sub $1" instead of dec :)
On AMD64, 'dec' is as fast as 'sub $1', but replacing 'ror' by '
How IA32E would perform remains
| to be seen..." in commentary section]...
I thought P4 were pretty good on partial register arithmetic. Hmm, my
source was unreliable :)
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Netwo
rypto/rc4/asm/rc4-amd64.pl for an
| example).
Sure.
On one hand, I like the power of mixing perl & asm, but on the other
hand mixing both languages leads to a really ugly syntax :)
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Ne
be a rational technical conclusion,
it is more a personal opinion (I am working on other amd64 papers).
Anyway, thanks for your commit.
--
Marc Bevand http://epita.fr/~bevand_m
Computer Science School EPITA - System, Network and Security
Hello,
I have published a paper about optimizing RC4 for AMD64. A working
implementation, designed to be easily integrated into OpenSSL, is
also provided:
http://epita.fr/~bevand_m/papers/rc4-amd64.html
I would love seeing this integrated into OpenSSL.
--
Marc Bevand
so available in the
`gcc-3.0-bug-demo.c' file.
------
/*
** Gcc-3.0 bug -- noticed by Marc Bevand
** on Tue Dec 3 14:06:02 CET 2002
**
** All is right with "-fPIC -O1", the bug only occurs with "-fPIC
** -O[23]":
**
** $ gcc -fPIC -O1 gc
21 matches
Mail list logo