Re: how to encrypt the 10-digit values into encrypted 10-digit values?
- From: biject <biject.bwts@xxxxxxxxx>
- Date: Sat, 26 Sep 2009 08:04:14 -0700 (PDT)
On Sep 26, 5:17 am, Spinner <nos...@xxxxxxxxxx> wrote:
makissy <maki...@xxxxxxxxx> wrote:
Hi All,
I have an assignment about increasing the security of the
system by encrypting the identification numbers in database.
how to encrypt the 10-digit values into encrypted 10-digit values?
i don't have any idea yet. Can anyone give me any idea. pls..
requirements
• Each plain text 10-digit value with digits in the
interval [0..9] should be encrypted to a 10-digit number
with digits in the interval [0..9].
• Each encrypted value of 10 digits should be possible to
decrypt back to a plain text 10-digit value.
Thanks for any guidance.
A simple question: Why? If there are are a million numbers, then 1 in
1000 random guesses will return a 'valid' answer.
Also, there are only 1 billion possible key or result vallues. That is
an extremely small universe of possible answers.
Example: if you have 1 billion clear values, then encryption is
meaningless since any 10 digit result of encryption will result in a
10 digit clear value number - which will be some other number in the
set.
This question has been asked periodically in this group before if I
recall correctly.
And as a useless aside, you might pick up a little obfuscation using
say letters A-J as the result, or the alphabet modulo 10 ( K = A = T,
etc.) It all depends what you're trying to do - a 10 numerical digit
restriction on key space makes pretty much any sort of encryption
useless if the number of plain text values approaches the size of the
key space itself.
--
2+2!=5 even for extremely large values of 2
The problem is defining secure. Secure from what?
If the user only has access to one number then
the adding of a single secret number is enough.
Just throw away the over flow.
If a person who wants to break the system has
access to several pairs of plain and encrypted numbers then the
problem is harder especially if
the plain ids are all close in values.
In this case the best security might be something
like having two arrays the number of which is the
number of ids. Set each element to minus one in
the first list. In the second list set the
values sequential to all possible id's. Then
assign value to the location in the first by going
down a random amount in second list. When you place
that id value in first list delete from second
list and shorten the second list by one entry.
Redo as needed.
Keep the two lists secret and only give the
id and encrypted value to the one who needs
to know the values.
David A. Scott
--
My Crypto code
http://bijective.dogma.net/crypto/scott19u.zip
http://www.jim.com/jamesd/Kong/scott19u.zip old version
My Compression code http://bijective.dogma.net/
**TO EMAIL ME drop the roman "five" **
Disclaimer:I am in no way responsible for any of the statements
made in the above text. For all I know I might be drugged.
As a famous person once said "any cryptograhic
system is only as strong as its weakest link"
.
- References:
- Prev by Date: Re: why use ANY DEFINED by ... OPTIONAL instead of OCTET STRING OPTIONAL?
- Next by Date: Re: Inheritable signature?
- Previous by thread: Re: how to encrypt the 10-digit values into encrypted 10-digit values?
- Next by thread: Re: how to encrypt the 10-digit values into encrypted 10-digit values?
- Index(es):
Relevant Pages
|