# A PEKS-Based NDN Strategy for Name Privacy
## 3 Fundamentals of PEKS-Based NDN
### Framework of PEKS-Based NDN  
The purpose of using PEKS in our work is only to check names with tables inside NFD. So, the encryption part \(E_{A_{pub}}[msg]\) which is shown in Equation (1), is not used. For this reason, we are able to reduce PEKS ciphertext creation time. In NDN, names are composed of several components \(N_{j}\), i.e., name has a form of \(/N_{1}/N_{2}/\)... \(/N_{k}\). The framework of PEKS-based NDN is shown in Figure 6.  
Figure 5: Thread model to PEKS-based NDN.  
Figure 6: PEKS-based NDN network.  
A producer owns a table in which each trapdoor is mapped to a plaintext name of the data content name. At first, a producer creates a trapdoor for its own prefix and disseminates it to the network. Routers in the network store the producer's prefix trapdoor and also register this trapdoor together with the ingress interface to FIB. A consumer then generates PEKS for each name component for the interest packet and producer generates trapdoors. When a router receives an interest packet, it uses Test (\(P_{pub}\), \(C_{j}\), \(T_{N_{j}}\)) to match the PEKS values and trapdoors of each name component \(N_{j}\), where, \(P_{pub}\) is producer's public key, \(C_{j}\) is PEKS(\(P_{pub}\),\(N_{j}\)) and \(T_{N_{j}}\) is the trapdoor of \(N_{j}\). The black arrow in the figure shows the test process inside a node. The gray arrow in the figure shows the process of CS lookup if the result of the test is an exact match. The router replies the data packet to the consumer if the data exists in CS. If the result of the test becomes longest match, the router queries to nexthop information by using the matched trapdoor in the FIB. Using the information received from FIB, the router forwards to nearby. When the packet arrives at the producer, it also uses Test (\(P_{pub}\), C, \(T_{N_{j}}\)). When the exact matching is found, the producer creates a data packet and replies to the consumer.  
In this work, we assume that trapdoor is securely disseminated to NFDs and securely stored at routers. We also assume that producers, consumers, and routers are connected through normal NDN network. The format of Interest packets' name generated by a consumer will become as shown in (2) and The format of interest packets' name generated by a producer to disseminate the trapdoors is shown in (3).  
\[/\mathit{peks\_strategy}/C_{1}/...../C_{k} \tag{2}\]  
where, each \(C_{k}\) is PEKS ciphertext transformed from each name component \(N_{k}\) by using PEKS(\(P_{pub}\), \(N_{k}\)) algorithm, and \(P_{pub}\) is the public key of the producer.  
\[/\mathit{peks\_strategy}/\mathit{Tw}/T_{N_{1}}/...../T_{N_{k}} \tag{3}\]  
where, \"\(\mathit{Tw}\)\" is used to inform NFDs that the interest packet contains a name in the form of trapdoors, \(T_{N_{k}}\) is the trapdoor of each name component \(N_{k}\) generated by the producer using Trapdoor (\(P_{priv}\), \(N_{k}\)), and \(P_{priv}\) is the private key of the producer. The purpose of using \"/peks_strategy\" in both (2) and (3) is that our newly developed strategy named \"PEKS_Strategy\" should be triggered by NDFs to forward the packets.