Page 401 - 《软件学报》2026年第2期
P. 401

880                                                        软件学报  2026  年第  37  卷第  2  期


                 系映射   Map, 如公式  (2) 所示:

                                                            
                                                                   ′
                                                 m < p p ′   m < p p ′
                                                       ′
                                                
                                                             
                                                      0  3       0  3
                                                                       ⌋                              (1)
                                                         ⇒      ⌊ √
                                                   2
                                                 m < p p ′    m ⩽  p p ′
                                                
                                                       ′
                                                                     ′
                                                             
                                                       1  3          1  3

                                                
                                                 Z √  ⌋
                                                   ⌊
                                                    p ′ p ′ ×Z N 7→ ˜ G 1
                                                    1 3
                                            Map                                                      (2)
                                                     2     ′ m  ′ m 2  ′ r
                                                  (m,m ,r) 7→ (u ) (u ) (u ) mod N
                                                            1   2   3
                          p 、 p 、  ′  p  是长度均为   λ 的大素数, 因此, 可计算出膨胀因子         Cef, 见公式             ˜ G 1  中有
                           ′
                               ′
                                       ′
                    又因为    0   1  p  和   3                                              (3), 可看出群
                                   2

                                                                            ′
                 一部分空间没有得到充分利用. 下面给出详细的解释, 其中                  ˜ G 1  表示群的阶数,  |p | 表示取长度.


                                                              ′  ′  ′  ′
                                                         ˜ G 1   p p p p
                                                                0  1  2  3
                                              Cef = log     =  ⌊ √  ⌋  ≈ 4/1                      (3)
                                                     2
                                                                   ′
                                                                    ′
                                                       ⌊ √
                                                      Z   ⌋       p p
                                                                   1
                                                                    3
                                                        p ′ p ′
                                                          1 3
                      ⌊ √    ⌋                             [ ⌊ √    ⌋]
                                                                                                 ′ c
                                                                                              ′ b
                                                                                          ′ a
                                                                                    2
                                             ′
                                               ′
                                     ′
                                   ′
                          ′
                                                                 ′
                    设    p p ′ 3  ⩽ a < p p ,0 ⩽ b < p p ,c ∈ Z N , 则  ∀m ∈ 0,  p p ′  3  , r ∈ Z N , 有  Enc(m,m ,r) , (u ) (u ) (u ) mod N
                                                                 1
                                               3
                                                                                                 3
                                                                                          1
                                                                                              2
                          1
                                             1
                                     3
                                   0
                 ∈ ˜ G 1 .
                    因此, 为了使用更充足的消息空间, ODMT-BGN             算法设   |N| ≈ |N | 且  N = p 0 p 1 p 2 p 3 , 其中  p 0 、 p 1 、  p 2  和  p 3  都
                                                                      ′
                                                                           ′
                                                                                 ′
                 是大素数, 但需满足     |p 0 | : |p 1 | : |p 2 | : |p 3 | = 1 : 3 : 1 : 1 的条件, 则计算密文膨胀因子  Cef , 如公式  (4) 所示:

                                                       |p 0 p 1 p 2 p 3 |
                                                    ′                                                 (4)
                                                        √
                                                 Ce f =  ⌊  ⌋  ≈ 6/2 = 3/1

                                                         p 1 p 3
                                        2
                    由此可得, 在针对      m 和  m  的加密情况下, ODMT-BGN    算法降低了密文膨胀因子, 即扩展了消息空间, 使得
                 ODMT-BGN  算法更为安全. ODMT-BGN      算法详细描述如下.
                               λ
                    (1)  KeyGen(1 ) → (pk, s). 此算法输入安全参数  λ, 输出为公钥   mpk 1  和私钥  s = {s 1 , s 2 }. 首先, 选择  4  个大素数
                 p 0 、 、  p 2  和   p 3 , 并设置   N = p 0 p 1 p 2 p 3  且满足   |p 0 | : |p 1 | : |p 2 | : |p 3 | = 1 : 3 : 1 : 1 p i > 2 ,i ∈ {0,1,2,3}. 其中, 要求   |N | ≈
                                                                                λ/ 2
                                     ′
                                                                                                      ′
                                                                           ,
                     p 1
                 |N| (其中  N  为合数阶, 见第  2.2  节),  G 1  和  G 2  为  N  阶的循环群,   g 1  是  G 1  循环群的生成元,  e : G 1 ×G 1 → G 2  为循环群
                                                      ′
                                                                                     ′
                 G 1  和  G 2  的双线性映射, 同时计算  u 1 = g p 1 p 2  、 u 2 = g p 0 p 2   和  u 3 = g p 0 p 1  . 输出公钥为  mpk 1 = {N ,G 1 ,G 2 ,e,g 1 ,u 1 ,u 2 ,u 3 }, 私
                                               1        1        1
                 钥为   s 1 = p 1 p 2 p 3  和  s 2 = p 0 p 2 p 3 . 其中,  u 1  是  G 1  的  p 0 p 3  阶循环子群的生成元,  u 2  是  G 1  的  p 1 p 3  阶循环子群的生成元,
                 u 3  是  G 1  的  p 2 p 3  阶循环子群的生成元.
                                                                         2
                              2
                    (2)  Enc(m,m , mpk 1 ,r) → C. 此算法输入明文消息空间  m ∈ [1,τ 1 ] 和   m ∈ [1,τ 2 ]、公钥   mpk 1  以及随机数  r ∈ Z N ′ ,
                                                   m m 2
                            ,
                                                       r
                 其中  τ 1 < p 0 p 3 τ 2 < p 1 p 3 . 输出则为密文  C = u u u ∈ G 1 .
                                                     2
                                                   1
                                                       3
                                                          m m 2
                    (3)   Dec(C, s) → {m,m }. 此算法输入为密文  C = u u u 、私钥   s 1 = p 1 p 2 p 3  和  s 2 = p 0 p 2 p 3 , 输出为明文  {m,m }.
                                                              r
                                    2
                                                                                                      2
                                                          1
                                                            2
                                                              3
                                                ) , 随后, 利用文献
                                m m 2
                          C = (u u u )   = (u p 1 p 2 p 3 m    [17] 中提及的   Pollard  的  lambda  解密方法, 计算以
                                    r p 1 p 2 p 3
                            s 1
                 解密过程为          1  2  3     1
                    2  2
                                                                              ′ m 2
                  (p ′ ) (p ′ ) p 3
                                                                                      2 3 = ((u ) 0 p ′ p ′ m 2
                                                                                  ′ r p ′
                 g  1  2   为底  C S k 1   的离散对数便可得到明文消息  m. 同理, 计算  C S k 2  = ((u ) (u ) (u ) ) 0 p ′ p ′     ′ p ′  2 3 )   便可得
                                                                          ′ m
                  1                                                       1   2   3         2
                           2
                 到明文消息    m .
                  3.2   系统模型
                    本方案主要包含       5  类实体, 分别是密钥分发中心       KDC、数据拥有者       DO、边缘服务器      ES、云服务器     CS  和
                           .
                 研究中心   RC RC  与  CS  具有可信硬件   TEE. 如图  2  所示, 方案中各个实体任务与系统流程描述如下.
                    (1) 密钥分发中心     KDC: 负责为系统中实体生成密钥以及公共参数, 随后进行密钥分发以及公开系统公共
                 参数.
                                            KDC  分发的密钥对医疗数据进行加密, 再对密文进行签名, 并将密文与签名一
                    (2) 数据拥有者   DO: 主要利用
                 起上传至所属的边缘服务器.
                    (3) 边缘服务器   ES: 主要负责聚合验证辖区内所有           DO  的签名及聚合     DO  上传的密文, 并对聚合后的密文进
                 行签名, 然后将聚合密文与聚合签名上传至云服务器. 此外,                 ES  还需要对  RC  的访问请求进行授权操作.
                    (4) 云服务器   CS: 分为存储和   TEE  两部分. 其中   TEE  主要负责对所有    ES  上传签名进行聚合验证以及根据分
                 析请求进行统计分析操作. 此外, TEE         也负责对分析结果进行加密与签名, 再将分析结果和签名发送给                     RC CS  的
                                                                                                   .
   396   397   398   399   400   401   402   403   404   405   406