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 的
.

