论文部分内容阅读
随着计算机技术的不断发展,面向各应用领域或行业需求的各种软件不断地孕育而生。计算机软件的开发凝聚了软件开发人员大量的心血,其作为随着计算机技术的不断发展,面向各应用领域或行业需求的各种软件不断地孕育而生。一种商品,具有一定的市场价值,但在给人们的生活和工作带来方便的同时,又由于软件本身具有容易被复制的特点,人们必须考虑被他人非法盗用,严重损害软件开发者权益的问题,即软件安全问题。我们知道无论哪种优秀的软件,其内部核心的技术往往是该软件的命脉,一旦被他人窃取或被非法复制,由此受到的经济损失是无法估计的。目前软件的保护技术包括软加密和硬加密两种方式,用硬件保护是一种较安全的技术,但是成本太高;纯软件加密因其经济且方便而蓬勃发展,当前外壳加密技术便是我们常用的一种软件保护手段。
本系统是结合加密技术、压缩技术和软件加脱壳技术,提出了一种基于椭圆曲线数字签名算法的软件保护方案,并运用JBuilder进行编程,实现了该方案的基本功能。
基于椭圆曲线数字签名算法的软件保护方案的基本思想就是基于椭圆曲线密码技术对要保护的软件实现加壳,当执行要保护的软件时,首先执行系统的壳,然后,在执行过程中通过密码实现脱壳,再运行被保护程序。其中,加壳时生成的密码和脱壳时用到的密码验证,均由椭圆曲线数字签名来实现。
基于椭圆曲线数字签名的软件保护系统利用了椭圆曲线密码体制的安全性高,密钥长度小,算法灵活性好等优点;并利用基于椭圆曲线离散对数问题的难解性,建立了一个具有产权的文件保护系统,实现了对软件的防拷贝,防扩散的功能,从而保护了软件所有者的正当权益。该方案的安全性不寓于算法本身,只要密钥不被泄漏,破解者就无法根据算法和公钥生成新的私钥。同时,通过使用现有的脱壳软件进行测试分析,展现了该方案具有良好的可用性及较高的安全性。