关于文件(软件)签名问题的理解

手机等系统安装软件时一般会进行签名处理;

一、签名原理:

1.签名是根据hash算法或md5算法进行对包文件(apk,exe等文件)计算得出hash值或md5值的过程,这个计算得来的hash值或md5值就是此包文件的签名;

并将此签名保存到整个包文件的指定文件夹中;

但是为了安全处理还要进行加密处理;

二、整个运行流程;

将软件包的拥有者分为两类;一类是开发者D;另一类是使用者U;

开发者签名并加密阶段::

1.开发者D对包文件进行签名;

根据签名算法进行签名得到签名值(hash值或md5值);

2.开发者D对文件进行加密;

使用RSA加密算法进行非对称加密;这里认为使用私钥加密;公钥解密;

通过RSA对签名进行加密后得到新的值记为hsah’或md5′;并将新得到的加密签名替换到原签名(未加密)所在文件夹中,也即是将加密后的签名替换掉未加密的签名;

使用者计算得到的包文件签名并解密原签名阶段

3.使用者对得到的包文件进行同样算法的签名计算;得到hash或dm5值

4.解密包文件中的hash’或md5’值并与计算得到的hash或md5值进行匹配;

相同则说明签名成功;


文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34716 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年6月13日
下一篇 2017年6月13日

相关推荐