- 4
- 0
- 约3.73千字
- 约 7页
- 2017-02-22 发布于四川
- 举报
基于硬盘序列号和RSA加密算法的软件加密方法
基于硬盘序列号和RSA加密算法的软件加密方法
软件作为计算机的重要组成部分,随着计算机的普及,已渗入生活的各个角落。由于计算机软件易于复制,导致了盗版软件的泛滥,所以软件开发者有必要加强自我保护意识,对自己编写的软件进行加密保护,防止或尽量减少被盗版的可能性。下面我们就针对这个问题提出了一种简便易行的对正版软件进行加密的方法,保护软件开发者的合法利益。
一、软件加密保护方案
软件加密方法大致分为两大类:硬加密方法和软加密方法。
硬加密方法是指利用软件结合特定的硬件来实现软件的加密,典型的硬加密产品有加密卡、指纹认证和软件狗等;
软加密方法是指仅使用软件方法加密,主要加密方式有序列号保护、警告窗口、时间限制、KeyFile保护、功能限制等。目前,一些大型软件通常是采用综合软加密和硬加密两种方法来实现软件的保护,而一些中小型软件受制于资金等条件,一般只采用软加密方法,如序列号保护机制等,这使得中小型软件加密的可靠性和安全性大大降低。
我们知道不同计算机的硬盘序列号不相同,如果读取软件所装的计算机的硬盘序列号作为软件加密的特征值,那么即使序列号保护机制中的“用户名”和“序列号”均被盗用,那么在别的计算机上也不能成功注册使用软件,从而使得软件加密的安全性大大提高。但是,如果软件加密保护采用的是简单的对称加密算法,一旦算法被攻破或采用的是何种算法被盗版者猜出,盗版者就可以根据算法写出加密机和注册机,这个缺点使其加密的安全性和可靠性大打折扣。
因此,我们提出了一种基于硬盘序列号和RSA加密算法的软件加密方法,将硬盘序列号所具有的唯一性和不可变性,同RSA加密算法的安全性结合起来应用于软件的加密,即不会不增加软件保护成本,又提高了软件加密的安全性,保护了软件开发者的知识产权。
二、硬盘序列号
通过CPUID、分区卷标、硬盘大小、网卡MAC地址等信息均可以将任意两台计算机区分出来。但是这些信息中有的是不可靠的,例如分区卷标仅与软件系统有关,是一种不稳定的信息;有的是无法得到的,例如当机器中没有网卡或早于PentiumⅢ型号的CPU,就得不到网卡MAC地址或CPUID等信息。
而硬盘的序列号存在于硬盘的控制芯片内,不能用常规办法修改,是在出厂前由生产厂家设定的,像硬盘的物理柱面数、扇区数一样,具有与操作系统无关的特性,不会随着硬盘的分区、格式化状态而改变。硬盘序列号与将硬盘格式化成FAT或FAT32后在分区引导扇区自动生成的卷序列号根本的区别是硬盘序列号是物理存在的,而每次格式化产生的序列号是不同的,其实质是一种逻辑上的号码,并且可以手工修改。由于硬盘序列号具有唯一性、不可变性、稳定性等优点,因此本文选择硬盘序列号作加密特征值。
三、RSA加密算法原理
由Rivest、Shmair和Adlernan三人研究发明的RSA加密算法,属于非对称密钥加密算法,这种加密算法最主要特点就是加密和解密使用不同的密钥。RSA加密算法利用两个很大的质数相乘所产生的乘积来进行加密,两个质数无论那一个与原文件编码相乘对文件加密后,均可由另一个质数再与原文件编码相乘来进行解密。它的算法大致步骤如下:
1)取两个相近的大素数p、q;
2)计算n=p*q,z=(p-1)*(q-1);
3)任取一个与z互素的整数e;
4)计算满足e*dmodz=1的整数d;
5)若用整数m表示明文,整数c表示密文(m,c均小于n),加密、解密过程如下:
加密:c=memodn
解密:m=cdmodn
6)(n,e)和(n,d)分别称为“公开密钥”和“秘密密钥”。根据Euler定理可得:
m=cddmodn=(memodn)dmodn=m
四、设计流程与程序的具体实现
1、设计流程
基于硬盘序列号和RSA加密算法的软件加密流程如图1所示,按如下三个步骤进行:
1)软件使用方在安装软件的过程中,点击“注册”按钮后,程序会自动读取软件使用方PC机的硬盘序列号diskID并显示在文本框中,同时按默认路径自动搜索认证文件。若认证文件存在,则程序自动进行步骤(3)中的解密判断注过程;若不存在,则提示软件使用方将硬盘序列号diskID通过e_mail发送给软件开发方;
2)软件开发方将硬盘序列号diskID逆序后得到的m经RSA加密后得到序列号c,将序列号c写入认证文件,并将认证文件和认证文件的指定存储路径通过email发送给客户;
3)软件使用方将认证文件按指定路径保存后点击“下一步”按钮,程序读取认证文件中的序列号c进行解密,得到m,再将m逆序后得到diskID1。然后比较diskID1和用户得到、提供给软件开发方的diskID,如果两者相等,则认为是正版软件,显示“注册成功”。否则认为是盗版软件,退出注册界面。
2、程序的具体实现
(1)硬盘序列号的读取
读取硬盘序列号程序使用了第三方开发的Di
您可能关注的文档
- 2019-2020年六年级上册期末复习提纲.doc
- 2019-2020年六年级上册期末复习检测模拟卷.doc
- 2019-2020年六年级上册期末复习检测试卷.doc
- 2019-2020年六年级上册期末复习模拟试卷(1).doc
- 2019-2020年六年级上册期末复习模拟试卷(2).doc
- 实验一柔性动化生产线机电一体化系统演示实验.doc
- 2019-2020年六年级上册期末复习资料.doc
- 实际项目需求说明书案例.doc
- 2019-2020年六年级上册期末总复习--介词短语.doc
- 实验一蛋白质含量测定方法的研究.docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)