## 3 Method
### Payment Verification and Browsing Phase
#### 3.6.2 Case 2: Proxy Authorization  
After payment, the bank must sign and issue the payment certificate to the Licensee. The Licensee submits the payment certificate to the Proxy, and the Proxy transfers it to the Content Administrator for verification. The CA then authenticates the Licensee's identity and bank payment certificate. After that, the CA generates the authorized key, making time-sensitive tokens. After authorization, the Licensee's application (reader or player) can use the authorized key to automatically decrypt the symmetry key. The APP can browse digital content normally. We present the flowchart of the payment verification and browsing phase (L to P) in Figure 12, the flowchart of the payment verification and browsing phase (P to CA) in Figure 13, the flowchart of the payment verification and browsing phase (CA to P) in Figure 14, and the flowchart of the payment verification and browsing phase (P to L) in Figure 15.  
* Step 1: The Licensee generates a random value \(k_{L-P}\), calculates: \[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\] (110) \[(x_{L-P},y_{L-P}) =k_{L-P}G,\] (111) \[r_{L-P}=x_{L-P}\text{mod}n,\] (112) \[s_{L-P}=k_{L-P}{}^{-1}(z_{L-P}+r_{L-P}d_{L})\text{mod}n,\] (113)\[Enc_{L-P}=E_{PK_{P}}(ID_{L},M_{L-P},Cert_{L},TID,Cert_{pay},TS_{L-P},ID_{BC}), \tag{114}\]  
and sends \(ID_{L},Enc_{L-P},(r_{L-P},s_{L-P})\) to the proxy. * Step 2: The Proxy first calculates: \[(ID_{L},M_{L-P},Cert_{L},TID,Cert_{pay},TS_{L-P},ID_{BC})=D_{SK_{P}}(Enc_{L-P}),\] (115) uses \[TS_{NOW}-TS_{L-P}\leq\Delta T\] (116) to confirm whether the timestamp is valid, verifies \(Cert_{L}\) with \(PK_{L}\) and \(Cert_{pay}\) with \(PK_{BANK}\), verifies the correctness of the ECDSA signature, and then calculates: \[z_{L-P}{}^{\prime}=h(ID_{L},M_{L-P},Cert_{L},TID,Cert_{pay},TS_{L-P},ID_{BC}),\] (117) \[u_{L-P1}=z_{L-P}{}^{\prime}s_{L-P}{}^{-1}\text{mod}n,\] (118) \[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\]0 (119) \[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\]1 (120) \[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\]2 (121)  
**Licenseee (L)** **Proxy (P)**  
Choose a random number \(k_{L-P}\)  
\(z_{L-P}=h(ID_{L},M_{L-P},Cert_{L},TID,Cert_{pay},TS_{L-P},ID_{BC})\)  
\((x_{L-P},y_{L-P})=k_{L-P}G\)  
\(r_{L-P}=x_{L-P}\,\text{mod}\,n\)  
\(s_{L-P}=k_{L-P}{}^{-1}(z_{L-P}+r_{L-P}d_{L})\,\text{mod}\,n\)  
\(Enc_{L-P}=E_{PK_{P}}(ID_{L},M_{L-P},Cert_{L},TID,Cert_{pay},TS_{L-P},ID_{BC})\)  
\(ID_{L},Enc_{L-P},(r_{L-P},s_{L-P})\)  
\((ID_{L},M_{L-P},Cert_{L},TID,Cert_{pay},TS_{L-P},ID_{BC})=D_{SK_{P}}(Enc_{L-P})\)  
\((x_{L-P},y_{L-P}{}^{\prime})=u_{L-P1}G+u_{L-P2}Q_{L}\)  
\((x_{L-P},y_{L-P}{}^{\prime})=r_{L-P}{}^{\prime}\,\text{mod}\,n\)  
\((x_{L-P},y_{L-P}{}^{\prime})=r_{L-P}{}^{\prime}\,\text{mod}\,n\)  
\((y_{L-P},y_{L-P}{}^{\prime})=u_{L-P1}G+u_{L-P2}Q_{L}\)  
\((x_{L-P},y_{L-P}{}^{\prime})=r_{L-P}{}^{\prime}\,\text{mod}\,n\)  
\(\text{If valid, call smart contract lpins and lpchk}\)  
\(BC_{L-P}=h(r_{L-P},s_{L-P})\)  
\((ID_{BC},BC_{L-P})\)  
\[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\]3 Payment verification and browsing phase (L to P). \[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\]4 Payment verification and browsing phase (CA to P). \[z_{L-P}=h(ID_{L},M_{L-P},ert_{L},TID,ert_{pay},TS_{L-P},ID_{BC}),\]5 Payment verification and browsing phase (P to CA). If the verification is passed, the proxy will get the relevant payment information and trigger the smart contracts lpins and lpchk. The content is as follows (Scheme 11): \begin{tabular}{|p{113.8 pt}|} \hline function insert smart contract lpins( \\ string lp\_id, string lp\_detail, string lp\_payment, string lp\_tsp) \{ \\ count ++; \\ lp[count].id = id; \\ lp[count].detail = detail; \\ lp[count].payment = payment; \\ lp[count].tsp = tsp; \\ \} \\ sign string l\_key (lp\_id, lp\_detail, lp\_payment, lp\_tsp); \\ \hline \end{tabular}