There are already functions in ethereal to handle RC4. I think it is part of
the WEP
or some of the other wireless dissectors. Use that one.
That one should be broken out and put in its own source file.
For the others, like md5 or des, there would be different options.
One option would be to link ethereal with some GPL library, but that
discussion has been
on the list before. I think that discussion last time came to the
conclusion that
the existing open source crypto libs that were reasonably complete and
useful had
licenses that could be problematic to merge with GPL on some platforms.
The true GPL ones were as far as I remember all a bit inmature/incomplete
yet to be useful.
Another point was that this would mean yet another library ethereal would be
dependent on.
Another option would be to reimplement what is needed to decrypt dec inside
ethereal.
Well, RC4 is already in ethereal. MD5 and DES would probably not be too
much
work to add either. I guess that ethereal, since ethereal probably only
need to decrypt packets and not
encrypt them, could work with only a small subset of the functionality of
what is in
the libraries.
----- Original Message -----
From: "Devin Heitmueller"
Sent: Monday, November 11, 2002 4:46 AM
Subject: [Ethereal-dev] Cryptographic primitives
> Hello,
>
> I am looking to include some basic cryptographic primitives into
> Ethereal for use with some of the SMB dissectors. In particular, I need
> to include RC4, DES, and MD4 into the distribution.
>
> Ideally, I think it would make sense to use the existing crypto in
> OpenSSL. However, I am concerned that this could present library and
> cross-platform issues, so it may be better just to include local
> implementations of the algorithms (especially given the few number of
> algorithms needed).
>
> So which direction would the community recommend? If I include local
> implementations, what filename would you recommend, so that these
> functions could be used elsewhere in Ethereal (i.e. crypt.c)?
>