基于后量子密码学的ChatGPT的内容过滤签名和加密方法

文档序号:35342779发布日期:2023-09-07 13:42阅读:35来源:国知局
基于后量子密码学的ChatGPT的内容过滤签名和加密方法与流程

本发明属于网络安全,具体涉及一种基于后量子密码学的chatgpt的内容过滤签名和加密方法。


背景技术:

1、由openai开发并公布的chatgpt引起了全球各个行业的广泛关注,其生成式的人工智能算法可以快速识别用户意图,并进行高效反馈,可供用户快速便捷地解决问题。自面世以来,chatgpt因其强大的问题解决能力而被各类用户用于解决私人问题,或被各个行业的从业者用于解决其所在领域中的问题,同时也被诸多浏览器、代码编辑器、办公工具等软件所融合,因此chatgpt应用的广度和深度飞速增长。

2、chatgpt以问答的形式与使用者进行交互,用户所提出的问题和数据可能会涉及个人隐私、商业和科研机密等,而chatgpt给出的回答同样难以评估其风险程度。因此,需要运用密码学对用户的提问内容和服务端的回答内容进行加密。同时,随着量子计算机技术的不断发展,量子计算能力快速提高,量子计算机已经对传统的公钥加密算法构成了巨大的安全威胁,因此采用传统的公钥加密来解决chatgpt的隐私泄露问题并非合适的方法。目前chatgpt的问答内容都是用明文传输,虽然用了https这样的加密传输协议,但传统的椭圆曲线非对称加密算法并不能阻挡量子计算机的破解。


技术实现思路

1、为了解决现有技术中存在的上述问题,本发明提供了一种基于后量子密码学的chatgpt的内容过滤签名和加密方法。本发明要解决的技术问题通过以下技术方案实现:

2、本发明提供一种基于后量子密码学的chatgpt的内容过滤签名和加密方法,应用于服务端,包括:

3、生成第一密钥对;

4、接收提问端发送的第二密钥对中的第二公钥,并将所述第一密钥对中的第一公钥发送至提问端,以使提问端基于所述第一公钥加密提问内容,并利用自身第一签名密钥对中的第一签名私钥进行签名,生成第一会话消息;所述第一会话消息包括所述第一签名密钥对中的第一签名公钥;

5、接收提问端发送的第一会话消息后,利用所述第一签名公钥和所述第一私钥分别进行签名验证和解密,得到提问内容;

6、利用chatgpt获得答复内容,并基于所述第二公钥加密所述答复内容后,利用自身第二签名密钥对中的第二签名私钥进行签名,生成第二会话消息;

7、发送所述第二会话消息至提问端,以使所述提问端基于所述第二密钥对中的第二私钥以及所述第二会话消息包含的第二签名密钥对中的第二签名公钥分别进行签名验证和解密,得到答复内容。

8、在本发明的一个实施例中,生成第一密钥对的步骤之前,还包括:

9、接收提问端的会话请求,所述会话请求中包括提问端的信息,所述信息为用户名和密码,或者ip和密码;

10、根据所述信息判断提问端的上一轮会话是否超出预设token长度。

11、在本发明的一个实施例中,生成第一密钥对的步骤,包括:

12、若所述提问端的上一轮会话超出预设token长度,则利用crystals-kyber算法生成本轮会话所需的第一密钥对,并更新所述预设token长度;反之,则保持所述提问端上一轮会话的第一密钥对及所述预设token长度。

13、在本发明的一个实施例中,当所述提问端的上一轮会话超出预设token长度时,按照如下步骤生成本轮会话所需的第一密钥对:

14、生成随机数并打包;

15、利用哈希函数对打包后的随机数进行处理,得到第一随机数种子;

16、对所述第一随机数种子进行均匀采样,得到第一采样矩阵;

17、根据二项分布和伪随机函数生成私钥向量和公钥向量;

18、对所述私钥向量进行数论变换后与所述第一采样矩阵进行轮换乘运算,得到第一私钥;

19、将所述第一私钥代入哈希函数并进行扰动后,得到第一公钥。

20、在本发明的一个实施例中,接收提问端发送的第二密钥对中的第二公钥,并将所述第一密钥对中的第一公钥发送至提问端,以使提问端基于所述第一公钥加密提问内容,并利用自身第一签名密钥对中的第一签名私钥进行签名,生成第一会话消息的步骤,包括:

21、接收提问端发送的第二密钥对中的第二公钥,并将所述第一密钥对中的第一公钥发送至提问端,提问端基于过滤规则库对提问内容中的敏感词句进行匹配过滤,并根据提问内容中敏感词句与所述过滤规则库的匹配次数判断提问内容的风险程度后,进一步使提问端在该风险程度小于预设值时,基于所述第一公钥加密提问内容,并利用自身第一签名密钥对中的第一签名私钥进行签名,生成第一会话消息。

22、在本发明的一个实施例中,利用chatgpt获得答复内容,并基于所述第二公钥加密所述答复内容后,利用自身第二签名密钥对中的第二签名私钥进行签名,生成第二会话消息后发送至提问端的步骤,包括:

23、利用chatgpt获得答复内容;

24、利用哈希函数对所述答复内容进行处理,生成明文多项式;

25、对所述第二公钥进行异或操作,得到第二采样矩阵;

26、基于伪随机函数生成符合二项分布的扰动序列;

27、将所述第二采样矩阵经数论变换后与所述明文多项式环乘,并与所述扰动序列相加得到加密分量;

28、将各个加密分量组成得到第二密文;

29、生成自身的第二签名密钥对;

30、利用所述第二签名密钥对中的第二签名私钥对所述第二密文进行签名,得到第二会话消息。

31、在本发明的一个实施例中,生成自身的第二签名密钥对的步骤,包括:

32、生成随机数并打包;

33、利用哈希函数对打包后的随机数进行处理,得到第二随机数种子;

34、对所述第二随机数种子进行均匀采样,得到第二采样矩阵;

35、对所述第二采样矩阵添加扰动,得到密钥分量;

36、根据预设的高低位比特分解位进行比特位拆分,得到自身第二签名密钥对中的第二签名公钥和第二签名私钥。

37、在本发明的一个实施例中,利用所述第二签名密钥对中的第二签名私钥对所述第一密文进行签名,得到第二会话消息的步骤,包括:

38、利用哈希函数对所述答复内容进行处理,得到第一数字摘要;

39、使用dilithium算法和所述第二签名密钥对中的第二签名私钥,对所述第一数字摘要进行加密,得到签名;

40、将签名后的密文作为第二会话消息。

41、在本发明的一个实施例中,所述第二会话消息还包括所述第二签名密钥对中的第二签名公钥;

42、发送所述第二会话消息至提问端,以使提问端基于所述第二密钥对中的第二私钥以及所述第二会话消息包含的第二签名密钥对中的第二签名公钥分别进行签名验证和解密,得到答复内容的步骤,包括:

43、发送所述第二会话消息至提问端,以使提问端基于第二签名密钥对中的第二签名私钥解密签名得到待验证的数字摘要,并基于所述第二密钥对中的第二私钥进行解密,得到答复内容后,利用哈希函数对所述答复内容进行处理,生成第一数字摘要,并使提问端根据所述待验证的数字摘要和所述第一数字摘要进行比较,判断签名是否被篡改。

44、在本发明的一个实施例中,若所述第一数字摘要与所述待验证的数字摘要相同,则说明答复内容未被篡改;反之,则表示答复内容被篡改。

45、与现有技术相比,本发明的有益效果在于:

46、本发明提供一种基于后量子密码学的chatgpt的内容过滤签名和加密方法,能够有效对抗量子计算机的破解,保障数据安全,并且本发明通过在提问端与客户端进行双端签名和加密,实现双向保障,提问和回答过程都可以确保内容的真实性和完整性,避免被第三方篡改。

47、此外,服务端在收到提问端的会话请求后,先对提问端上一轮会话是否超出预设token长度进行判断,如果在预设token长度内,那么本轮会话中提问端和客户端的密钥对不发生变化,从而减少了公钥传输次数,节省了传输带宽。

48、以下将结合附图及实施例对本发明做进一步详细说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1