In this blog I'll publish some of my algorithmic work, along with some description of it use, motives and related implements issues. Altough my mother language is Spanish, I'll write most of this blog entrances in English, in order to make it more accesible to other non Spanish speak people.
My first entry is a gift for those who believe in trust and integrity in bussines and a kick in the balls for those who believe in lying and explotation.
This entry contains the algorithm that produce the "secret" card code and serial of each of the DTV pre-paid system in Venezuela. Altough it may seem a security breach, this code is useless for generating fakes cards codes, because it simply work with the current time as the seed for the random generator, among others security tricks that I place in the system (pretty basic... if the code was not generated by the server, it is useless).
The card generator uses the famous Mersenne-Twister (MT) pseudorandom generator, designed for high speed and high reliability (long period, equidistribution over a 623-dimensional space). Even whe is "posible" to guess the sequence of random integers genereted by the algorithm after 624 generations, this code is not affected by that, simply because every 624 random integer generation, it is reseted. Nevertheless, this behavior may affect the performance of the code generations, because everytime the generator is reseted, it needs a "warming time" before getting able of produce decent random integers.
PS: @DTV: Do you really believe that an IBM cryptographic card was used to generate the codes? These NR guys were lying all the time!
Link to the code:
http://www.filehosting.org/
Another option to prevent reproducing the sequence from 624 generations is to hash the outputs, that way it is a bit slower but safer.
ResponderEliminarYeap, it is a choice. Thanks for the comment Master JB :D
ResponderEliminar