Skip to main content

\(\mathsf {HIKE}\): Walking the Privacy Trail

  • Conference paper
  • First Online:
Book cover Cryptology and Network Security (CANS 2018)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 11124))

Included in the following conference series:

Abstract

We consider the problem of privacy-preserving processing of outsourced data in the context of user-customised services. Clients store their data on a server. In order to provide user-dependent services, service providers may ask the server to compute functions on the users’ data. We propose a new solution to this problem that guarantees data privacy (i.e., an honest-but-curious server cannot access plaintexts), as well as that service providers can correctly decrypt only –functions on– the data the user gave them access to (i.e., service providers learn nothing more than the result of user-selected computations).

Our solution has as base point a new secure labelled homomorphic encryption scheme (\(\mathsf {LEEG}\)). \(\mathsf {LEEG}\) supports additional algorithms (\(\mathsf {FEET}\)) that enhance the scheme’s functionalities with extra privacy-oriented features. Equipped with \(\mathsf {LEEG}\) and \(\mathsf {FEET}\), we define \(\mathsf {HIKE}\): a lightweight protocol for private and secure storage, computation and disclosure of users’ data. Finally, we implement \(\mathsf {HIKE}\) and benchmark its performances demonstrating its succinctness and efficiency.

This work was partially supported by the Swedish Research Council (Vetenskapsrådet) through the grants PolUser (2015-04154) and PRECIS (621-2014-4845).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The only academic works we found related to the GDPR are [5, 20], where the focus is on technical and implementation requirements. We could not find any work attempting to formalise and analyse the GDPR requirements in cryptographic terms.

  2. 2.

    In the original definition of Labelled Homomorphic Encryption [2], the \(\mathsf {KeyGen}\) algorithm additionally outputs a public evaluation key. Since in our case this key is empty, we decided to skip it and have more succinct algorithm descriptions.

  3. 3.

    Indeed, even provided an oracle access to an efficient solver of the discrete logarithm problem, the only information the adversary would retrieve from the challenge cipher-text is a random message \({m}' = {m}_b+r \cdot sk\). This is possible because, differently from El Gamal ciphertexts, \(\mathsf {LEEG}\) ciphertexts have a single component that combines message and randomness.

  4. 4.

    This assumption removes the theoretical need for the definition of forgettability in our security model. We include it for completeness.

  5. 5.

    More precisely, if the server is honest-but-curious except with \(\mathtt {forget}\) requests.

References

  1. Akinyele, J.A., et al.: Charm: a framework for rapidly prototyping cryptosystems. J. Cryptogr. Eng. 3(2), 111–128 (2013)

    Article  Google Scholar 

  2. Barbosa, M., Catalano, D., Fiore, D.: Labeled homomorphic encryption. In: Foley, S.N., Gollmann, D., Snekkenes, E. (eds.) ESORICS 2017. LNCS, vol. 10492, pp. 146–166. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66402-6_10

    Chapter  Google Scholar 

  3. Brakerski, Z., Vaikuntanathan, V.: Efficient fully homomorphic encryption from (standard) LWE. SIAM J. Comput. 43(2), 831–871 (2014)

    Article  MathSciNet  Google Scholar 

  4. Canetti, R., Raghuraman, S., Richelson, S., Vaikuntanathan, V.: Chosen-ciphertext secure fully homomorphic encryption. In: Fehr, S. (ed.) PKC 2017. LNCS, vol. 10175, pp. 213–240. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54388-7_8

    Chapter  Google Scholar 

  5. Connolly, A.: Freedom of encryption. S&P 16(1), 102–103 (2018)

    Google Scholar 

  6. Council of the European Union, European Parliament. Regulation (EU) 2016/679 (General Data Protection Regulation) (2016). https://publications.europa.eu/en/publication-detail/-/publication/3e485e15-11bd-11e6-ba9a-01aa75ed71a1/language-en. Accessed May 2018

  7. El Gamal, T.: A public key cryptosystem and a signature scheme based on discrete logarithms. In: CRYPTO, pp. 10–18 (1985)

    Google Scholar 

  8. Fiore, D., Mitrokotsa, A., Nizzardo, L., Pagnin, E.: Multi-key homomorphic authenticators. In: Cheon, J.H., Takagi, T. (eds.) ASIACRYPT 2016. LNCS, vol. 10032, pp. 499–530. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53890-6_17

    Chapter  Google Scholar 

  9. Fischer, A., Fuhry, B., Kerschbaum, F., Bodden, E.: Computation on encrypted data using data flow authentication. CoRR, abs/1710.00390 (2017)

    Google Scholar 

  10. Gennaro, R., Gentry, C., Parno, B.: Non-interactive verifiable computing: outsourcing computation to untrusted workers. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 465–482. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14623-7_25

    Chapter  Google Scholar 

  11. Gennaro, R., Wichs, D.: Fully homomorphic message authenticators. In: Sako, K., Sarkar, P. (eds.) ASIACRYPT 2013. LNCS, vol. 8270, pp. 301–320. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-42045-0_16

    Chapter  Google Scholar 

  12. Gentry, C.: Fully homomorphic encryption using ideal lattices, pp. 169–178 (2009)

    Google Scholar 

  13. Goldwasser, S., Micali, S.: Probabilistic encryption & how to play mental poker keeping secret all partial information. In: STOC, pp. 365–377. ACM (1982)

    Google Scholar 

  14. Hoffstein, J., Pipher, J., Silverman, J.H., Silverman, J.H.: An Introduction to Mathematical Cryptography, vol. 1. Springer, New York (2008). https://doi.org/10.1007/978-0-387-77993-5

    Book  MATH  Google Scholar 

  15. Katz, J., Lindell, Y.: Introduction to Modern Cryptography. CRC Press, Boca Raton (2014)

    MATH  Google Scholar 

  16. Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48(177), 203–209 (1987)

    Article  MathSciNet  Google Scholar 

  17. Montenegro, R., Tetali, P.: How long does it take to catch a wild kangaroo? In: STOC, pp. 553–560. ACM (2009)

    Google Scholar 

  18. NIST STS. Cryptographic Key Length Recommendation (2017). https://www.keylength.com/en/4/. Accessed May 2018

  19. Paillier, P.: Public-key cryptosystems based on composite degree residuosity classes. In: Stern, J. (ed.) EUROCRYPT 1999. LNCS, vol. 1592, pp. 223–238. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48910-X_16

    Chapter  Google Scholar 

  20. Panjwani, M., Jäntti, M.: Data protection & security challenges in digital & it services: a case study. In: ICCA, pp. 379–383. IEEE (2017)

    Google Scholar 

  21. Pollard, J.M.: Monte Carlo methods for index computation (mod p). Math. Comput. 32(143), 918–924 (1978)

    MathSciNet  MATH  Google Scholar 

  22. Pollard, J.M.: Kangaroos, monopoly and discrete logarithms. J. Cryptol. 13(4), 437–447 (2000)

    Article  MathSciNet  Google Scholar 

  23. Rivest, R.L., Adleman, L., Dertouzos, M.L.: On data banks and privacy homomorphisms. In: Foundations of Secure Computation. Academia Press, Orlando (1978)

    Google Scholar 

  24. Smart, N.P., Vercauteren, F.: Fully homomorphic encryption with relatively small key and ciphertext sizes. In: Nguyen, P.Q., Pointcheval, D. (eds.) PKC 2010. LNCS, vol. 6056, pp. 420–443. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13013-7_25

    Chapter  MATH  Google Scholar 

  25. van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V.: Fully homomorphic encryption over the integers. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 24–43. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13190-5_2

    Chapter  Google Scholar 

Download references

Acknowledgement

We thank the anonymous reviewers for their insightful comments and Erik-Oliver Blass for kindly shepherding us during this publication.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlo Brunetta .

Editor information

Editors and Affiliations

Appendices

Appendix

A Detailed Proofs

Semantic Security of \(\mathsf {LEEG}\). We want to prove that our \(\mathsf {LEEG}\) scheme is semantically secure according to Barbosa et al.’s definition [2] (Definition 4).

Proof

Let \(Q_\mathsf{prf}(\lambda )\) be a bound on the total number of encryption queries performed by \(\mathcal {A}\) during the security experiment. Let Game 0 be the semantic security experiment in Definition 4 where, for consistency with our definition of \(\mathsf {LEEG}\), the challenger runs \(\mathsf {SetUp}(1^\lambda )\rightarrow \mathsf {pp}\) to obtain the public parameters of the scheme, then it runs \(\mathsf {KeyGen}(\mathsf {pp})\rightarrow \mathsf {sk}=(sk, \mathsf {k})\) and computes \(\mathsf {pk}= sk\cdot P\). In addition, \(\mathcal {C}\) ignores any query with label \(\ell =(Q', Q, \tau )\) where \(Q'\ne \mathsf {pk}\).

Let Game 1 be the same as Game 0 except that the challenger replaces every \( {\mathsf {PRF}} _{\mathsf {k}}(\cdot )\) instance with the evaluation of a truly random function \(\mathsf{rand}: \mathbb {G}\times \mathbb {G}\times \mathcal {T}\rightarrow [0..q-1]\). It is quite easy to see that the difference between Game 1 and Game 0 is solely in the generation of the values \(r\). Therefore the probability of \(\mathcal {A}\) winning is the same in the two games, a part from a \(Q_\mathsf{prf}(\lambda )\) factor that comes from distinguishing the PRF instance from a truly random function. Thus

$$ | \mathsf {Prob}[\mathsf {G}_0(\mathcal {A})] - \mathsf {Prob}[\mathsf {G}_1(\mathcal {A})]| \le Q_\mathsf{prf}(\lambda )\cdot \mathtt {Adv}_{\mathcal {\mathcal {A}}}^{ {\mathsf {PRF}} } (\lambda ).$$

At this point, we observe that for any given ciphertext \(\mathsf {ct}\) and label-message pair \((\ell , {m})\) there is exactly one value \(r\in [0..q-1]\) for which \(\mathsf {ct}\) is an encryption of \({m}\) for label \(\ell \). In particular, for every triple \((\mathsf {ct}, \ell , {m})\) it holds that

$$ \mathsf {Prob}[\mathsf {Enc}(\mathsf {sk}, \ell , {m})=\mathsf {ct}]= \frac{|r\in [0..q-1] : {M}+ r\cdot sk\cdot Q = \mathsf {ct}|}{|[0..q-1]|} =\frac{1}{q},$$

where the probability is taken over all the possible values \(r\leftarrow ^{\!\!\!\!\$}[0..q-1]\). Since the above probability holds also for the challenge ciphertext \(\mathsf {ct}^*\) we have that \( \mathsf {Prob}[\mathsf {Enc}(\mathsf {sk}, \ell _0, {m}_0)=\mathsf {ct}^*] = \mathsf {Prob}[\mathsf {Enc}(\mathsf {sk}, \ell _1, {m}_1)=\mathsf {ct}^*]\) (semantic security) and implies \(\mathsf {Prob}[\mathsf {G}_1(\mathcal {A})]=\frac{1}{2}.\) Therefore:

$$\begin{aligned} \mathsf {Prob}[\mathsf {G}_0(\mathcal {A})]&\le | \mathsf {Prob}[\mathsf {G}_0(\mathcal {A})] - \mathsf {Prob}[\mathsf {G}_1(\mathcal {A})] | + \mathsf {Prob}[\mathsf {G}_1(\mathcal {A})] \\&\le Q_\mathsf{prf}(\lambda )\cdot \mathtt {Adv}_{\mathcal {A}}^{ {\mathsf {PRF}} } (\lambda ) + \frac{1}{2} \end{aligned}$$

which proves the semantic security of \(\mathsf {LEEG}\), given that \(Q_\mathsf{prf}(\lambda )\) is polynomial and \(\mathtt {Adv}_{\mathcal {A}}^{ {\mathsf {PRF}} } \) is negligible (by our security assumption on the PRF family).    \(\square \)

Proof of Theorem 2. We want to prove our \(\mathsf {HIKE}\) protocol achieves token secrecy, i.e., that \(\mathtt {Adv}_{\mathsf {HIKE}, \mathcal {A}}^{\mathsf {token.sec}} (\lambda ) \le {Q_\mathsf{id}} \cdot \mathtt {Adv}_{\mathsf {LEEG}, \mathcal {A}}^{\mathsf {sem.sec}} (\lambda ) \).

Proof

We exhibit a reduction \(\mathcal {B}\) that uses \(\mathcal {A}\) to win the semantic-security experiment for the \(\mathsf {LEEG}\) scheme. The reduction works exactly as the one in the proof of Theorem 1 a part for a couple of exceptions. First, this reduction holds an additional (private) list \({L_\mathsf{rand}} \), that is empty at the beginning of the simulation. Second, \(\mathcal {B}\) behaves differently (only) in the following cases:

Encryption Queries: \(\mathcal {B}\) forwards the queries to the \(O\mathsf {Encrypt}'\) oracle, unless \(\ell =( \mathsf {pk}^\star , \mathsf {pk}, \tau )\). In case \(\ell =( \mathsf {pk}^\star , \mathsf {pk}, \tau )\), the reduction does not have the secret key for encryption and token generation. In order to simulate the encryption and be consistent with future token-generation queries, \(\mathcal {B}\) checks if \((\ell , r)\in {L_\mathsf{rand}} \) for some value \(r\in [0..q-1]\). If so, \(\mathcal {B}\) uses the existing values r to compute the ciphertext \(\mathsf {ct}=({m}\cdot P+ r\cdot \mathsf {pk})\). Otherwise, \(\mathcal {B}\) picks a random value \(r\leftarrow ^{\!\!\!\!\$}[0..q-1]\), updates \({L_\mathsf{rand}} \leftarrow {L_\mathsf{rand}} \cup (\ell , r)\), and computes \(\mathsf {ct}=({m}\cdot P+ r\cdot \mathsf {pk})\). In any case, \(\mathcal {B}\) updates the list of queried labels \({L_\mathsf{lab}}\leftarrow {L_\mathsf{lab}}\cup \ell \), and returns \(\mathsf {ct}\) to \(\mathcal {A}\). Note that \(\mathsf {ct}\) has the same distribution as the output of \(\mathsf {Enc}(\mathsf {sk}^\star , \ell , {m})\), indeed for any r chosen by the reduction there exists a value \(r'\in [0..q-1]\) such that \(r=r' \cdot sk^\star \mod q\) and thus \(\mathsf {ct}= {m}\cdot P+ r\cdot \mathsf {pk}= {m}\cdot P+ r'\cdot \mathsf {sk}^\star \cdot \mathsf {pk}\). The latter series of equalities shows that \(\mathcal {B}\)’s simulation is still perfect.

Disclose Queries: \(\mathcal {B}\) forwards to the \(O\mathsf {Disclose}\) oracle all the queries \(\mathcal {P}=(f, \ell _1\, \ldots , \ell _n)\) with \(f(x_1,\ldots , x_n)= a_0+\sum _{i\in [n]}a_ix_i\), \(\ell _i=(\mathsf {pk}, \mathsf {pk}', \tau _i)\) and \(\mathsf {pk}\ne \mathsf {pk}^\star \). Otherwise, \(\mathcal {P}\) contains labels of the form \(\ell _i=( \mathsf {pk}^\star , \mathsf {pk}', \tau _i)\). The reduction performs the same checks as the \(O\mathsf {Disclose}\) oracle, if any check fails \(\mathcal {B}\) returns \( \mathtt {error}\). In case all conditions are met, \(\mathcal {B}\) proceeds by checking if \((\ell _i,\cdot )\in {L_\mathsf{rand}} \) for all \(i\in [n]\), in which case the reduction uses the randomness stored in \({L_\mathsf{rand}} \) to compute the token \({\mathsf {tok}} =(\sum _{i\in [n]}a_ir_i )\cdot \mathsf {pk}^\star \). Otherwise, for all those labels \(\ell _j\) not present in \({L_\mathsf{rand}} \), \(\mathcal {B}\) samples a random element \(r \leftarrow ^{\!\!\!\!\$}[0..q-1]\) and updates the private list \({L_\mathsf{rand}} \leftarrow {L_\mathsf{rand}} \cup (\ell _j, r)\). At this point \((\ell _i, r_i)\in {L_\mathsf{rand}} \) for all the labels in the queried \(\mathcal {P}\) and \(\mathcal {B}\) can compute \({\mathsf {tok}} =(\sum _{i\in [n]}a_ir_i)\cdot \mathsf {pk}^\star \). In either case, \(\mathcal {B}\) updates the list of queried token-labels, i.e., \({L_\mathsf{tok}}\leftarrow {L_\mathsf{tok}}\cup (\ell _1, \ldots , \ell _n)\), and returns \({\mathsf {tok}} \) to \(\mathcal {A}\).

Let \((\ell ^*, {m}_0, {m}_1)\) be \(\mathcal {A}\)’s input to the challenge phase. If \(\ell ^*\ne (\mathsf {pk}^\star , \cdot , \cdot )\) the reduction aborts (\(\mathcal {A}\) chose to challenge a different client than the one \(\mathcal {B}\) bet on). This event happens with probability \((1-\frac{1}{Q_\mathsf{id}})\).

Otherwise \(\ell ^*=(\mathsf {pk}^\star , Q, \tau )\), \(\mathcal {B}\) updates the list of queried labels \({L_\mathsf{lab}}\leftarrow {L_\mathsf{lab}}\cup \ell ^*\) and sends \((\ell ^*, {m}_0, {m}_1)\) to its challenger \(\mathcal {C}\) for the semantic security game. Let \(\mathsf {ct}\) denote \(\mathcal {C}\)’s reply, \(\mathcal {B}\) forwards \(\mathsf {ct}\) to \(\mathcal {A}\).

In the subsequent query phase \(\mathcal {B}\) behaves as described above.

At the end of the experiment, \(\mathcal {B}\) outputs the same bit \(b^*\) returned by \(\mathcal {A}\) for the \(\mathsf {token.sec}\) experiment. Note that since \(\mathcal {A}\) is given exactly the same challenge as in the \(\mathsf {sem.sec}\) experiment, if \(\mathcal {A}\) has a non-negligible advantage in winning the \(\mathsf {token.sec}\) experiment, then \(\mathcal {B}\) has the same non-negligible advantage in breaking the semantic-security of \(\mathsf {LEEG}\), unless \(\mathcal {B}\) aborts its simulation. Therefore we conclude that:

\(\mathtt {Adv}_{\mathsf {LEEG},\mathcal {B}}^{\mathsf {sem.sec}} (\lambda ) \ge \Big (\frac{1}{Q_\mathsf{id}}\Big )\cdot \mathtt {Adv}_{\mathsf {HIKE},\mathcal {A}}^{\mathsf {token.sec}} (\lambda ).\)    \(\square \)

B Token Composability in \(\mathsf {FEET}\)

In this appendix we show token composability for two labelled programs. The general case follows immediately.

Consider two labelled programs \(\mathcal {P}_1=(f_1, \ell _1, \ldots , \ell _n) \) and \(\mathcal {P}_2=(f_2, \ell '_1, \ldots , \ell '_{n'}) \). For consistency, token composability requires that all the labels involved in \(\mathcal {P}_1\) and \(\mathcal {P}_2\) are of the form \(\ell =(sk\cdot P, Q, \tau )\) for some opportune value of \(\tau \). Without loss of generality, we can set \(f_1=a_0+\sum _{i\in [n]}a_ix_i\) and \(f_2=a_0'+\sum _{j\in [n']}a_j'x_{\sigma (j)}\) for opportune coefficients \(a_i, a'_j\in \mathcal {M}\), and an index-mapping function \(\sigma :\mathbb {N}\rightarrow \mathbb {N}\) used to model the fact that the functions may be defined on a different set of variables. Let \(I\subseteq \mathbb {N}\) be the set of indexes of common variables, formally:

$$\begin{aligned} I=\{i\in [n] such that \sigma (j)=i for some j\in [n'] \}. \end{aligned}$$
(5)

The composed labelled program \(\mathcal {P}= b_1 \mathcal {P}_1 + b_2\mathcal {P}_2\) is defined as \(\mathcal {P}=(f, \tilde{\ell }_1,\ldots , \tilde{\ell }_{\tilde{n}})\) with \(f= b_1f_1+b_2f_2\), \(f(x_1, \ldots , x_{\tilde{n}})= (b_1a_0+b_2a_0') + \sum _{i\in I} (b_1a_i + b_2a'_i) x_i + \sum _{i\in [n]\setminus I} b_1 a_i x_i + \sum _{j\in [n']\setminus \sigma (I)} b_2a'_j x_j\) for any \(b_1,b_2 \in \mathcal {M}\). We show that the combined token \({\mathsf {tok}} =b_1{\mathsf {tok}} _1+b_2{\mathsf {tok}} _2\) is a valid decryption token for the composed labelled program \(\mathcal {P}\), actually \({\mathsf {tok}} =\mathsf {TokenGen}(\mathsf {sk},\mathcal {P})\). In details:

$$\begin{aligned} {\mathsf {tok}}&= b_1{\mathsf {tok}} _1 + b_2{\mathsf {tok}} _2 \\&= sk\; \Big ( \sum _{i\in [n]}b_1a_ir_i + \sum _{j\in [n']}b_2a_j'r'_{\sigma (j)} \Big )\cdot P\\&= sk\; \Big (\sum _{i\in I} (b_1a_i + b_2a'_i)r_i + \sum _{i\in [n]\setminus I} b_1 a_ir_i + \sum _{j\in [n']\setminus \sigma (I)} b_2a'_j r'_j\Big ) \cdot P\\&= \mathsf {TokenGen}(\mathsf {sk},\mathcal {P}) \end{aligned}$$

The set I in the second last equality is the one defined in (5), that is \(\ell _i=\ell '_{i=\sigma (j)} \) for all \(i\in I\) and therefore \(r_i=r'_i= {\mathsf {PRF}} _{\mathsf {k}}(\ell _i)\). By the correctness of the \(\mathsf {TokenGen}\)-\(\mathsf {TokenDec}\) algorithms, we derive that \({\mathsf {tok}} \) is a valid decryption token for \(\mathsf {sk}_2\), \(\mathsf {ct}=\mathsf {Eval}(f, \mathsf {ct}_1,\ldots , \mathsf {ct}_{\tilde{n}})\). It is straightforward to generalise this reasoning to multiple labelled programs \(\mathcal {P}_1, \ldots \mathcal {P}_t\) as long as all the labels coincide on the first two entries.

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pagnin, E., Brunetta, C., Picazo-Sanchez, P. (2018). \(\mathsf {HIKE}\): Walking the Privacy Trail. In: Camenisch, J., Papadimitratos, P. (eds) Cryptology and Network Security. CANS 2018. Lecture Notes in Computer Science(), vol 11124. Springer, Cham. https://doi.org/10.1007/978-3-030-00434-7_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00434-7_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00433-0

  • Online ISBN: 978-3-030-00434-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics