Re: Pin generation algorithm question

From: Ernst Lippe (ernstl-at-planet-dot-nl_at_ignore.this)
Date: 04/24/04


Date: Sat, 24 Apr 2004 01:19:45 +0200

On Fri, 23 Apr 2004 15:46:48 -0700, Paul Rubin wrote:

> Ernst Lippe <ernstl-at-planet-dot-nl@ignore.this> writes:
>> Why truncate? It is the size of the inputs that is limited,
>> not the size of the outputs. Anyhow, you will need
>> a database of the valid outputs, and I think
>> that that is an unnecessary risk.
>
> Why do you need a database? I'm confused.

What the original poster wanted was a system that could determine if a certain
16-digit number was valid (As I understood the number was used for a pre-paid
cellular phone system). The constraints are that it must be difficult for an
attacker if a certain number is valid, and that it should not be possible to
use the same number twice (within some timeframe).

One obvious solution is to simply keep a list of all currently valid numbers
at the central server, and to remove a number from this list when it has been
used. One of the remarks that I made was that such a list is a big security
risk. Such a list has a very high monetary value so it will be very difficult
to secure it.

My suggestion was to use a cryptographic decision algorithm instead
of a full list. This decision algorithm would simple answer YES or NO
to the question if this number was potentially valid. The advantage of
this approach is that you don't need to secure the entire list, which
in real life is a difficult task, but only the parameters (keys) for
this decision algorithm. Of course, you will still have to maintain
a database of the numbers that have already been used, but these numbers
are not a real security risk, because an attacker cannot use any numbers
on this list.

So, instead of using a database of valid numbers, it seems much
safer to use a crypto decision procedure (based on some keys) plus
a database of the numbers that have already been used.

Ernst Lippe



Relevant Pages

  • Re: Key attributes with list values was Re: What are the differences ...KEY
    ... Jane Harper is married. ... And a constraint that states that single people cannot become divorced. ... database, or users, for that matter, to distinguish between them. ... That's the whole point of keys. ...
    (comp.databases.theory)
  • Re: Pin generation algorithm question
    ... the keys would be a big ... Suppose that we have a database that contains all valid numbers, ... load among several servers that all need access to this database. ... So the only real problem is which systems are accessing this crypto box. ...
    (sci.crypt)
  • Re: Database design, Keys and some other things
    ... >> Or 'the database has no opinion as what Donald Trump's e-mail address might ... some keys can be wrong or a data can ... Meaning is not related to just one number. ... > is concerned a VIN is not a surrogate key, ...
    (comp.databases.theory)
  • Re: Key attributes with list values was Re: What are the differences ...KEY
    ... database, or users, for that matter, to distinguish between them. ... That's the whole point of keys. ... But that is true of any constraint. ... keys can change, then either updates must be singular, that is, must affect ...
    (comp.databases.theory)
  • Re: Pin generation algorithm question
    ... > You have to secure a number of keys in this instance, ... > tokens in the database with a secret key cipher, or better a keyed hash, and ... Assume that an attacker can monitor requests and observe the ...
    (sci.crypt)

Loading