You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JPBC双线性映射加密场景下如何解密得到原始字符串明文

问题本质

你现在遇到的问题是双线性对加密(从代码逻辑看是CP-ABE属性基加密)的通用设计特性:GT群不存在能把任意长度字符串双向映射成群元素的原生方法,你调用的setFromHash是单向哈希映射函数,作用是把任意输入哈希后拟合到群元素空间,和普通SHA哈希一样不可逆,所以解密后自然只能得到哈希后的群元素,无法还原原始明文,这不是代码bug,是函数本身的设计决定的。

可行实现方案

以下方案都不需要把明文映射到群,也不需要引入AES这类对称加密算法:

  • 方案1:密钥封装+异或掩码(工程通用方案,无明文长度限制)
    你现有代码的加密核心是用一次性随机秘密值e(g,g)^(αs)做乘法掩码,只要把被掩码的对象从“哈希后的明文群元素”换成随机生成的临时群密钥即可,流程如下:
    1. 加密时先生成一个随机GT群元素作为临时掩码密钥k
    2. 用标准KDF(密钥派生函数,比如HKDF,本质是带上下文的哈希运算,不属于对称加密)把k派生为和明文等长的字节流,和原始明文字节做异或得到密文主体
    3. 把k作为你原有代码里的message参数走ABE加密流程,将ABE输出的密文块和异或得到的密文主体拼接后传输
    4. 解密时先通过ABE解密拿到原始k,用相同KDF派生出等长字节流,和密文主体异或就能直接得到原始字符串,全程不需要对明文做哈希映射,也没有对称加密运算。
  • 方案2:可逆直接编码(仅适用于极短明文)
    如果你的明文长度极短(比如不超过群阶对应字节长度的短ID、标识),可以自己实现双向编码规则:把明文字节按固定规则填充为GT群元素的合法坐标值,直接生成群元素参与运算,解密拿到群元素后反向按规则解析就能得到明文。但这个方案限制极强:明文长度不能超过群元素的有效编码空间,还要处理编码值不在群上的无效情况,除了特定短数据场景外基本不会用。
现有代码的问题说明

你当前的测试代码逻辑本身是自洽的,但因为用了单向哈希映射明文,永远无法还原原始字符串:

String msg = "dasddwhqoiuhdaiosnioacjijdqwi0jdaposdjiasojcbndusivbuiweshfsaoindoai";
// 这里的setFromHash是单向映射,不可逆
Element message = PairingFactory.getPairing(pairingParametersFileName).getGT().newElement().setFromHash(msg, 0, msg.length).getImmutable();
System.out.println("plaintext:" + msg);
encrypt(pairingParametersFileName, message, accessTree, pkFileName, ctFileName);

Element res = decrypt(pairingParametersFileName, accessTree, ctFileName, skFileName);
System.out.println("decrypt:" + res);
// 这里只能验证哈希后的群元素相等,拿不到原始msg字符串
if (message.isEqual(res)) {
    System.out.println("successful!");
}

加密核心逻辑里的乘法掩码本身是可逆的,问题出在明文进加密逻辑前就做了单向哈希:

Pairing bp = PairingFactory.getPairing(pairingParametersFileName);
// ...省略公钥读取逻辑
Element s = bp.getZr().newRandomElement().getImmutable();
// 只要这里的message是单向哈希生成的,就不可能还原原始明文
Element CT = message.duplicate().mul(egg_alpha.powZn(s)).getImmutable();
Element C = g_beta.powZn(s).getImmutable();
需求可行性结论

完全可以在不使用对称加密的前提下实现你的需求,不需要引入AES、SM4等对称加密算法,只需要用KDF派生掩码+异或的方案即可,整个流程仅涉及群运算、哈希运算、异或运算,没有对称加密的密钥调度、轮变换等逻辑,符合你的要求。

内容的提问来源于stack exchange,提问作者echo-dundun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:48:14