囧小错吧 关注:136贴子:6,649

常见加密算法,及C语言源代码,纯C版本

只看楼主收藏回复

加密算法的入门笔记,理解性的记录一下,加密算法。个人理解,非权威。
部分加密算法C语言源代码。


1楼2013-02-06 13:15回复
    目前比较常见的加密算法可以分成三种:对称加密算法,非对称加密算法和Hash算法。


    2楼2013-02-06 13:16
    回复
      对称加密算法:指加密和解密使用相同密钥的加密算法。它的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用。


      3楼2013-02-06 13:16
      回复
        对称加密算法,也叫私钥加密,是较早出现的加密算法,技术比较成熟,现在世界上各国的情报机关,还多是保留了此种加密方法。收信方与发信方,双方使用同一个密钥,对所发送的信息进行加密,和解密。


        4楼2013-02-06 13:17
        回复
          这使得收信方与发信方,必须事先知道密钥,将其约定。比如,武侠片中的对暗号,天王盖地虎,宝塔震河腰。
          便是此类加密。


          5楼2013-02-06 13:17
          收起回复
            常见的对称加密算法有:
            DES算法,3DES算法,TDEA算法,Blowfish算法,RC4算法,RC5算法,RC6算法,IDEA算法,AES算法


            8楼2013-02-06 13:17
            回复
              ------------------------------------------------------------
              -------------------------华丽丽的分割线---------------------------------------
              下面开始非对称加密


              9楼2013-02-06 13:18
              回复
                非对称加密
                加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。


                10楼2013-02-06 13:18
                回复
                  如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。由于公钥是公开的,用户只要保管好自己的私钥即可,因此加密密钥的分发将变得十分简单。


                  11楼2013-02-06 13:18
                  回复
                    同时,由于每个用户的私钥是唯一的,其他用户除了可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。


                    12楼2013-02-06 13:18
                    回复
                      介于以上理解,非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比对称加密慢上1000倍。


                      13楼2013-02-06 13:19
                      回复
                        常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名)背包算法、Rabin、D-H
                        其中ECC算法,就是椭圆曲线加密算法,使用原理就是在数学中所学的椭圆曲线。


                        14楼2013-02-06 13:19
                        收起回复
                          --------------------------------------------
                          ------------------------华丽丽的分割线---------------------------------------
                          下面开始hash加密


                          15楼2013-02-06 13:19
                          回复
                            看了一下百度百科,介绍的对称加密和非对称加密,感觉比较乱啊。嘻嘻
                            还是我的白话文好看的多。


                            16楼2013-02-06 13:19
                            回复
                              Hash算法是一种单向算法,将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。


                              17楼2013-02-06 13:20
                              回复