基于国密算法的Android口令管理软件开发毕业论文
2021-05-25 23:20:58
摘 要
本文针对目前安卓市场中口令管理软件进行深度研究,结合用户日常使用习惯和需求进行分析:现如今安卓手机市场增长迅速,人们与网络的接触日益增多,账号口令的管理方面需要引起关注,用户需要一款能解决账号密码记忆问题的应用软件。本毕业设计以此为目标,设计一款基于安卓系统保存用户数据的口令管理软件,通过国密SM3、SM4加密算法实现用户私人数据的安全性存储。
本论文介绍了该软件在开发过程中所使用的加密算法方案:采用国密SM3算法对管理员密码进行加密,用其杂凑值作为SM4加密密钥对用户的账号口令进行加密。设计了用户交互界面实现该类型软件常用功能,使用数据库存储用户的操作记录,方便时可查看整理。通过软件功能测试,认为该软件能满足用户对口令管理类型软件的基本需求,虽有些不足之处需要改进,但整体设计基本达到设计要求。
关键词:口令管理,国密SM3杂凑算法,国密SM4分组算法
Abstract
In this paper, I did depth study aimed at the current password management on Android software market, combined with the analysis of the user's daily habits and demands.It shows that Android smart phone market grows rapidly this days and people are increasingly exposed to the Internet. Account password management needs to attract attention,users need one application to solving the memory of account and password. This paper aimed at those above,to design an application based on the Android system to save user’s data. Through Office of Security Commercial Code ( OSCC ) SM3 and SM4 encrypting algorithm to achieve the secure storage of the user’s private data.
The paper is the development report about the password management software. It mainly introduces the encryption algorithm used in the development process: Encrypting administrator password with SM3 encryption algorithm, the result hash value will be used as SM4 encryption key to encrypt the user’s account and password. A user interface is designed to achieve the common functions for this type of software.A database is used to store the record of user's operation for convenient way to view and arrange. Through the software function test, I consider that the software can meet the user’s basic requirements for password management type software. Although there is still some deficiencies needed to be improved,but the overall design reaches undergraduate design level.
Key Words:Password management, SM3, SM4
目录
第1章 绪论 1
1.1 研究背景 1
1.2 国内外研究现状分析 1
1.3 研究范畴和意义 4
1.4 论文结构介绍 5
第2章 原理和实现 6
2.1 需求分析 6
2.2 总体设计 7
2.3 加密算法简介 8
2.4 国密SM3算法 9
2.4.1 符号 9
2.4.2 SM3密码杂凑算法中的常量与函数 10
2.4.3 算法描述 11
2.5 国密SM4算法 12
2.5.1 术语 13
2.5.2 轮函数F 13
2.5.3 加解密算法 13
2.5.4 密钥扩展算法 14
2.6 算法实现 15
2.7 本章小结 18
第3章 软件设计和实现 19
3.1 开发环境搭建 19
3.1.1 Java语言 19
3.1.2 Android Studio 19
3.1.3 SQLite数据库 19
3.1.4 Genymotion 19
3.2 软件界面设计 20
3.2.1 初始化界面 20
3.2.2 口令添加界面 21
3.2.3 导航栏设计 22
3.3 程序编程 22
3.3.1 初始化登录 22
3.3.2 账号口令添加 24
3.3.3 密码库 26
3.3.4 更多选项 26
第4章 测试和分析 28
4.1 软件测试 28
4.1.1 加密算法测试 28
4.1.2 界面搭建与运行 29
4.1.3 辅助性功能实现 31
4.2 整体分析 33
4.3 问题和解决方法 33
第5章 总结和展望 35
参考文献 37
致 谢 39
绪论
本毕业设计的所选课题名称为基于国密算法的Android口令管理软件开发。目前安卓市场中充斥着众多口令管理软件,但大多数该类型软件都存在制作不够完善、结构过于复杂、功能不太明确等问题,仅有极少的几款适合人们的日常使用。现在的网络平台和手机的应用软件越来越多,需要用户记忆的口令密码数量越发庞大,国内安卓市场需要一款软件能帮助用户解决账号密码的遗忘问题,需要一款软件在本地存储记忆的同时帮助用户实现手机平台上应用和网站账号的快速输入功能,以实现用户密码的安全保存和存储记忆等问题。
研究背景
目前国内安卓市场上缺少一款可以解决用户账号密码存储的软件,而国外市场中较为突出的两款1Password和Lastpass在使用上缺少国内支持且存在使用风险,1Password在跨设备同步时需要借助DropBox或谷歌云服务,而这些云服务在国内没法使用;Lastpass将密码保存于手机本地的同时将其备份至云端,而此前多次报道了Lastpass云端服务器被攻击的新闻,严重到用户的使用体验。在国外平台不可用时,而国内此类软件紧缺的前提下,实现此类软件的开发尤为重要,市场需要一款解决此类型软件贫瘠的现状。
本毕业设计的任务是完成基于国密算法的Android口令管理软件开发,针对用户对此类软件的需求,设计一款强度足够安全可靠的账号管理软件,为用户提供口令管理方案,保存用户的账号与密码以免被遗忘。通过使用初始化的主密码(管理员密码)访问本地数据库查看保存的账号密码,凭主密码登录授权可对其进行修改或是删除操作实现口令记录管理。软件开发以帮助用户保存口令密码为主要目的,向用户提供一个口令安全管理和账号快捷登录的移动平台,以解决账号口令的记忆和使用等难题[1]。
国内外研究现状分析
目前安卓软件市场中,口令管理软件比较繁杂,而在其中较为突出且为人熟知的有1 Password、Lastpass等,这两款软件经过几年的尝试,在该类型软件中享有好评,两款软件除了有包括安卓、苹果以及Windows Phone手机系统的移动端应用,还在网页端、PC端也提供密保服务,1Password和Lastpass因存储数据模式的不同而有各自的受众;另有一款只针对本地用户的KeePass密码管理软件,其功能虽受本地存储模式的限制,但因加密算法的复杂却安全可靠,是目前最安全可靠的密码管理软件平台之一。一款优秀的密码管理软件至少需要满足五项基本标准[2]。