社交平台日常对话加密方法、系统、存储介质及计算设备

文档序号:190900 发布日期:2021-11-02 浏览:9次 >En<

阅读说明:本技术 社交平台日常对话加密方法、系统、存储介质及计算设备 (Social platform daily conversation encryption method and system, storage medium and computing device ) 是由 梁循 吴佳辰 黄伟兰 于 2021-08-04 设计创作,主要内容包括:本发明涉及一种社交平台日常对话加密方法、系统、存储介质及计算设备,其包括:预先约定对话双方都已知且一致的随机序列密钥;将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。本发明简单有效,能满足普通人保护日常聊天对话隐私的需求。本发明可以广泛在数据加密技术领域中应用。(The invention relates to a social platform daily conversation encryption method, a social platform daily conversation encryption system, a storage medium and computing equipment, wherein the social platform daily conversation encryption system comprises the following steps: presetting a random sequence key which is known and consistent by both parties of the conversation; inputting a plaintext to be expressed and a random sequence key of an appointed number into an encryption tool, wherein an encryption mode, a filling mode, an offset and a character set are preset in the encryption tool; adopting an AES algorithm to encrypt the plaintext in groups, filling the insufficient part in a set filling mode, representing the plaintext in a square matrix form, and encrypting to form a ciphertext; and the ciphertext is transmitted to a corresponding decryption tool, and the same appointed secret key is used for decryption to obtain the original plaintext. The method is simple and effective, and can meet the requirement of ordinary people on protecting the privacy of the daily chat conversation. The invention can be widely applied to the technical field of data encryption.)

社交平台日常对话加密方法、系统、存储介质及计算设备

技术领域

本发明涉及数据加密技术领域,特别是关于一种基于社交平台日常对话的加密方法、系统、存储介质及计算设备。

背景技术

现今的信息安全领域有很多多种多样的加密算法,大体上可以分为哈希算法、对称加密算法和非对称加密算法。哈希算法又叫做散列算法,是把任意长度的输入通过哈希算法转换成固定长度的输出,这个固定长度的输出称为原输入消息的"哈希值"或"散列值",由于这个过程是不可逆的,因此哈希算法多用于签名。对称加密算法加密速度快、效率高,是现在应用最为广泛、使用最频繁的加密算法。对称加密算法的加密密钥和解密密钥相同,对于大多数对称加密算法,加解密过程互逆。但是在对称加密算法中,传递和保存秘钥是一个重大问题,为了解决这个问题,非对称加密算法加密和解密使用两个不同的秘钥,称为"公钥"和"私钥",两者相互对应,使用一组公钥对数据进行加密后,只能用对应的私钥才能解密。在加解密过程中,未被加密的数据叫做明文,加密函数处理过后的数据叫做密文,密钥即为用来加密明文的密码。

在现实的使用中,这些加密技术多用于网络通信领域,对数据的传输和存储过程进行严格的加解密,防止信息的泄露,例如用户的注册信息、支付交易信息、敏感信息的传输等,甚至为了防止被拖库,数据库的敏感信息存储也需要经过精心的设计。

然而,在社交平台的日常对话场景中,也存在着很多信息泄露的情况,需要一种方便快捷又行之有效的方法保护对话信息的私密性。例如:在私人对话类的社交平台,两个人的私密对话可能会因为手机弹窗、忘记锁屏等多种原因被第三方看到;更普遍的,平台服务器会保存部分甚至全部对话内容,虽然微信这类的社交软件在使用规则中声明:为了保护用户隐私,聊天记录会保存到用户本机,服务器不会保存,但是平台拥有恢复聊天数据的功能在一方面证明了他们其实是会存储用户对话的。在公共社交平台,使用者会发布一些动态,但是这些信息可以被轻易地获取去进行舆情分析、用户评估、广告推广和购物推荐。这些都是使用者在对话的同时所不希望的。

发明内容

针对上述问题,本发明的目的是提供一种社交平台日常对话加密方法、系统、存储介质及计算设备,其简单有效,能满足普通人保护日常聊天对话隐私的需求。

为实现上述目的,本发明采取以下技术方案:一种社交平台日常对话加密方法,其包括:预先约定对话双方都已知且一致的随机序列密钥;将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

进一步,所述预先约定对话双方都已知且一致的随机序列密钥,采用由用户设置的易于个人记忆的随机序列,或者利用计算机生成随机数序列,该随机序列通过线上或者线下进行传输。

进一步,所述随机序列,由对话双方约定好随时间变化进行变动设置。

进一步,所述加密模式、填充方式、偏移量和字符集,由对话双方约定好后可进行同时修改。

进一步,所述采用AES算法将明文进行分组加密,包括:

预先设置加密迭代次数;

除最后一轮迭代,每轮迭代均依次进行字节替代、行移位、列混淆和轮密钥加;

最后一轮迭代,依次进行字节替代、行移位和轮密钥加。

进一步,所述采用AES算法将明文进行分组加密,在第一轮迭代之前,还包括:将明文和原始密钥进行一次异或加密操作。

进一步,所述采用约定好的相同的密钥进行解密,包括:执行加密过程每一步的逆操作。

一种社交平台日常对话加密系统,其包括:密钥设定模块、输入模块、AES加密模块和解密模块;所述密钥设定模块,预先约定对话双方都已知且一致的随机序列密钥;所述输入模块,将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;所述AES加密模块,采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;所述解密模块,密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行上述方法中的任一方法。

一种计算设备,其包括:一个或多个处理器、存储器及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法中的任一方法的指令。

本发明由于采取以上技术方案,其具有以下优点:

1、本发明针对社交平台,通过将用户输入的对话结合实现约定好的密钥,采用AES算法进行加密和解密,用户之间使用密文进行沟通。具有较强的实用性,为普通用户的日常聊天提供了隐私性保护。

2、本发明采用对称加密算法AES和实现约定好的密钥进行加密,简单有效,便于理解,增强了可用性和可推广性。

附图说明

图1是本发明一实施例中社交平台日常对话加密方法流程示意图;

图2是本发明一实施例中的AES算法加密过程示意图;

图3是本发明一实施例中AES算法加密结构示意图;

图4是本发明一实施例中的计算设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

AES算法(Advanced Encryption Standard)全称为高级加密标准是目前最常用的对称加密算法,具有灵敏性好、加密速度快、内存需求低等诸多优点。AES为分组密码,即在加密是把明文分成一组一组的分别加密,每组数据的长度相等。在AES标准中,区块长度固定为128比特,密钥长度可以为128,192或者256比特。本发明参考和使用的方案是AES-128,即密钥长度为128位,加密轮数为10轮。

本发明为普通用户提供一种简单有效的加密工具满足保护聊天对话隐私的需求,通过加密使用户的对话明文不可读。虽然这种加密对话密文在研究人员和计算机的计算下是可以破解的,但是大量普通用户使用没有破解的必要性且会花费大量的时间,因此这种方法相对比较好的保持了日常对话的私密性。

在本发明的一个实施例中,如图1所示,提供一种社交平台日常对话加密方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例所提供的加密方法不仅可以用于社交平台日常对话,也可应用到其他领域对其他数据进行加密。本实施例中,参考和使用的方案是AES-128算法,即密钥长度为128位,加密轮数为10轮;该方法包括以下步骤:

步骤1、预先约定对话双方都已知且一致的随机序列密钥;

步骤2、将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;

步骤3、采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;

步骤4、密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

在本实施例步骤1中,预先约定对话双方都已知且一致的随机序列密钥,采用由用户设置的易于个人记忆的随机序列,或者利用计算机生成随机数序列,该随机序列通过线上或者线下进行传输。

如图2所示,用户为加解密工具提前约定好一个沟通双方都已知和一致的N长度随机序列密钥。该密钥可以使用电话号码等易于个人记忆的随机序列,或者为了增加密码的保密性利用计算机生成随机数序列。该随机序列通过其他线上渠道或者线下渠道传输。

在本实施例步骤1中,随机序列由对话双方约定好随时间变化进行变动设置,进而提高密文解密难度。

在本实施例步骤2中,在社交平台交流之前,用户需要把想要表达的明文输入到加密工具中,同时输入约定好的密钥。

在加密工具中,预设了加密模式、填充方式、偏移量和字符集;加密模式、填充方式、偏移量和字符集,由对话双方约定好后可进行同时修改。

具体为:默认选择的加密模式、填充方式、偏移量和字符集可以进行修改,但是要双方约定好同时进行同样的修改。

其中,加密模式可以设置为EBC(Electronic Codebook Book电码本模式),CBC(Cipher Block Chaining密码分组链接模式),CTR(Counter计算器模式),CFB(CipherFeedBack密码反馈模式)和OFB(Output FeedBack输出反馈模式)。除ECB模式外都需要设置IV偏移量。

填充方法可以选择pkcs7padding,pkcs5padding,zeropadding,isso10126,ansix923或者nopadding。

字符集可以选择为gbk编码(简繁体),gb2312编码(简体),utf8编码(unicode编码)和iso-8859-1(单字节)。

在本实施例步骤3中,采用AES算法将明文进行分组加密,包括以下步骤:

步骤31、预先设置加密迭代次数;

步骤32、除最后一轮迭代,每轮迭代均依次进行字节替代、行移位、列混淆和轮密钥加;

步骤33、最后一轮迭代,依次进行字节替代、行移位和轮密钥加。

在执行第一轮迭代之前,需要将明文和原始密钥进行一次异或加密操作。

具体为:如图3所示,AES算法会把明文进行分组加密,每组为128比特,16字节,不足的部分使用设置好的填充方法进行填充,以一个4×4的矩阵表示,明文字节组成的正方形矩阵被称为状态矩阵。在10轮加密过程中,前9轮执行操作相同,第10轮有所不同。AES算法加密过程包含4种操作,分别是字节替代、行移位、列混淆和轮密钥加。前9轮依次执行这4个操作,第10轮不执行列混合。另外,在第一轮迭代之前,先将明文和原始密钥进行一次异或加密操作。

上述实施例中,加密算法中每个步骤都是可逆的,在解密时即执行加密过程每一步的逆操作。

在本实施例步骤4中,采用约定好的相同的密钥进行解密,是执行加密过程每一步的逆操作。即收到密文的一方把密文复制到对应的解密工具中,使用约定好的相同的密钥和其他设置进行解密,得到原始明文。当用户想发送信息时使用相同的方法进行加密。

上述实施例中,字节替换是使用AES提前定义好的S盒进行查表操作,使状态矩阵中的元素映射为一个新的字节,把该字节的高4位作为行值,低4位作为列值,取出S盒中对应的行的元素作为输出。在解密的时候进行逆字节代换也就是查逆S盒来变换。

上述实施例中,行移位操作是对状态矩阵进行左循环行移位,状态矩阵的第0行左移0字节,第1行左移1字节,第2行左移2字节,第3行左移3字节。行移位的逆变换是将状态矩阵中的每一行执行相反的移位操作,状态矩阵的第0行右移0字节,第1行右移1字节,第2行右移2字节,第3行右移3字节。

上述实施例中,列混合操作通过矩阵相乘实现,经行移位后的状态矩阵与固定的矩阵相乘,得到混淆后的状态矩阵。解密的时候即与逆变换矩阵相乘,原始变换矩阵和逆变换矩阵相乘应该为单位矩阵。

上述实施例中,轮密钥加是将128位的轮密钥同状态矩阵中的数据进行逐位异或操作。这里的轮密钥是原始密钥经过密钥扩展得到的。

实施例:本实施例中的用于日常对话的加解密方法包括以下步骤:

步骤1、对话双方用户在对话之前实现约定好一个N长度随机序列作为加解密密钥。

其中,最简单的N长度随机序列,N=3,可以取一个英文单词big,其中字母用数字代替,例如b是第2个字母。也可以使用电话号码等易于个人记忆的随机序列,或者为了增加密码的保密性利用计算机生成随机数序列。该随机序列通过其他线上渠道或者线下渠道传输。

该密钥可以由对话双方约定好在使用过一段时间后及时变化,提高密文解密难度。

步骤2、对话一方用户发起对话时,把想要表达的明文输入到加密工具中,同时输入约定好的密钥,生成密文。例如,明文为“这是一种日常加密工具”,密钥设置为“2021”,在工具默认的ECB加密模式,pkcs7padding填充方式和gbk编码字符集下,生成的密文为“+gB/RvIMl6uNkIej911CdFDoa4Ql3Dioz9c66V0fguw=”。该用户就可以把这段密文复制到社交软件中进行沟通。

步骤3、收到密文的一方把密文复制到对应的解密模块中,使用约定好的相同的密钥和其他设置进行解密,得到原始明文。

步骤4、当用户想发送信息时使用相同的方法进行加密。

在本发明的一个实施例中,提供一种社交平台日常对话加密系统,其包括:密钥设定模块、输入模块、AES加密模块和解密模块;

密钥设定模块,预先约定对话双方都已知且一致的随机序列密钥;

输入模块,将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;

AES加密模块,采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;

解密模块,密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

本实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。

如图4所示,为本发明一实施例中提供的计算设备结构示意图,该计算设备可以是终端,其可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、显示屏和输入装置。其中,处理器、通信接口、存储器通过通信总线完成相互间的通信。该处理器用于提供计算和控制能力。该存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统和计算机程序,该计算机程序被处理器执行时以实现一种加密方法;该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、管理商网络、NFC(近场通信)或其他技术实现。该显示屏可以是液晶显示屏或者电子墨水显示屏,该输入装置可以是显示屏上覆盖的触摸层,也可以是计算设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。处理器可以调用存储器中的逻辑指令,以执行如下方法:

预先约定对话双方都已知且一致的随机序列密钥;将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在本发明的一个实施例中,提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:预先约定对话双方都已知且一致的随机序列密钥;将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

在本发明的一个实施例中,提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法,例如包括:预先约定对话双方都已知且一致的随机序列密钥;将需要表达的明文和约定号的随机序列密钥输入加密工具中,该加密工具中预先设置了加密模式、填充方式、偏移量和字符集;采用AES算法将明文进行分组加密,不足的部分采用设置好的填充方式进行填充,将明文以正方形矩阵形式表示,加密形成密文;密文传输至对应的解密工具中,采用约定好的相同的密钥进行解密,得到原始明文。

上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种电子密码生成方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类