Английская Википедия:CEILIDH

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:About

CEILIDH is a public key cryptosystem based on the discrete logarithm problem in algebraic torus. This idea was first introduced by Alice Silverberg and Karl Rubin in 2003; Silverberg named CEILIDH after her cat.[1][2] The main advantage of the system is the reduced size of the keys for the same security over basic schemes.Шаблон:Which

Algorithms

Parameters

  • Let <math>q</math> be a prime power.
  • An integer <math>n</math> is chosen such that :
    • The torus <math>T_n</math> has an explicit rational parametrization.
    • <math>\Phi_n(q)</math> is divisible by a big prime <math>l</math> where <math>\Phi_n</math> is the <math>n^{th}</math> Cyclotomic polynomial.
  • Let <math>m=\phi(n)</math> where <math>\phi</math> is the Euler function.
  • Let <math>\rho : T_n(\mathbb{F}_q) \rightarrow {\mathbb{F}_q}^m</math> a birational map and its inverse <math>\psi</math>.
  • Choose <math>\alpha \in T_n</math> of order <math>l</math> and let <math>g=\rho(\alpha)</math>.

Key agreement scheme

This Scheme is based on the Diffie-Hellman key agreement.

  • Alice chooses a random number <math>a\ \pmod{\Phi_n(q)}</math>.
  • She computes <math>P_A= \rho(\psi(g)^a) \in \mathbb{F}_q^m</math> and sends it to Bob.
  • Bob chooses a random number <math>b\ \pmod{\Phi_n(q)}</math>.
  • He computes <math>P_B= \rho(\psi(g)^b) \in \mathbb{F}_q^m</math> and sends it to Alice.
  • Alice computes <math>\rho(\psi(P_B))^a) \in \mathbb{F}_q^m</math>
  • Bob computes <math>\rho(\psi(P_A))^b) \in \mathbb{F}_q^m</math>

<math>\psi \circ \rho</math> is the identity, thus we have : <math>\rho(\psi(P_B))^a) = \rho(\psi(P_A))^b) = \rho(\psi(g)^{ab}) </math> which is the shared secret of Alice and Bob.

Encryption scheme

This scheme is based on the ElGamal encryption.

  • Key Generation
    • Alice chooses a random number <math>a\ \pmod{ \Phi_n(q)}</math> as her private key.
    • The resulting public key is <math>P_A= \rho(\psi(g)^a) \in \mathbb{F}_q^m</math>.
  • Encryption
    • The message <math>M</math> is an element of <math>\mathbb{F}_q^m</math>.
    • Bob chooses a random integer <math>k</math> in the range <math>1\leq k \leq l-1</math>.
    • Bob computes <math>\gamma = \rho(\psi(g)^k) \in \mathbb{F}_q^m</math> and <math>\delta = \rho(\psi(M)\psi(P_A)^k) \in \mathbb{F}_q^m</math>.
    • Bob sends the ciphertext <math>(\gamma,\delta)</math> to Alice.
  • Decryption
    • Alice computes <math>M = \rho(\psi(\delta)\psi(\gamma)^{-a})</math>.

Security

The CEILIDH scheme is based on the ElGamal scheme and thus has similar security properties.

If the computational Diffie-Hellman assumption holds the underlying cyclic group <math>G</math>, then the encryption function is one-way.[3] If the decisional Diffie-Hellman assumption (DDH) holds in <math>G</math>, then CEILIDH achieves semantic security.[3] Semantic security is not implied by the computational Diffie-Hellman assumption alone.[4] See decisional Diffie-Hellman assumption for a discussion of groups where the assumption is believed to hold.

CEILIDH encryption is unconditionally malleable, and therefore is not secure under chosen ciphertext attack. For example, given an encryption <math>(c_1, c_2)</math> of some (possibly unknown) message <math>m</math>, one can easily construct a valid encryption <math>(c_1, 2 c_2)</math> of the message <math>2m</math>.

References

External links

Шаблон:Cryptography navbox