In message <[EMAIL PROTECTED]> on Mon, 19 Dec 2005 03:12:16 -0600, "Travis H." 

solinym> On 12/19/05, Richard Levitte - VMS Whacker <[EMAIL PROTECTED]> wrote:
solinym> > unsigned char foo[8];
solinym> >
solinym> > (no, it isn't fool proof, but close enough after 1 second
solinym> > of thought).
solinym> I think C guarantees that a char is a byte, but exactly how
solinym> wide that is is processor-dependent.  IIRC, some of the
solinym> machines it was developed on had less than 8 bits per byte,
solinym> but I could be wrong.

Nope, you're right.  For example, on old PDP-10 and DEC-20, you'd have
5 7-bit chars in each 36-bit int.  Not entirely sure how unsigned
chars were implemented, though...

solinym> Surely a smaller byte is antiquated, but a wider char is
solinym> certainly conceivable.

Yup, I realised all that, hence "it isn't fool proof".

solinym> OTOH, if C was truly as portable as is claimed, GNU autoconf
solinym> wouldn't exist.

It's true that the proliferation of incompatible header standards and
platform specific libraries have made things harder, as well as the
differing size and characteristics of some of the types.  Still,
because there's a way to build conditional code in a way that works on
all platforms, I still think it's among the more portable languages.
Not saying it's perfect, far from it, but I've yet to see another
language that has similar characteristics.

solinym> Scripts are fairly portable; I can run bash scripts in
solinym> cygwin,  I can run perl scripts using activeperl.  None have
solinym> required modification so far,

Yeah, for crypto stuff, I must say that I don't find bash or perl to
be strong candidates, at least at the lowest level.

solinym> though some use libraries ("modules") that aren't available
solinym> on the target.

Uhmm, isn't that what you'd use GNU autoconf for?  In my experience,
GNU autoconf is mostly used to figure out what the environment is
composed of, what libraries are available and things like that.

solinym> I realized halfway through this that I was thinking of
solinym> applications that use crypto, and not crypto algorithms per
solinym> se.

Oh...  when you started this thread with talking about rewriting C
libraries to something less error prone, I didn't imagine you were
talking about the higher levels of functionality.  I believe a lot of
languages have a layer to interface with the lower level C libraries,
and I know that at least Perl, Python and Ocaml have interfaces to the
crypto algorithms in OpenSSL.

solinym> But pretty much we sound like we're in agreement on most
solinym> things.

Well, at least that C sucks :-).


Please consider sponsoring my work on free software.
See for details.

Richard Levitte                         [EMAIL PROTECTED]

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis

The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]

Reply via email to