Benaloh cryptosystem: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Etamatic123
m References: link to german version
 
en>Addbot
m Bot: Migrating 1 interwiki links, now provided by Wikidata on d:q816670
Line 1: Line 1:
The [http://formalarmour.com/index.php?do=/profile-26947/info/ accurate psychic predictions] person who wrote the article is called Jayson Hirano and he completely digs that name. Since he was 18 he's been working as an info officer but he ideas on changing it. clairvoyance ([http://www.khuplaza.com/dent/14869889 www.khuplaza.com]) What me and my family members love is to climb but I'm thinking on beginning some thing new. For a whilst I've been in Alaska but I will have to transfer in a yr or two.<br><br>Feel free to visit my webpage ... free tarot readings ([http://www.youronlinepublishers.com/authWiki/AdolphvhBladenqq Highly recommended Online site])
Note: this is not to be confused with the [[Naccache–Stern knapsack cryptosystem]].
 
The '''Naccache–Stern cryptosystem''' is a [[Homomorphic encryption|homomorphic]] [[public-key cryptosystem]] whose security rests on the [[higher residuosity problem]]. The Naccache–Stern cryptosystem was discovered by [[David Naccache]] and [[Jacques Stern]] in 1998.
 
==Scheme Definition==
 
Like many [[Public key cryptography|public key cryptosystems]], this scheme works in the group <math>(\mathbb{Z}/n\mathbb{Z})^*</math> where ''n'' is a product of two large [[Prime number|primes]]. This scheme is [[Homomorphic encryption|homomorphic]] and hence [[Malleability (cryptography)|malleable]].
 
===Key Generation===
 
*Pick a family of ''k'' small distinct [[Prime number|primes]] ''p''<sub>1</sub>,...,''p''<sub>k</sub>.
*Divide the set in half and set <math>u = \prod_{i=1}^{k/2} p_i</math> and <math>v = \prod_{k/2+1}^k p_i</math>.
*Set <math>\sigma = uv = \prod_{i=1}^k p_i</math>
*Choose large primes ''a'' and ''b'' such that both ''p'' = 2''au''+1 and ''q''=2''bv''+1 are prime.
*Set ''n''=''pq''.
*Choose a random ''g'' mod ''n'' such that ''g'' has order φ(''n'')/4.
 
The public key is the numbers σ,''n'',''g'' and the private key is the pair ''p'',''q''.
 
When ''k''=1 this is essentially the [[Benaloh cryptosystem]].
 
===Message Encryption===
This system allows encryption of a message ''m'' in the group <math>\mathbb{Z}/\sigma\mathbb{Z}</math>.
 
*Pick a random <math>x \in \mathbb{Z}/n\mathbb{Z}</math>.
*Calculate <math>E(m) = x^\sigma g^m \mod n</math>
 
Then ''E(m)'' is an encryption of the message ''m''.
 
===Message Decryption===
 
To decrypt, we first find ''m'' mod ''p''<sub>''i''</sub> for each ''i'', and then we apply the [[Chinese remainder theorem]] to calculate ''m'' mod <math>\sigma</math>.
 
Given a ciphertext ''c'', to decrypt, we calculate
 
*<math>c_i \equiv c^{\phi(n)/p_i} \mod n</math>.  Thus
:<math> \begin{matrix} c^{\phi(n)/p_i} &\equiv& x^{\sigma \phi(n)/p_i} g^{m\phi(n)/p_i} \mod n\\ &\equiv& g^{(m_i + y_ip_i)\phi(n)/p_i} \mod n \\ &\equiv& g^{m_i\phi(n)/p_i} \mod n \end{matrix}</math>
where <math>m_i \equiv m \mod p_i</math>.
*Since ''p''<sub>''i''</sub> is chosen to be small, ''m''<sub>''i''</sub> can be recovered be exhaustive search, i.e. by comparing <math>c_i</math> to <math>g^{j\phi(n)/p_i}</math> for ''j'' from 1 to ''p''<sub>''i''</sub>-1.
*Once ''m''<sub>''i''</sub> is known for each ''i'', ''m'' can be recovered by a direct application of the Chinese remainder theorem.
 
==Security==
The [[semantic security]] of the Naccache–Stern cryptosystem rests on an extension of the [[quadratic residuosity problem]] known as the [[higher residuosity problem]].
 
==References==
[http://citeseer.ist.psu.edu/naccache98new.html Original paper]
{{Cryptography navbox | public-key}}
 
{{DEFAULTSORT:Naccache-Stern cryptosystem}}
[[Category:Public-key encryption schemes]]

Revision as of 23:30, 15 March 2013

Note: this is not to be confused with the Naccache–Stern knapsack cryptosystem.

The Naccache–Stern cryptosystem is a homomorphic public-key cryptosystem whose security rests on the higher residuosity problem. The Naccache–Stern cryptosystem was discovered by David Naccache and Jacques Stern in 1998.

Scheme Definition

Like many public key cryptosystems, this scheme works in the group (/n)* where n is a product of two large primes. This scheme is homomorphic and hence malleable.

Key Generation

  • Pick a family of k small distinct primes p1,...,pk.
  • Divide the set in half and set u=i=1k/2pi and v=k/2+1kpi.
  • Set σ=uv=i=1kpi
  • Choose large primes a and b such that both p = 2au+1 and q=2bv+1 are prime.
  • Set n=pq.
  • Choose a random g mod n such that g has order φ(n)/4.

The public key is the numbers σ,n,g and the private key is the pair p,q.

When k=1 this is essentially the Benaloh cryptosystem.

Message Encryption

This system allows encryption of a message m in the group /σ.

Then E(m) is an encryption of the message m.

Message Decryption

To decrypt, we first find m mod pi for each i, and then we apply the Chinese remainder theorem to calculate m mod σ.

Given a ciphertext c, to decrypt, we calculate

cϕ(n)/pixσϕ(n)/pigmϕ(n)/pimodng(mi+yipi)ϕ(n)/pimodngmiϕ(n)/pimodn

where mimmodpi.

  • Since pi is chosen to be small, mi can be recovered be exhaustive search, i.e. by comparing ci to gjϕ(n)/pi for j from 1 to pi-1.
  • Once mi is known for each i, m can be recovered by a direct application of the Chinese remainder theorem.

Security

The semantic security of the Naccache–Stern cryptosystem rests on an extension of the quadratic residuosity problem known as the higher residuosity problem.

References

Original paper Template:Cryptography navbox