当前位置:首页 > 法律资讯 > 法律常识 > 知识产权法 > 著作权法 > 著作权保护 > 非对称加密算法在软件版权保护中的应用
非对称加密算法在软件版权保护中的应用
发表时间:2012-06-06 浏览次数:423

摘 要:

利用公开的非对称加密算法(又称为公钥加密算法)rsa的技术设计自己的软件注册算法,提供高注册算法的破解难度,起到了保护软件版权的作用。

关键词:

非对称加密算法,公钥加密算法,rsa、注册算法

1 引言

现在很多软件使用注册码进行版权保护,但由于设计不佳,很容易被破解者做出注册机,下面介绍一种方法,利用公开的非对称加密算法(又称为公钥加密算法)rsa的技术设计自己的软件注册算法,使用这种方法,再不知道密钥的情况下很难做出注册机,提供高注册算法的破解难度,起到了保护软件版权的作用。

2 注册算法

2.1 rsa

rsa采用一对密钥,即公钥和私钥,从公钥难于推出私钥,反之亦然,这个难度是基于大数分解的难度。本文重点在于设计一种注册算法来保护软件版权,rsa加密算法的详细过程参考其它资料。[1]

2.2 基本思想

首先生成一对rsa随机公钥e和私钥d,这里采用rsatool(http://www.secretashell.com/tmg/rsatool2v15.zip)生成64-bit rsa的参数,例如:大素数p = d53f26f3, 大素数q = f05c1deb, 模数n = c837f021b7b64811, 私钥d = 9fbba8f203983365, 公钥e = 10001。

有了这些参数可以开始写一个注册机了,密文c = (m ^ d) mod n,其中^表示乘幂,mod表示求余,n为rsa的模数。

对应的注册验证程序,明文m' = (c ^ e) mod d,接下来只要比较明文即用户名就可以了。

2.3 实现

已经有一些现成的软件组件库可以使用,可以使用大数运算库freelip(http://www.und.nodak.edu/org/crypto/crypto/numbers/programs/freelip/freelip_1.1.tar.gz),也可以更简便地使用rsa加密函数库,这里给出了使用bitencrypt软件加密套件(beworkshop) v0.11(http://www.bitencrypt.com)的程序代码范例,此组件库商业使用需要收费。

某注册机的c++代码片段:

rsaencrypt(username, privateexponent, modulus, serialnumberresult);

某验证程序的c++代码片段:

rsadecrypt(serialnumber, publicexponent, modulus, usernameresult);

bool registrypassed = !strcmp(usernameresult, username);

我的一个商业收费软件kidsms使用了这种注册算法,效果很理想,下面的图片展示的是软件注册界面和注册机的截图。

2.4 改进

方便用户输入可以,把密文进行编码,变成可显示字符,比如采用base64、uuencode编码等,同样验证注册码时需要对其进行解码。

以上就是小编为您带来的“非对称加密算法在软件版权保护中的应用”全部内容,更多内容敬请关注律咖网!

著作权纠纷专家律师

肖本岗 业务水平指数:95 律咖推荐指数:91 业务咨询人数: 133

武汉大学法学专业,专注企业尤其是中小企业法律需求研究及解决方案设计。针对企业的股权运用、股权设计、股权融资以及股权交易等研究,并且擅长于提炼企业内部交易模式,运用法律规则平衡解决企业交易模式问题。

电话咨询

优质服务

用真心换诚信,优质服务

权威法律顾问

专业律师团队为您提供权威建议

律师资质认证

律师100%实名审核

不间断回复

7*24小时不间断律师回复提醒

一站式服务

找、问、查、委托一站服务