怎么样做自己的网站,网站设计字体,做简历比较好的网站,做视频招标的网站有哪些加密技术源远流长#xff0c;自从古代有了信息的传递和存储#xff0c;就有了加密技术的运用。此后#xff0c;很长一段时间里#xff0c;加密及解密技术在军事、政治、外交、金融等特殊领域里被普遍采用#xff0c;并经过长时间的研究和发展#xff0c;形成了比较完备的…加密技术源远流长自从古代有了信息的传递和存储就有了加密技术的运用。此后很长一段时间里加密及解密技术在军事、政治、外交、金融等特殊领域里被普遍采用并经过长时间的研究和发展形成了比较完备的一门学科——密码学。 密码学是研究加密方法、秘密通信的原理以及解密方法、破译密码的方法的一门科学。 加密和解密的过程大致如下首先信息的发送方准备好要发送信息的原始形式叫作明文。然后对明文经过一系列变换后形成信息的另一种不能直接体现明文含义的形式叫作密文。由明文转换为密文的过程叫作加密。在加密时所采用的一组规则或方法称为加密算法。接收者在收到密文后再把密文还原成明文以获得信息的具体内容这个过程叫作解密。解密时也要运用一系列与加密算法相对应的方法或规则这种方法或规则叫作解密算法。在加密、解密过程中由通信双方掌握的参数信息控制具体的加密和解密过程这个参数叫作密钥。密钥分为加密密钥和解密密钥分别用于加密过程和解密过程。 在加密和解密的过程中如果采用的加密密钥与解密密钥相同或者从一个很容易计算出另一个则这种方法叫作对称密钥密码体制也叫作单钥密码体制。反之如果加密和解密的密钥并不相同或者从一个很难计算出另外一个就叫作不对称密钥密码系统或者公开密钥密码体制也叫作双钥密码体制。
一、对称密钥加密算法 在过去很长一段时间里人们一直都采用对称密钥密码体制来对信息进行加密和解密直到现在对称密钥密码体制也仍然是一种非常重要的常用加密方法。 对称密钥密码体制中加密和解密过程中所使用的是同一个密钥或者即使加密密钥和解密密钥不同但是很容易地由一个计算出另外一个。显然在这种密码体制中密钥成为整个秘密通信的核心整个加密系统的安全性完全以密钥的保密为基础。如果密钥暴露则整个密码体制就完全失去了保密的效果。所以说密钥的保密是对称密钥加密体制安全保密的关键必须妥善保存并经由可靠的渠道传递。 对称密钥加密算法有多种例如DESData Encryption Standard数据加密标准、 IDEAInternational Data Encryption Algorithm国际数据加密算法、Skipjack、3DES、GDES、 New DES、Lucifer、FEAL N、LOKI 91、RC4、RC5 等。 1DES 算法 DES 算法是 1977 年美国政府公布的一种加密算法由于算法实现简单加密效果好在很长时间里在全世界范围都被广泛运用。它通过对数据进行非常复杂的迭代和置换进行加密使得企图破译者从加密后的密文中无法获得任何有效信息。对这种加密方法如果用穷举的方法进行攻击的话由一台一秒钟能够进行 10 000 次破译的计算机来计算则要经过 200 多年才能够破解可见 DES 算法具有很好的保密效果。另外DES 算法实现起来并不复杂不但在软件中可以容易地实现而且早已经在芯片上实现了使用起来非常方便。 DES 算法的过程简单来说就是把要加密的明文分成 64 位的数据段作为输入再使用根据 64 位密钥变化生成的 52 个子密钥对输入的数据段依次进行初始置换、16 轮迭代、逆初始置换然后得到 64 位密文。 DES 的解密过程与加密过程几乎相同只是子密钥的使用顺序不一样。加密时依次使用的部分参数 K1 K2 K3 …K16在解密时则按照 K16 K15 K14 …K1顺序使用。其他算法完全一样这也是 DES 容易使用的一个方面。 2IDEA 算法 IDEA 在加密运算中所处理的数据段大小也是 64 位但是所用的密钥长度为 128 位而且采用更加复杂的加密算法目的是保证它不会被轻易破译。IDEA 是一种加密强度很高的加密算法迄今为止还没有出现对该算法的有效攻击。假如一台计算机一秒钟可以产生和运行 10 亿个密钥则要猜出 IDEA 密钥需要花费 1013 年的时间可见 IDEA 的加密强度非常高。另外IDEA 实现非常方便既可以通过软件实现也可以通过硬件实现。 IDEA 算法对数据的处理是以 64位为单位的在加密前把要加密的明文按每 64 位作为一个数据段进行分割然后分别加密。 IDEA 的解密过程与加密过程基本相同所不同的就是解密子密钥的产生方式与加密子密钥的产生方式不一样解密的其他运算过程同加密一样也是把 64 位数据段分成4个 16 位的数据段然后经过八轮迭代变换和一轮输出变换就可以得到对应的明文结果。
二、不对称密钥加密算法 对称密钥加密方法是加密、解密使用同样的密钥由发送者和接收者同时保存在加密和解密时使用相同的密钥。采用这种方法的主要问题是密钥的生成、导入、存储、管理、分发等过程比较复杂特别是随着用户的增加密钥的需求量成倍增加。而在较大规模的信息系统中大量密钥的分配与管理是一个难以解决的问题。 例如系统中有 n 个用户其中每两个用户之间需要建立密码通信则系统中每个用户须掌握(n-1)/2 个密钥而系统中所需的密钥总数为 n*(n-1)/2 个。对 10 个用户的情况每个用户必须有 9 个密钥系统中密钥的总数为 45 个。对 100 个用户来说每个用户必须有 99 个密钥系统中密钥的总数为 4950 个。这还仅仅考虑用户之间的通信只使用一种会话密钥的情况如果不同的会话需要变换不同的密钥则密钥总数就更多了。如此庞大数量的密钥生成、管理、分发是一个难以处理的问题。 与对称密钥加密方法不同不对称密钥加密技术在对信息进行加密和解密时需要分别采用两个不同的密钥因此也称为双钥加密方法。它在运算中先产生一对密钥其中之一是保密密钥由用户自己保存不能向外界泄漏简称私钥另一个为公开密钥可对外公开甚至可在公共目录中列示简称公钥因此也称公开密钥加密方法。 只有使用私钥才能解密用公钥加密的数据同时使用私钥加密的数据只能用公钥解密。在通信过程中如果发送者要向接收者发送保密信息则需要先用接收者的公开密钥对信息进行加密然后发送给该接收者接收方用其私钥能够顺利解密。而其他人即使收到 加密的密文也无法正确解读从而达到保密通信的目的。 公开密钥加密方法中要想达到良好的加密效果算法上必须做到在计算上产生密钥非常容易已知公钥的情况下对明文加密在计算上很容易实现已知私钥的情况下对密文解密在计算上很容易实现尽管用于加密和解密的两个密钥在数学上是相关的但是在已知公钥的情况下要想求得私钥在计算上不可行已知公钥和密文的情况下要想求得明文在计算上不可行。只有做到以上几点才能有效地防止攻击者对算法的破译。 不对称密钥加密算法有多种例如RSA、背包密码、McEliece、Diffe Hellman、Rabin、 Ong Fiat Shamir、零知识证明的算法、椭圆曲线、EIGamal等。这里主要介绍 RSA 的加密原理。 在众多的公钥加密算法中以 1977 年由 Ron Rivest、Adi Shamir 和 Leonard Adleman 提出的以他们的名字命名的 RSA 加密算法最为著名。而且它是第一个既能用于数据加密也能用于数字签名的算法。RSA 从提出到现在已经二十多年经历了各种攻击的考验逐渐为人们所接受被普遍认为是目前优秀的公钥加密方法之一。由于它易于理解和操作因而获得了广泛的应用。但 RSA 的安全性一直未能得到理论上的证明。 RSA 的安全性依赖于大数的分解即求得两个大数例如大于 100 位的十进制数的乘积非常容易但是要把一个大数分解为两个素数却非常困难。 在 RSA 加密体制中每个用户有公开密钥 PK (Ne)和私人密钥 SK (Nd)其中 N 为两个大素数的乘积为了保密性更好一般都取两个 100 位以上的大素数相乘得到 N。 e 和 d 是根据一定运算法则计算得到的虽然 N、e、d 之间存在一定的计算关系但是攻击者根据 N、e 无法求解 d从而实现不对称加密。 1RSA 加密过程 首先把需要加密的明文按比特位分成等长的数据段使得每个数据段对应的十进制数小于 N即数据段的长度小于 log2N。然后依次对每个明文数据段 m 做加密运算可以得到密文 c∶c me mod N。 相应的解密时对密文数据段做解密运算就可以得到明文 m∶m ce mod N。 2RSA 数字签名 RSA 加密算法不仅可以用于信息的加密而且还可以用于发送者的身份验证或数字签名。例如用户 B 要向 A 发送一个信息 m而且要让 A 确信该信息就是 B 本人发出的。为此B 用自己的私钥 SK (Nd)对信息加密得到密文 c∶c md mod N然后把 c 发送给 A。A 收到密文后使用 B 的公钥 PK (Ne)对密文进行解密得到明文 m∶m ce mod N。这样经过验证A 可以确认信息 m 确实是 B 发出的因为只有 B 本人才有与该公钥对应的私钥其他人即使知道公钥也无法猜出或计算出 B 的私钥来冒充他发送加密信息。