`
763691
  • 浏览: 42522 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

加密算法总结

阅读更多

一个加密系统S可以用数学符号描述如下:

  S={P, C, K, E, D}

  其中

  P——明文空间,表示全体可能出现的明文集合,

  C——密文空间,表示全体可能出现的密文集合,

  K——密钥空间,密钥是加密算法中的可变参数,

  E——加密算法,由一些公式、法则或程序构成,

  D——解密算法,它是E的逆。

  当给定密钥kÎK时,各符号之间有如下关系:

  C = Ek(P), 对明文P加密后得到密文C

  P = Dk(C) = Dk(Ek(P)), 对密文C解密后得明文P

  如用E-1 表示E的逆,D-1表示D的逆,则有:

  Ek = Dk-1且Dk = Ek-1

  因此,加密设计主要是确定E,D,K。

  RSA是Rivest、Shamir和Adleman提出来的基于数论非对称性(公开钥)加密算法。大整数的素因子难分解是RSA算法的基础。

  RSA在国外早已进入实用阶段,已研制出多种高速的RSA的专用芯片。尽管RSA的许多特性并不十分理想,但迫于信息安全的实际需要,许多重要的信息系统还是采用RSA作为基础加密机制。从RSA提出不久,我国有关部门就一直对它进行研究。从应用的角度看,软件实现的RSA已经开始用于计算机网络加密,用来完成密钥分配、数字签名等功能。

  除了RSA之外,还有DES(数据加密标准)。尽管DES公开了其加密算法并曾被美国列为“标准”,但很快被废弃。加密技术又回归到“算法保密”的传统上。

 

 

常见加密算法 

 

    DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;

  3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;

      3DES是DES加密算法的一种模式,它使用3条64位的密钥对数据进行三次加密。数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥加密法,并于1981年被ANSI组织规范为ANSI X.3.92。DES使用56位密钥和密码块的方法,而在密码块的方法中,文本被分成64位大小的文本块然后再进行加密。比起最初的DES,3DES更为安全。
3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3-DES指定为过渡的加密标准),是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密表,这样,
3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
3DES解密过程为:P=Dk1((EK2(Dk3(C)))
 

 

  RC2和 RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;

  IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;

  RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;

  DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;

  AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法;

  BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;

  MD5:严格来说不算加密算法,只能说是摘要算法

  对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

  在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。(可参见MD5算法词条)

  SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些外,都不容许使用其他的;

 

分享到:
评论

相关推荐

    java对称加密算法总结

    本人总结了一些对称的加密算法,希望可以给一些朋友带来帮助!!

    超强软件开发 测试相关资料 DES加密算法总结.doc

    超强软件开发 测试相关资料 DES加密算法总结.doc

    DotNet中用到的加密算法总结

    总结,.NET框架提供了丰富的加密工具,包括对称加密算法如3DES,以及非对称加密、哈希函数等。开发者可以根据需求选择合适的算法和实现方式,确保应用程序的数据安全。在实际开发中,理解并正确使用这些加密算法对于...

    加密算法整理.docx

    加密算法在信息技术中扮演着至关重要的角色,它们用于保护数据的隐私、确保信息传输的安全以及验证数据的完整性和来源。加密技术主要分为两类:对称式加密和非对称式加密。 对称式加密,例如AES(高级加密标准)、...

    密码学实验_对称加密算法DES_非对称加密算法RSA.pdf

    本实验报告主要涉及两种加密算法:对称加密算法DES(Data Encryption Standard)和非对称加密算法RSA。实验旨在帮助学生深入理解这两种算法的基本原理,并通过Python编程实现加密和解密过程。 ### **对称加密算法...

    DES加密算法实验

    ### DES加密算法实验知识点 #### 一、实验背景与目的 **DES(Data Encryption Standard)加密算法**是一种经典的对称加密技术,在信息安全领域占据着重要地位。本实验旨在通过实践操作,加深对DES算法工作原理的...

    DES加密算法(c语言实现)

    总结来说,DES加密算法是一种重要的对称加密技术,虽然因为其相对较短的密钥长度(56位)而逐渐被更安全的算法如AES所取代,但它在密码学教育和理解加密原理方面仍具有重要价值。C语言实现的DES算法源码可以帮助我们...

    RSA加密算法实验报告.pdf

    "RSA加密算法实验报告.pdf" 本实验报告主要介绍了RSA加密算法的实现和原理,包括密钥对的产生、加密和解密过程、数字签名等。下面是该实验报告的详细知识点总结: 一、RSA加密算法的原理 RSA加密算法是基于大数...

    关于加密算法的总结

    总结来说,AES-CCM是现代通信技术中一个关键的加密算法,它结合了AES的强大加密能力和CCM的高效认证机制,为数据安全提供了坚实的基础。这种算法的广泛应用证明了其在保护敏感信息和防止网络攻击方面的重要性。

    详解.NET中的加密算法总结(自定义加密Helper类续)

    .NET框架为开发者提供了丰富的加密算法,包括对称加密、非对称加密以及哈希(Hash)算法。在本文中,我们将深入探讨这些加密算法,并基于.NET的类库创建一个可扩展且易于维护的加密助手类。 首先,让我们关注哈希...

    aes加密算法delphi

    ### AES加密算法在Delphi中的实现 AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,被广泛应用于数据安全领域。它采用固定的数据块大小(128位),支持128、192或256位密钥长度。在Delphi中...

    android 各种加密算法

    总结起来,Android开发者在处理数据安全时,需要了解并合理运用各种加密算法,如Base64用于编码和解码,MD5用于数据校验,以及更复杂的AES和RSA用于更高级别的加密需求。理解这些基本概念和使用方法,对于构建安全的...

    md5加密算法

    ### MD5加密算法详解 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,它能够接收任意长度的信息,并产生一个128位(16字节)的散列值。该算法由Ron Rivest在1991年设计,作为...

    加密算法.xmind

    本文档重要总结重要的加密算法及其加密方式代码;主要包括hash加密算法、对称加密算法、非对称加密算法

    C# Desc加密算法

    ### C# DESC 加密算法详解 #### 一、概述 在信息安全领域,数据加密技术扮演着至关重要的角色。本文将详细介绍如何使用 C# 实现 DESC(Data Encryption Standard Cipher)加密算法,并提供完整的代码示例及解析。 ...

Global site tag (gtag.js) - Google Analytics