1.一种基于R‑LWE的公钥加密方法,其特征在于,包括以下步骤:随机生成参与方所需的公共参数和私密参数;
各参与方根据所述公共参数和所述私密参数生成密钥;
根据所述密钥设计CCA安全的加密方案和解密方案;
其中,所述密钥包括公钥和私钥,所述各参与方根据所述公共参数生成密钥,包括:n
输入所述公共参数,所述公共参数包括1 和既约多项式 n为所述既约多项式f(x)的阶;
各参与方选择噪声e1∈Rq且e1的每个系数均服从高斯分布 Rq为整数多项式环;
随机选取环元素t,t∈Rq;
随机取环元素u、s,u,s∈Rq,满足s的每个系数 根据y=ts+2e1计算y,e1为噪声;
根据公式生PK=(t,y,u)成公钥PK并发布,根据公式SK=(s)生成私钥SK并保密;
根据所述密钥完成CCA安全的公钥加密方案的设计,包括:发送方输入公钥PK和待加密信息m,其中,n
采用一次签名密钥生成算法OT_Gen(1 ),输出签名密钥sk: 和验证密钥vk:其中,h为通用哈希函数, 为整数矩阵;
随机选取r,e2,e3,e4∈Rq,随机选取 计算c1、c2、c3和c4,其中,c1=t·r+
2e2、c2=MSB(y·r+2e3), 令c=(c1,c2,c3,c4);
n
计算密文哈希值ω,ω=h(c|w)∈{0,1},并对所述密文哈希值ω进行一次签名生成数字签名σ,其中,输出密文C=(vk,c,σ);
规约时令。
2.根据权利要求1所述的基于R‑LWE的公钥加密方法,其特征在于,根据所述密钥设计CCA安全的解密方案,包括:输入所述私钥sk和c,其中,c=(c1,c2,c3,c4);
计算[c1·s]q,并提取所述[c1·s]q每个系数最高位比特依次比较向量c2和 每个分量,如果第i个分量不同,把[c1·s]q的第i个系数减去q,修* *改后的[c1·s]q记作[c1·s]q ,依次提取所述[c1·s]q的每个系数低位比特bl=LSB([c1·*s]q);
* *
输出 和明文M=c4‑uw ;
*
计算哈希值ω=H(c|w)∈{0,1}n,进行一次签名验证,如果满足*
则密文完整,输出明文M,否则,拒绝。
3.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1或2所述的基于R‑LWE的公钥加密方法。
4.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1或2所述的基于R‑LWE的公钥加密方法。