From: <Adechert_at_aol_dot_com>

Date: Fri Sep 19 2003 - 12:45:44 CDT

Date: Fri Sep 19 2003 - 12:45:44 CDT

This sounds fine to me. I'd like to hear what others think.

Alan D.

In a message dated 9/19/03 6:29:24 AM Pacific Daylight Time, jan@it.uu.se

writes:

*> I think I would like to retreat from my suggestion to use XOR
*

*> to obscure the bar codes. Since this involves conversion between
*

*> binary and decimal, one has to keep track of the number of bits
*

*> and digits, so leading zeroes are not lost during the conversions.
*

*> This seems unnecessary complicated for this task.
*

*>
*

*> My suggestion now is instead to do a similar obscuration directly
*

*> on the decimal numbers. It is done by adding the (repeated) digits
*

*> in the ballot number to the digits in the huge integer, modulo 10.
*

*> To revert, instead subtract modulo 10. For example, with ballot
*

*> number 4216:
*

*>
*

*> 083076749736557242056487941267521535
*

*> 421642164216421642164216421642164216
*

*> ------------------------------------
*

*> 404618803942978884110693362809685741
*

*>
*

*> I believe the bar code would be as hard to interpret as it was
*

*> using the XOR method.
*

*>
*

*> ------------------------------------------------------------------------
*

*> import string
*

*>
*

*> def obscure(key, num):
*

*> keydigits = list(key)
*

*> numdigits = list(num)
*

*> for i in range(len(numdigits)):
*

*> numdigits[i] = str((int(numdigits[i]) + int(keydigits[i % 4])) %
*

10)

*> return string.join(numdigits, "")
*

*>
*

*> def revert(key, num):
*

*> keydigits = list(key)
*

*> numdigits = list(num)
*

*> for i in range(len(numdigits)):
*

*> numdigits[i] = str((int(numdigits[i]) - int(keydigits[i % 4])) %
*

10)

*> return string.join(numdigits, "")
*

*>
*

*> ballotno = "4216"
*

*> barcodedata = "083076749736557242056487941267521535"
*

*> print barcodedata
*

*> obscured = obscure(ballotno, barcodedata)
*

*> print obscured
*

*> print revert(ballotno, obscured)
*

*> ------------------------------------------------------------------------
*

*>
*

*> Remember that this is not encryption, but only a way to obscure
*

*> bar codes, so that identical or similar votes should not have
*

*> similar bar codes. With the above algorithm, identical votes
*

*> will have 10000 different bar code representations.
*

==================================================================

= The content of this message, with the exception of any external

= quotations under fair use, are released to the Public Domain

==================================================================

Received on Tue Sep 30 23:17:07 2003

*
This archive was generated by hypermail 2.1.8
: Tue Sep 30 2003 - 23:17:09 CDT
*