Android平台安全(一)

      刚好五一了,已经过去两三天了,今天接触到了关于Android安全的一些东西,记录下来,Android安全我大致分三个部分来说明,今天我就先说第一个部分。

      在典型的场景中,安全主要用于解决一下4类需求:保密,鉴别/认证,完整性,不可以否认性。

      安全密码术一个潜规则是:算法公开,密钥保密。

      一.安全机制对称加密。

          

   加密的K和解密的K相同时,我们就称为对称加密,拥有相同的Key,我们通常称之为shared key.

   我们常用的加密模式,里面的算法我们抽象出来,其实都是这三种算法的一个模型:置换加密,转置加密,乘积加密,第三种是前两种的一个叠加。

   置换加密:

   a  b  c  d   e  f   g  h  i  j   k  l  m  n  o   p  q   l  s  t  u  v  w  x  y  z

   i   s   t   j    k  q  r   z  l  y   e  f  u  v  m   n  o  p g  w x  h a  b  c  d

  例如字符串加密hello-----》 zkffm   那么它的key就是i   s   t   j    k  q  r   z  l  y   e  f  u  v  m   n  o  p g  w x  h a  b  c  d


   转置加密:

   iamaboyyouareagirl

   ---------------------------------------------------

   i  a  m   a  b  o

   y  y  o    u  a  r

   e  a  g     i  r   l

   ---------------------------------------------------

    iye  bar  mog aya  aui   orl   所对应的key就是   153246


  乘积加密:

    前两种的混合叠加使用,可以是经过n次的一个叠加。安全性更高。

    对称加密的优缺点:

        1.高效。

       2.密钥交换问题。

      3.不如RSA的加密安全程度高,但是当选择256bit的AES,仍然可以在大多数领域中使用。


二.非对称加密

      

     即加密的key和解密key不一样。在对称加密里面有个最大的问题是,我需要把密钥通知给别人解密,那么这个通知很可能会被拦截掉,那么我不可能再对密钥再进行加密,那样将是一死胡同的循环,所以推出了这样一种方式,分为公钥和私钥,将公钥告诉所有人,及所有人都可以拿到这个密钥,而私钥自己保管,拿到公钥加密过的数据之后,自己用私钥解密,公钥和私钥是以键值对的形式产生的,有公钥即也有私钥,它们大致形式如下。

  

    公钥算法最重要的两个数学基础之上:

           第一个:建立在分解大数的困难度。

           第二个:建立在以大素数为模来计算离散对数的困难度。


      非对称加密优缺点:

       1.非对称加密最低是1024bit的加密,并且是对于一些大质数的基础上来加密的,所以它的安全性足够高。

       2.没有密钥交换的问题。

       3.效率低,对于大数据加密很慢。

   三.安全机制之密钥交换:

         第一种:

         如现在我有以下的场景和要求:

       

          那么在实际情况下我们可以这样去做:

          

     先使用非对称性加密,老王产生一个公钥和私钥,私钥自己保存,小李使用老王公钥将自己的私钥传输给老王,老王拿到这个数据之后,使用自己的私钥进行解密,再使用对称性加密传递数据,将小李自己的密钥加密的数据传递过来之后,用老王拿到的小李的密钥再解密。

   第二种:

        

         两个的key交换之后,再以双方各种变换的基础上,达到一个密钥相同的基础上,进行对称性加密传输。

         这是以上的两种加密回话的过程,在下一篇博客中,我将来说明Android安全机制的消息传递和电子签名等等,希望大家可以继续关注。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值