From one-time codes to dynamic codes
One-time codes are codes that can only be used once to open the safe. The advantage is that for each opening, the code first has to be requested from a higher office (usually the headquarters) of the organization. This creates a recorded chain of evidence that always becomes important when something is missing in the safe. This event logging takes place at a point that lies outside the sphere of influence of the acting person. This fact makes manipulation almost impossible. One-time codes are very often used on vault doors that have to be opened by cash collectors (e.g. ATMs) with personnel changing frequently.
There has been an evolution on one-time codes:
list of random codes
The simplest type is a list of random codes stored in the lock, which then is gradually processed. If a code has been used, it will be deleted from the list. When all codes have been used up, a new list must be loaded into the lock.
The latter step can be saved if you store a mathematical formula (algorithm) in the lock instead of a list. With the help of this algorithm a new code is generated again and again. The next valid code can be determined on a computer at the headquarters using the same formula. However, this advantage is bought by a problem: the computer in the control center and the individual locks have to be synchronous otherwise nothing works. It is obvious: In the control center, information is required as to whether a code was actually used. Otherwise the computer will only produce codes that do not work.
In the one-time code lock that is still the most frequently used at present, the problem is solved with a so-called closing code. The closing code is read after the lock is closed again and must be passed on to the head office. This is exactly where the spirits differ. Because this procedure requires quite an administrative effort.
So other monufacturers started looking for another solution and found the rolling code. The difference to the previous systems is that a new code is not calculated for each opening or closing, but, depending on the date and time, the code changes continuously. And regardless of whether the code is used or not. In this way, the currently valid code can always be read from the computer. In addition, the control center now can calculate the valid code for any given date and time in the future. This enables a multitude of other possible uses of one-time codes, beyond those already mentioned. Nevertheless, there is of course a catch here: The length of the period of validity is not variable. Once set on the lock, the code changes every X minutes. If you’re unlucky, it changes while you’re working on the safe.
And that’s how we got to dynamic codes. The dynamic code is a hybrid of the previously mentioned systems. The code contains information about how long it should be valid. The date and time are included, but the lock does not change the code continuously. Rather, the lock checks when entering the code whether all factors: coding, date, time, period of validity etc. allow opening at this time. This is certainly the most complex algorithm. However, this variant of one-time codes finally allows full flexibility without the disadvantages of the other methods.
Dynamic codes are available in TechMaster and MiniTech locks and became recently one of the most requested features.