加密原理概述

YT699

防盗版加密原理概述

软件防盗版的作用是防止软件被非法拷贝,主要的加密方法,总的来说有如下几种

1、使用储存器进行加密,就是将自定义的数据写到锁中,然后程序在运行时,读取这些数据,如果可以读取出相应的数据,就可以判断存在对应的加密锁,与储存器有关的函数是YReadEx函数YWriteEx函数YRead函数YWrite函数YReadString函数YWriteString函数SetReadPassword函数SetWritePasswor函数

2、使用增强TEA算法(强烈推荐),开发商可以设置不同的增强算法密钥,对于同一数据,不同的算法密钥,加密的结果不相同。开发商可以送一个数据给加密锁,让加密锁加密后返回,然后判断是否是预期的值。也可以让锁进行加密运算的同时,让程序也做同样的运算,然后进行比较。与增强算法有关的函数是:SetCal_2函数Cal函数EncString函数等。

3、使用SM2国密算法(强烈推荐),开发商可以设置不同的SM2算法密钥对,对于同一数据,不同的算法密钥对,加密的结果不相同。开发商可以送一个数据给加密锁,让加密锁加密后返回,然后判断是否是预期的值。开发商可以将随机数送给加密锁用私钥进行加密,让加密锁返回加密后的数据,然后再让让程序用公钥进行解密,比较解密后的数据是否与原来加密的随机数相同。与SM2国密算法有关的函数是:SM2_EncBuf函数SM2_DecBuf函数SM2_EncString函数SM2_DecString函数等。

提示1:增强算法为TEA算法,相关的算法不同的开发语言版本可以在网上及我们的源码中找到

提示2:开发商可以根据自已的需要,选择不同的加密方案,也可以几种加密方案结合使用。

提示3:推荐如下加密方案:生成随机数,让锁做加密运算,同时在程序中做同样的运算(指的是软件使用TEA算法),然后进行比较判断,注意,在软件中作加密或解密时一定要对密钥进行变换,而不要直接出现在程序中。

提示4:SM2算法只支持版本或扩展版本大于或等于33的锁(即智能卡芯片)