zoukankan      html  css  js  c++  java
  • 数据加解密和数据签名验签

    一、公钥加密 
    假设两个数字1和2。数字2作为私钥,同时公布1是公钥。
    我有一个文件,不能让别人看,我用1加密。即使别人找到了这个文件,但是他不知道解密的私钥2 ,所以他解不开,只有我可以用
    数字2,就是我的私钥,来解密。这样我就可以保护数据了。
    我的朋友x用我的公钥1加密字符a,加密后生成b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,
    只有我才能解密,解密后就得到a。这样,就可以传送加密的数据。
    小结1:公钥加密,私钥解密用于保障数据的安全性。
     
    二、私钥签名
    如果我用私钥加密一段数据,结果所有的人都看到我的内容了,因为他人知道我的公钥是1,那么这种加密有什么用处呢?
    假如:我的好朋友x说有人冒充我给他发信息,应该怎么办?
    我把我要发的信息c,用我的私钥2进行加密生成d,发给朋友x,再告诉他解密看是不是c。他用我的公钥1解密,验证发现是c。
    这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我的私钥,因此他就可以确认确实是我发的东西。
    这样我们就能确认发送方的身份。这个过程叫做数字签名。所以用私钥来加密数据,用途就是数字签名。
    小结2:私钥加密,公钥解密用于验证数据来源,确认发送方身份,即数字签名。
     
    总结:
    2是私钥,1是公钥
    公钥和私钥是成对的,它们互相解密。
    公钥加密,私钥解密用于保障数据的安全性。
    用公钥1加密,别人看不到,只有用私钥2解密后才能看到。
    私钥加密(数字签名 ),公钥解密用于验证数据的正确性。
     
     
    加密的两种方式:
    1)对称加密:双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密
    优点:速度快,对称性加密通常在消息发送方需要加密大量数据时使用,算法公开、计算量小、加密速度快、加密效率高。
    缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
    在对称加密算法中常用的算法有:DES、AES等。
    AES:密钥的长度可以为128、192和256位,也就是16个字节、24个字节和32个字节;
    DES:密钥的长度64位,8个字节。
     
    2)非对称加密:一对密钥由公钥和私钥组成(可以使用很多对密钥)。私钥解密公钥加密数据,公钥解密私钥加密数据(私钥公钥可以互相加密解密)。
    私钥只能由一方保管,不能外泄。公钥可以交给任何请求方。
    在非对称加密算法中常用的算法有: RSA
    缺点:速度较慢
    优点:安全
     
    在实际的代码业务应用实践中,公钥在客户端用于加密,私钥在服务端用于解密,保障数据的安全性(小结1)。
     
    补充数字证书和电子签名业务知识
    对大多数银行来说,PC端的网上银行业务广泛采用UKey数字签名技术,安全性高;
    对使用越来越普遍的手机银行,仍主要采用手机短信验证码的方式。而手机短信验证码方式安全性低,易被获取,难以对抗木马,尤其是如果手机丢失,短信验证码方式等于完全不设防当前很多电信诈骗网络欺诈都结合了手机木马病毒盗取用户个人信息、手机短信验证码,然后再通过这些信息进行网络支付、消费、转账。
     
    中国金融认证中心(CFCA)16年9月30日央行下发了《关于加强支付结算管理防范电信网络新型违法犯罪有关事项的通知》(银发〔2016〕261号)(简称261号文),账户管理、转账管理、银行卡管理等多方面进一步加强管控力度,全力打击电信网络诈骗。261号文第二部分“加强转账管理”中,对银行非柜面转账管理明确要求,本人同行账户转账外,银行为个人办理非柜面转账业务单日累计金额超过5万元的,应当采用数字证书或者电子签名等安全可靠的支付指令验证方式。”
     
    数字证书是互联网通讯中标志通讯各方身份信息的一串数字,是各类实体(持卡人/个人、商户/企业、网关/银行等)在网上进行信息交流及商务活动的身份证明。
    数字证书是由证书授权机构(CA机构)颁发给用户,解决电子交易各个环节交易中的如下问题:身份的认证、信息的安全传输,以及交易的不可抵赖性即使您发送的信息在网上被他人截获,甚至您丢失了个人的账户、密码等信息,仍可以保证账户的资金安全。这也是261号文要求非柜面业务超5万元必须采用数字证书保障支付安全的原因。
  • 相关阅读:
    维护keepalived与mysql漂移脚本
    Linux限制普通用户只能使用某命令
    Android的AlertDialog详解
    android:传感器的使用
    android:wifi
    android: 使用Canvas 绘图
    在 Eclipse 中 配置 tomcat
    android:AIDL
    android之Service 深入剖析
    广播发送者与广播接收者
  • 原文地址:https://www.cnblogs.com/sunyuweb/p/9153946.html
Copyright © 2011-2022 走看看