shursulei

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

java加密与解密技术

一、对称加密算法
    一、对称加密算法————DES(已被破解)
    二、对称加密算法————3重DES
        1、出现的原因:违反柯克霍夫原则;安全问题
        2、3重DES的好处:密钥长度增强;迭代次数提高
    三、对称加密算法————AES
        1、AES是目前使用的最多的对称加密算法(尚未破解)
             AES通常用于移动通信系统加密以及基于SSH协议的软件
               SSH Client、secureCRT
        2、高级(DES的替代者)
    四、对称加密算法————PBE
        PBE:基于口令加密
        对已有算法的包装
        JDK、BC
        盐(salt)
        PBEWithMD5AndDES
    五、回顾(实际操作中是需要传送的)
二、非对称加密算法
    1、高级;双保险;公钥、私钥(成对出现)
       DH(Diffie-Hellman)密钥交换算法;
       RSA-基于因子分解(数字加密和数字签名)
       ElGamal-基于离散对数
       ECC-椭圆曲线加密算法
    2、DH(Diffie-Hellman)密钥交换算法(Provider())
       构建本地密钥
       -初始化发送方密钥
         -keyPairGenerator
         -keyPair
         -PublicKey
           //创建keyPairGenerator对象
           keyPairGenerator senderKeyPairGenerator=keyPairGenerator.getInstance("DH");
       -初始化接收方密钥
         -KeyFactory()
         -X509EncodedKeySpec(根据ASN.1标准进行密钥编码)
         -DHPublicKey
         -DHParameterSpec(DH使用参数的集合)
         -keyPairGenerator
         -PrivateKey
          注:generatePublic()方法用来生成公钥
             generatePrivate()方法用来生成私钥
       -密钥构建
         -KeyAgreement(提供密钥协定协议Instance)
         -SecretKey(秘密密钥,)
         -KeyFactory
         -X509EncodedKeySpec
         -PublicKey
       -加密、解密
        -Cipher
    3、非对称加密算法-RSA(速度慢)
       -唯一广泛接受并实现
       -数据加密&数字签名
       -公钥加密、私钥解密
       -私钥加密、公钥解密
    4、非对称加密算法-ElGamal
        -公钥加密算法
        -Bouncy Castle(bc)
三、Java实现Base64加密
     java安全组成
      -JCA()、JCE(des、aes、rsa算法通过jce提供)、JSSE(提供基于SSL的加密功能,主要用于网络传输)、JAAS(权限的问题)
      使用第三方提供的安装包,修改jdk包中的jre/lib/secerty(修改方式百度)
     算法实现
       jdk
       Commons Codec
       Bouncy Castle
   http://zh.wikipedia.org
四、java实现消息摘要算法加密
   1、消息摘要算法
      -MD
      -SHA
      -MAC
      -作用:验证数据完整性;数字签名核心算法
    2、消息摘要算法-MD
      -MD5
      -MD家族(128位摘要信息)
       -MD2、MD4(电驴)

posted on 2017-05-09 16:20  shursulei  阅读(103)  评论(0)    收藏  举报