﻿ n-Count technology explained | TransaXiom - Reinventing payment
I thought that after two years, I knew replica handbags that Beatrice was a small gucci replica handbag in Pierre's many hermes replica handbags . I didn't expect it to be handbag replica positive result. Beatrice transformed this "night club little prince" into a happy replica handbags .

## n‐Count Technology

Within an n‐Count based payment system, the payment device (which can be a card, secure element in an NFC handset or SIM), hereafter referred to as “card,” is organized in batches, where each batch has an identifier k. In any one batch, cards have the same secret key, denoted by Ck. In a payment transaction the card gives its batch identity to the terminal and the terminal selects a pre‐computed transaction “nCounter” suitable for that particular payment.

### n‐Counters

In order to make the reception of electronic value by the terminal possible, the terminal must be loaded with n‐Counters that are pre‐computed by the eMoney issuer as specified by the merchant. Each n‐Counter has a number of parameters, i.e. its unit value (u), its size (N), the identifier of the cards that can use it (card batch identifier k) and the identifier of the merchant terminal that it belongs to (TID). Furthermore each particular Counter has a unique identifier called Chain ID (CID). The merchant determines how many and what kind of n‐Counters (e.g. unit value of €1 or size of 50) it needs and the eMoney issuer performs the precomputation and sends the requested n‐Counters. The eMoney Issuer stores the parameters of all the n‐Counters created. The terminal stores the parameters of the n‐Counters that it possesses. The card does not store n‐Counter parameters; it only stores the card batch identifier (k) and the secret key (Ck).
At the core of an n‐Counter is a chain of cryptographic numbers: x = {x0 , x1 , x2 , …, xN }, where N is the length of the chain. The n‐Counter has a current value, the cryptographic number xn. Initially the n‐Counter value is xN that represents zero funds. When the n‐Counter current value is x0 the n‐Counter is said to be full with maximum funds and can no longer be used and a new one needs to be downloaded from the eMoney issuer.
The start of the chain i.e. x0 is calculated by performing a keyed one‐way function G on the n‐Counter parameters using the secret card key Ck. A second cryptographic one‐way function F, known by all parties, is used to calculate the rest of the chain. The computation of the keyed one‐way function G can only be done by the eMoney issuer or by the card.

### Payment protocol

The payment is performed between a card and a terminal with the pre‐computed input of the eMoney issuer who is also responsible for the issuance of the card and its stored value. The value transfer between the card and the terminal is as follows:

Later on the terminal asks for clearing and settlement by presenting the current n‐Counter value to the eMoney issuer.

### Cryptography

The eMoney issuer and the card possess the secret card key so only they can compute x0. Furthermore x1=F(x0), x2=F(x1) and generally xn=F(xn-1), where F is a suitable cryptographic one‐way function and 0≤n≤N. So the numbers in the chain are obtained by iterating F.

Suppose given xn we would like to calculate its predecessor xn-1. Since F is a one‐way function, it is computationally infeasible to find xn-1 from xn. The only efficient way is to start from x0 and by iterating F on x0 obtain xn-1. Only the card and the eMoney issuer can do this computation.

Assume the terminal possesses a number xn in the chain and asks a payment of m units from the card. For this the card needs to provide the terminal with the m‐th predecessor (i.e. xn-m) of the given number xn. The terminal cannot calculate this number, because it does not know x0 and cannot calculate pre‐images of the one‐way function F. However, the card is able to compute a predecessor, since it can calculate x0. On the other hand when the terminal receives xn-m it can check whether it is really the m‐th predecessor of xn by iterating the function F m times on it.