Ring learning with errors key exchange: Difference between revisions

Content deleted Content added
Jinbolin (talk | contribs)
m changed link
Jinbolin (talk | contribs)
No edit summary
Line 50:
## If v<sub>j</sub> = (q-1)/4, draw a random bit (b). If b = 0 then v<sub>j</sub> = (q-1)/4 otherwise v<sub>j</sub> = (q+3)/4
# Two n-long bit streams, cj, and uj, are formed from the coefficients of v(x), (v<sub>n-1</sub>, ... , v<sub>0</sub> ), via "Cross Rounding" and "Modular Rounding" respectively. For j = 0 to n-1:
## Set c<sub>j</sub> to be the lowest bit of the [[Floor and ceiling functions|floor]] of quotient (4v<sub>j</sub>)/q after [[nearest integer function|rounding;]] that is <math display="inline">c_j = \lfloor 4 v_j/q \rceilrfloor\mod 2</math>
## Set uju<sub>j</sub> to be the lowest bit of the [[Floor and ceiling functions|floor]] of the quotient (2v<sub>j</sub>)/q after [[Nearest integer function|rounding]]; that is <math>u_j = \lfloor 2v_j\rfloorrceil\mod 2</math>
#Form the key (k) as the concatenation of u<sub>n-1</sub>, ..., u<sub>0</sub>.
# Form an n-long "reconciliation" bit string (c) as the concatenation of c<sub>n-1</sub>, ..., c<sub>0</sub>.