Misplaced Pages

Cohen's cryptosystem

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.
Find sources: "Cohen's cryptosystem" – news · newspapers · books · scholar · JSTOR (June 2010)

Cohen's cryptosystem is a public-key cryptosystem proposed in 1998 by Bram Cohen.

Key generation

In Cohen's cryptosystem, a private key is a positive integer p {\displaystyle p} .

The algorithm uses k {\displaystyle k} public-keys w 0 , , w k 1 {\displaystyle w_{0},\ldots ,w_{k-1}} defined as follows:

Generate k {\displaystyle k} random integers u 0 , , u k 1 {\displaystyle u_{0},\ldots ,u_{k-1}} chosen randomly and uniformly between B {\displaystyle -B} and B {\displaystyle B} . Where B {\displaystyle B} is some bound.

Let A = p 2 k {\displaystyle A=\lfloor {\frac {p}{2k}}\rfloor } and generate k {\displaystyle k} random integers v 0 , , v k 1 {\displaystyle v_{0},\ldots ,v_{k-1}} chosen randomly and uniformly between 0 {\displaystyle 0} and A {\displaystyle A} .

Define w i = ( u i p + v i ) {\displaystyle w_{i}=(u_{i}p+v_{i})} .

Encrypting a bit

To encrypt a bit m {\displaystyle m} Alice randomly adds k 2 {\displaystyle {\frac {k}{2}}} public keys and multiplies the result by either 1 (if she wishes to send a 0) or by −1 (if she wishes to send a 1) to obtain the ciphertext c = ( 1 ) m w i {\displaystyle c=(-1)^{m}\sum w_{i}} .

De-cryption

To de-crypt, Bob computes h = c mod p = ( 1 ) m v i {\displaystyle h=c\mod p=(-1)^{m}\sum v_{i}}

It is easy to see that if m = 0 {\displaystyle m=0} then 0 < h < p / 2 {\displaystyle 0<h<p/2} . However, if m = 1 {\displaystyle m=1} then p > h > p / 2 {\displaystyle p>h>p/2} . Hence Bob can read the bit sent by Alice on the most significant bit of h.

References

  1. Bram Cohen. "Simple Public Key Encryption". Archived from the original on October 7, 2011.
Category: