android安全学习笔记(一)

一、安全主要用于解决4类需求:1.保密(Security/Confidentiality)信息不泄露给第三方。比如:我的QQ密码、我的隐私就不希望别人知道,而在网络时代信息保存和传输是没有绝对安全的,对数据信息进行加密可以起到对信息的保密作业;2.鉴别/认证(Authentication)能够知道与你通信的对方是谁。比如我们在QQ聊天的时候,怎么知道QQ那头那个人就是那个人,有可能他的QQ被盗了,我们可以通过他平时交流的习惯,看他是否反常之类的反应来判断是否就是那个人(也许这个例子不是很准确了),所以网络通信双方我们要清楚知道对方是谁?;3.完整性(Integrity) 信息传输存储的过程中保存完整性(不被修改、不被破坏、不被插入、不延迟、不乱序、不丢失),即便被篡改,也能轻松知道已经被篡改。比如:在中国现实交易收据的金额是必须用中文大写,而且阿拉伯数字的话也一定有小数点了,对于网络信息也是一样的我们怎样才能知道数据信息是没有被篡改过,是完整的?;4.不可否认性(non-repudiation) 轻松知道该消息是有那个用户生成、签发和接受的。比如:我们现实生活中签合同,你签了自己名字,你就不能否认这份合同,网络安全也要做到用户不能否认自己做过的行为。


二、对称加密:加密模型,加密的过程Ek(M)=C  解密过程Ek(C)=M,其中M、C、k、E和D分别为明文、密文、密钥、加密算法和解密算法。当加密密钥和解密密钥是同一密钥时则称为对称加密。

对称加密的模型主要有三种:置换加密、转置加密和乘积加密(就是置换和转置加密的结合)。

置换加密:原始字符的顺序没有发生变化,只是把原始字符替换为另一字符。比如明文E:abc ,加密后的密文P为dfg:加密过程是:a--d,b--f,c--g,密钥K:dfg。

转置加密:原始字符没有发生变化,只是原始字符的顺序发生了改变。其实转置加密是基于数学的转置矩阵原理。比如:明文:asdfgqwertzxcvb,加密后的密文为:aqzdecgtbswxfrv,过程如下:

14253

asdfg         aqz

qwert ---->dec

zxcvb        gtb

                 swx

                 frv

第一步是我们先人为的把明文分为3行5列的矩阵,再根据上面的数字进行转置(上面的数字的转置的顺序,1代表第一个先转置,2就代表第二个转置)密钥就是:14253。

乘积加密:就是把转换加密和转置加密反复利用对数据进行加密和解密。


代表加密算法:DES(Data Encryption Standard)和AES(Advanced Encryption Standard)等,对两个加密算法的理解参考了:DES:http://blog.csdn.net/joe_storm/article/details/11566657和AES:http://blog.csdn.net/attitudeisaltitude/article/details/10050409。

对称加密的问题:密钥要怎样交换?不可能说密文和密钥一起发给对方,这样一旦黑客截获密文和密钥,就没有保密可言了。因此安全性不仅仅考虑加密算法,也要注意密钥的安全性。但对称加密在生活中的应用还是有很多的,比如我们电脑上的某个文档不希望被别人看到的话,可以对文档加密,就算别人打开了,文档也是一堆乱码。

三、非对称加密模型:非对称加密和对称加密的区别是非对称加密的加密密钥和解密密钥是不一样的。


公钥:顾名思义就是公开的密钥,是非对称加密过程中用来加密的密钥。

私钥:自己私有的密钥,是非对称加密过程中用来解密的密钥。

非对称加密的通俗理解:公钥和私钥是一起产生的,然后公布公钥,其他人就可以感觉公钥就数据信息进行加密和你通信,这样其他人就算截获了这段信息,没有私钥也是不能解密的,也就是只有自己可以对数据信息进行解密。这样密钥的安全性就相对来说是比较高的,不用担心密钥交换的问题。

公钥算法的理论基石:数学,数学是科学之基。公钥算法的最重要两大数学基础是:1.建立在分解大数的困难度,可以理解为我有两个很大的大质数作为私钥,公开两个大质数的乘积作为公钥,这样就算我们知道了公钥,也很难分解出两个私钥出来,也就没法破解加密过后的数据了;2.建立在以大素数为模来计算离散对数的困难度。

RSA:就是建立在分解大数的困难度的一个非对称加密算法,它的公钥和私钥长度至少1024bit,想破解的难度可想而知。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值