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

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

一、签名原理:

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值进行匹配;

相同则说明签名成功;



你可能感兴趣的:(linux,linux,算法,解密,签名)