没有合适的资源?快使用搜索试试~ 我知道了~
首页Android签名机制介绍
Android签名机制介绍
需积分: 46 359 浏览量
更新于2023-05-24
评论
收藏 2.65MB PPTX 举报
一、Android签名机制--基础概念 1. 消息摘要算法 2. 非对称加密算法(RSA算法) 3. 数字签名 二、Android签名机制--APK签名过程 1. APK签名概述 2. APK签名相关的文件 3. 签名的过程(MANIFEST.MF) 4. 签名的过程(CERT.SF) 5. 签名的过程(CERT.RSA) 6. 签名结束 三、Android签名机制--APK签名验证过程 1. APK签名验证概述 2. 简略调用流程 3. 详细校验流程(校验CERT.RSA) 4. 总结
资源详情
资源评论
资源推荐

Security
Level:
HUAWEI TECHNOLOGIES CO., LTD.
www.huawei.com
Android 签名机制(一)
-- 基础概念
Author/ Email: Author's name/Author's email
Version: V1.0(20YYMMDD)

一、消息摘要算法
1. 消息摘要算法的定义:
消息摘要算法( Message Digest Algorithm )是一种能产生特殊输出格式的算法,其原理是根据一定
的运算规则对原始数据进行某种形式的信息提取,被提取出的信息就被称作原始数据的消息摘要。著名的摘要算
法有 RSA 公司的 MD5 算法和 SHA-1 算法及其大量的变体。
2. 消息摘要算法的主要特点:
1 )无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用 MD5 算法摘要的消息有 128 个
比特位,用 SHA-1 算法摘要的消息最终有 160 比特位的输出。
2 )一般来说(不考虑碰撞的情况下),只要输入的原始数据不同,对其进行摘要以后产生的消息摘要也必不相
同,即使原始数据稍有改变,输出的消息摘要便完全不同。但是,相同的输入必会产生相同的输出。
3 )具有不可逆性,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的原始消息。
3. 举例:
git 的 commit 字段,就是 SHA-1 算法得到的

二、非对称加密算法( RSA 算法)
1. RSA 简介
1977 年,三位数学家 Rivest 、 Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法
用他们三个人的名字命名,叫做 RSA 算法。从那时直到现在, RSA 算法一直是最广为使用的 " 非对称加密算
法 " 。
2. 初步感受 RSA 算法使用过程:
非对称加密是通过两个密钥(公钥 - 私钥)来实现对数据的加密和解密的。
公钥: E = ( 3 , 33 ) ;私钥: D = ( 7 , 33 );待加密的数据: M = 20
加密过程:使用公钥 P 对数据 M 进行加密 -> E ( M ) = 14 = S
解密过程:使用私钥 D 对加密后的数据 S 进行解密 -> D ( S ) = 20 = M
( 3 、 33 )
( 7 、 33
)
公
钥
私
钥
数据
20
密文
S
数据
20
密文
S

二、非对称加密算法( RSA 算法)
3. 通过代码实现 RSA 算法的加解密功能
RSAsimple.java

二、非对称加密算法( RSA 算法)
4. RSA 算法公钥、私钥的计算过程
(1) 选择两个不同的大素数 p 和 q ;
(2) 计算乘积 n=pq 和 Φ(n)=(p-1)(q-1) ;
(3) 选择大于 1 小于 Φ(n) 的随机整数 e ,使得 gcd(e,Φ(n))=1 ;注: gcd 即最大公约数。
(4) 计算 d 使得 d*e mod Φ(n) =1 。
(5) 对每一个密钥 k=(n,p,q,d,e) ,定义加密变换为 Ek(x)=x**e mod n ,解密变换为 Dk(y)=y**d mod n ,这里
x,y∈Zn ;
(6)p,q 销毁,以 {e,n} 为公开密钥, {d,n} 为私有密钥。
实例:
1. 假设 p = 3 、 q = 11 ( p , q 都是素数即可。),则 N = pq = 33 ;
2. r =Φ(n)= (p-1)(q-1) = (3-1)(11-1) = 20 ;
3. 根据 gcd(e,Φ(n))=1 ,即 gcd(e,20)=1 ,令 e=3 。取 d = 7 , 使得 (3 * 7) % 20 = 1
( 3 、 33 )
( 7 、 33
)
公
钥
私
钥
得到了一对秘钥:公钥( 3,33 ) 私钥
( 7,33 )
剩余34页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0