一种基于国密算法的安卓信息加密系统及方法技术方案

技术编号:22661268 阅读:39 留言:0更新日期:2019-11-28 04:29
本发明专利技术涉及一种基于国密算法的安卓信息加密系统及方法,基于SM4算法与SM2算法相结合的混合密码体制,采用SM4算法对明文进行加密,提高加密效率,降低资源消耗,并用椭圆曲线加密算法对信息加密的密钥进行加密以保证明文在传送过程中的安全性,同时采用安全哈希算法对明文在收发前后进行哈希比较,验证信息完整性。

An Android information encryption system and method based on national security algorithm

The invention relates to an Android information encryption system and method based on the national security algorithm. Based on the hybrid encryption system combining the SM4 algorithm and the SM2 algorithm, the SM4 algorithm is used to encrypt the plaintext, improve the encryption efficiency, reduce the resource consumption, and the elliptic curve encryption algorithm is used to encrypt the key of the information encryption to ensure the security of the plaintext in the transmission process. At the same time, the security is adopted The full hash algorithm compares the plaintext before and after sending to verify the information integrity.

【技术实现步骤摘要】
一种基于国密算法的安卓信息加密系统及方法
本专利技术涉及信息安全领域,特别涉及一种基于国密算法的安卓信息加密系统及方法。
技术介绍
信息安全问题一直以来都是全世界持续关注的焦点问题之一,信息能否安全的传递关系着每一个人自身的隐私安全。随着现代通信的不断发展和移动终端自身性能的不断提高,手机等移动终端已经进入了智能数字时代,通过智能手机进行通信变的越来越广泛,通信服务也越来越多样化,其中手机信息服务是一种使用广泛的通信服务。人们通过信息收发个人和商业信息,但信息的传输面临着安全性的问题,如窃取、拦截、修改等,而个人隐私信息和商业信息的泄露可能会带来严重的后果。因此,端对端之间信息的安全传输就显得尤为重要,设计一个信息加密软件来保障信息传递的安全是有必要的。软件的运行离不开操作系统的支持,因此,想要设计信息加密软件,首先要了解智能手机的操作系统。目前智能手机中最主要的操作系统平台之一就是Android系统,由于其开源性和易用性等诸多优越性,Android系统成为当今移动设备的主流操作系统。但Android系统的开源性及宽松的权限管理机制又使其具有很大的安全隐患。因此,本系统旨在实现基于Android平台的信息加密系统。针对手机的信息加密系统,当前研究主要存在以下两方面的局限性:(1)使用单一对称密码,密钥分配困难。对称密码体制的优势在于加密系统花费小,算法简易,效率非常高。缺点是密钥必须以安全的方式秘密地分配和交换,这使得对称密码的密钥的分发往往过程复杂,代价高昂;(2)使用单一非对称密码,加密效率低。为了改善对称密码体制的弊端,人们又提出了非对称密码体制。在非对称密码体制中,加密和解密使用的是两个不同的密钥,加密密钥是公开的密钥,称为公钥,而解密密钥,只有解密人自己掌握,称为私钥。非对称密码体制的安全性在于非法攻击者无法从公开的加密密钥推算出相应的解密密钥,其优势则在于两个使用者能够安全的沟通而无需通过秘密信道传输密钥。不过,非对称加密体制虽然解决了对称加密体制密钥传输的难题,但其加密算法较复杂,加密速度较慢,因此并不适合加密数据量大的信息。
技术实现思路
本专利技术主要解决的技术问题是:克服现有技术的不足,提出一种基于国密算法的安卓信息加密系统及方法,将国密SM2算法、SM4算法密码体制相结合的混合密码体制,综合了对称密码体制和非对称密码体制的优缺点,使用对称密码算法加密明文,用非对称密码算法加密对称密码算法使用的密钥。既利用了对称密码体制的加解密速度快的优势,又解决了密钥安全分发的问题,提高加密速度,减少资源消耗,进一步提高信息传输和密钥共享的安全性,实现服务器统一管理存储密钥信息。本专利技术技术解决方案:一种基于国密算法的安卓信息加密系统,其创新性体现在:(1)通过分析研究算法理论基础及查阅大量文献,提出一种将国密SM2算法、SM4算法体制相结合的混合密码体制,以增强信息在传输过程中的安全性和完整性。实验证明,这种算法体制可提高信息加密的效率,并占用较少的手机资源;(2)采用安全哈希算法(SecureHashAlgorithm)对发送前后的明文分别进行哈希比较,验证发送方身份以提高信息传输和密钥共享的安全性。同时设计SQLite数据库和手机终端的交互,解决私密明文收发双方数据传输的问题;(3)实现私密信息安全系统,对在通信网络中传输的明文进行SM4算法加密,并采用SM2算法对SM4算法的密钥进行加密,方便服务器实现SM2算法公钥的管理和SM4算法密钥的交换。本专利技术的一种基于国密算法的安卓信息加密系统,包括输入信息编码模块、SM2算法和SM4算法混合加解密模块、数据库导入联系人模块和数字签名认证模块;输入信息编码模块,用于处理经过Android系统发送中文字符时可能出现的乱码问题;处理中文字符时,将中文字符转为Unicode编码的处理,英文和数字的ASCII码小于128,根据此条件判断读入的字符是否为中文字符,如果是中文字符,则将每个中文字符转化为16位的Unicode码,并在前面加上Unicode转义字符‘\u’,然后将明文转换为对应的十六进制比特串;接收方收到密文后,只需在解密后对前面带有‘\u’字符的部分进行Unicode码转中文字符的操作即得到正确的明文;SM2算法和SM4算法混合加解密模块。发送方输入想要发送的内容,经输入信息编码模块处理后采用SM2算法与SM4算法混合加解密模块来加密发送方发送的明文;SM4算法是一个分组算法,数据分组长度为128bit,密钥长度为128bit;加密算法采用32轮迭代结构,每轮使用一个轮密钥。先用SM4算法加密明文,再用SM2算法加密SM4算法的密钥。在加密SM4算法密钥的过程中,先将SM4算法的密钥转化为椭圆曲线上的点,再用SM2算法的公钥进行加密,加密后进行解码即将加密后椭圆曲线点的坐标转化为SM4算法密钥的密文比特串;解密过程与加密过程类似,接收方在接收到发送方发送的密文和加密密钥后,先根据SM2算法的私钥对SM4算法的密钥进行解密,然后再用SM4算法的密钥解密密文,得到明文。本专利技术为发送方和接收方提供了方便简洁的接口,解密的操作对接收方是透明的,接收方只需将接收到的密文输入到解密文本框,选择解密操作即可;即使传送过程中密文被截获,因为SM2算法的私钥保存在发送方手中,非法攻击者无法破译加密的密钥,更无法破译密文,因此明文的安全性得到保证;数据库导入联系人模块。发送方输入明文后,运用数据库技术,实现联系人的快速导入。发送明文时,发送方可从存储联系人信息的SQLite数据库中添加接收方,还能将新的联系人信息存入到SQLite数据库中,为发送方提供更简便快捷的接口;数字签名认证模块,接收方收到密文后,认证发送方身份,验证传输的安全性;发送方对需要发送的明文进行哈希求得摘要,然后用发送方的SM2算法的私钥对摘要结果进行加密,形成数字签名;发送方同时将SM2算法和SM4算法混合加解密模块加密后的密文、SM2算法和SM4算法混合加解密模块加密后的密钥、数字签名传输给接收方,接收方通过判断数字签名验证算法比较摘要信息是否相同,进行发送方身份的验证,若相同则发送方身份验证成功,不相同,则未通过验证,请求发送方重发。所述SM2算法和SM4算法混合加解密模块中,SM4算法为分组密码算法,加解密的分组大小为128bit,故对明文进行加解密时,若消息长度超过128bit,需要进行分组,若消息长度不足128bit,则要进行填充;对于SM4算法的数据填充,采用PKCS7填充方式,不足部分填充为需要填充字节数,若数据大小是分块大小N的倍数时,则增加一个全为N的分块,N是大于1的整数。所述SM2算法和SM4算法混合加解密模块中,用SM2算法对SM4算法的密钥进行加密的流程为:先将SM4算法的密钥转化为椭圆曲线上的点,再用SM2算法的公钥进行加密,加密后进行解码即将加密后椭圆曲线点的坐标转化为SM4算法密钥的密文比特串。本专利技术的一种基于国密算法的安卓信息加密方法,包括以下步骤:第本文档来自技高网
...

【技术保护点】
1.一种基于国密算法的安卓信息加密系统,其特征在于:包括输入信息编码模块、SM2算法和SM4算法混合加解密模块、数据库导入联系人模块和数字签名认证模块;/n输入信息编码模块,用于处理经过Android系统发送中文字符时可能出现的乱码问题;处理中文字符时,将中文字符转为Unicode编码的处理,英文和数字的ASCII码小于128,根据此条件判断读入的字符是否为中文字符,如果是中文字符,则将每个中文字符转化为16位的Unicode码,并在前面加上Unicode转义字符‘\u’,然后将明文转换为对应的十六进制比特串;接收方收到密文后,只需在解密后对前面带有‘\u’字符的部分进行Unicode码转中文字符的操作即得到正确的明文;/nSM2算法和SM4算法混合加解密模块,发送方输入要发送的内容,经输入信息编码模块处理后采用SM2算法与SM4算法混合加解密模块来加密发送方发送的明文;先用SM4算法加密明文得到密文,再用SM2算法加密SM4算法的密钥;加密时,先将SM4算法的密钥转化为椭圆曲线上的点,再用SM2算法的公钥进行加密,得到加密后的密钥;加密后对密文进行解密时,将加密后椭圆曲线点的坐标转化为SM4算法密钥的密文比特串;解密时,接收方在接收到发送方发送的密文和加密密钥后,先根据SM2算法的私钥对SM4算法的密钥进行解密,然后再用SM4算法的密钥解密密文,得到明文;解密的操作对发送方和接收方都是透明的,接收方只需根据发送方发送的密文和密钥,选择解密操作即可;/n数据库导入联系人模块,发送方输入明文后,运用数据库技术,实现联系人的快速导入;发送明文时,发送方从存储联系人信息的SQLite数据库中添加接收方,还能将新的联系人信息存入到SQLite数据库中,为发送方提供更简便快捷的接口;/n数字签名认证模块,接收方收到密文后,认证发送方身份,验证传输的安全性;发送方对需要发送的明文进行哈希求得摘要,然后用发送方的SM2算法的私钥对摘要结果进行加密,形成数字签名;发送方同时将SM2算法和SM4算法混合加解密模块加密明文后得到的密文、SM2算法和SM4算法混合加解密模块加密后的密钥、数字签名传输给接收方,接收方通过判断数字签名验证算法比较摘要信息是否相同,进行发送方身份的验证,若相同则发送方身份验证成功,不相同,则未通过验证,请求发送方重发。/n...

【技术特征摘要】
1.一种基于国密算法的安卓信息加密系统,其特征在于:包括输入信息编码模块、SM2算法和SM4算法混合加解密模块、数据库导入联系人模块和数字签名认证模块;
输入信息编码模块,用于处理经过Android系统发送中文字符时可能出现的乱码问题;处理中文字符时,将中文字符转为Unicode编码的处理,英文和数字的ASCII码小于128,根据此条件判断读入的字符是否为中文字符,如果是中文字符,则将每个中文字符转化为16位的Unicode码,并在前面加上Unicode转义字符‘\u’,然后将明文转换为对应的十六进制比特串;接收方收到密文后,只需在解密后对前面带有‘\u’字符的部分进行Unicode码转中文字符的操作即得到正确的明文;
SM2算法和SM4算法混合加解密模块,发送方输入要发送的内容,经输入信息编码模块处理后采用SM2算法与SM4算法混合加解密模块来加密发送方发送的明文;先用SM4算法加密明文得到密文,再用SM2算法加密SM4算法的密钥;加密时,先将SM4算法的密钥转化为椭圆曲线上的点,再用SM2算法的公钥进行加密,得到加密后的密钥;加密后对密文进行解密时,将加密后椭圆曲线点的坐标转化为SM4算法密钥的密文比特串;解密时,接收方在接收到发送方发送的密文和加密密钥后,先根据SM2算法的私钥对SM4算法的密钥进行解密,然后再用SM4算法的密钥解密密文,得到明文;解密的操作对发送方和接收方都是透明的,接收方只需根据发送方发送的密文和密钥,选择解密操作即可;
数据库导入联系人模块,发送方输入明文后,运用数据库技术,实现联系人的快速导入;发送明文时,发送方从存储联系人信息的SQLite数据库中添加接收方,还能将新的联系人信息存入到SQLite数据库中,为发送方提供更简便快捷的接口;
数字签名认证模块,接收方收到密文后,认证发送方身份,验证传输的安全性;发送方对需要发送的明文进行哈希求得摘要,然后用发送方的SM2算法的私钥对摘要结果进行加密,形成数字签名;发送方同时将SM2算法和SM4算法混合加解密模块加密明文后得到的密文、SM2算法和SM4算法混合加解密模块加密后的密钥、数字签名传输给接收方,接收方通过判断数字签名验证算法比较摘要信息是否相同,进行发送方身份的验证,若相同则发送方身份验证成功,不相同,则未通过验...

【专利技术属性】
技术研发人员:王志强池亚平王兵张健毅张翼钱榕张南峰张克君董宏宇饶晨雨李瑞庆赵重源余泽峰纪曦
申请(专利权)人:北京电子科技学院广东航宇卫星科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1