法律知识
首页>资讯>正文

非对称加密算法在软件版权保护中的应用

来源:听讼网整理 2018-09-03 02:42

摘 要:
运用揭露的非对称加密算法(又称为公钥加密算法)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编码等,相同验证注册码时需求对其进行解码。
Copyright ©法律咨询网 免责申明:会员言论仅代表个人观点,本站不承担法律责任