173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

加密算法实验总结论文

keros@mark 2022-10-28 资讯中心

本文目录一览

MD5算法的毕业设计

摘 要 随着计算机网络的普及,网络攻击、计算机犯罪也随之不断增多。尤其是针对缺少技术支持的个人用户。与公司机关等大型用户相比,个人用户的防护较简单,防护意识差,使得个人隐私容易泄露,网络侵权不断发生。如何满足个人用户的保密、加密需求,采用什么样的加密模型,就成为了值得研究的问题。本文通过研究现有的三维魔方加密,将三维三阶的魔方映射成用数组表示的虚拟魔方,仿照魔方的移动规律设计并改进了虚拟魔方的加密方式,该方式通过一定的随机步骤移动达到加密置乱的效果。在此基础上将虚拟魔方扩展到N维,分析了加密效率与加密强度随着维度增加的关系,同时结合主流破解方式,分析魔方加密的抗攻击能力。根据魔方加密的特性,找出魔方加密模型运用到文字加密上的不足,结合椭圆曲线加密算法改进N维魔方加密模型。并且针对汉字是象形文字与以字母为基础的拉丁语系不同的特性,加入伪随机数置乱,提高魔方加密对汉字的加密能力。在此研究基础上给出一个简单的实现,该实现是改进后的魔方加密模型。用该实现与DES算法进行对比试验,根据实验结果进行了加密性能和加密效率的总体算法分析。论文最后对全文进行了总结,并对后续工作进行了展望。 关键词:加密, N维, 魔方, 椭圆, 伪随机第一章 魔方加密算法设计与分析 1 1.1 魔方加密思想 魔方,于20世界70年代末期由匈牙利人Erno Rubik发明,是当时最著名的智力游戏。由3 * 3 * 3个方块组成,在整个魔方的每个小块暴露在外的面上刷有不同的颜色。任意一个3 * 3 * 1的面可以相对于其它面旋转或者扭曲90、180、270度。游戏目标状态是魔方的每一个面颜色调成一致,而任务就是把魔方还原成初始状态。魔方问题相当的复杂,有4.3252 * 1019种不同状态。如果采用魔方来加密的话,一个密钥对应一种状态。理论上密钥空间可以达到4.3252 * 1019 种,假设计算机一秒钟可以尝试255次密码的话,最糟糕的情况需要55.4亿年才能够完全破解。对于普通的个人用户来说,这样的加密强度已经是绰绰有余了,理论上魔方加密算法在个人文件加密上应该有很大的应用前景。但是,现在魔方加密的主要应用是在图像加密方面。 1.1 加密算法的对比与选择 两种加密方法的体制,总体来说主要有三个方面的不同:管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了aes虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。速度上来看:aes的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。 本文来源于:

论文 加密技术在电子商务中的应用 怎么写?

[摘要] 安全问题是企业应用电子商务最担心的问题,而如何保障电子商务活动的安全,将一直是电子商务的核心研究领域。SET是当前Internet上比较常用的加密方法,本文在SET 协议的交易流程基础上,分析了其安全机制采用的技术和特点。 [关键词] 安全 电子商务 加密技术 SET 一、引言 安全问题是企业应用电子商务最担心的问题,而如何保障电子商务活动的安全,将一直是电子商务的核心研究领域。作为一个安全的电子商务系统,首先必须具有一个安全、可靠的通信网络,以保证交易信息安全、迅速地传递;其次必须保证数据库服务器绝对安全,防止黑客闯入网络盗取信息。

电子商务(E-business)要求顾客可以在网上进行各种商务活动,不必担心自己的信用卡会被人盗用。在过去,用户为了防止信用卡的号码被窃取到,一般是通过电话订货,然后使用用户的信用卡进行付款。现在人们开始使用各种加密技术,提高信用卡交易的安全性,从而使电子商务走向实用成为可能。

二、SET协议

SET是当前Internet上比较常用的加密方法,SET(Secure Electronic Transaction, 安全电子交易)协议是基于信用卡在线支付的电子商务系统的安全协议。

SET协议通过制定标准和采用各种技术手段, 解决了当时困扰电子商务发展的安全问题。由于得到了很多大公司的支持, 它已形成了事实上的工业标准,已获IETF 标准认可。

SET协议的购物系统由客户、商家、支付网关、收单银行和发卡银行五个部分组成。当持卡人在网上商店选择了要购买的商品,填写订单并选择付款方式为“在线支付”时,SET协议开始介入工作,它的参与者之间的数据交换过程如图所示。

持卡人发送给商家一个完整的定单及要求付款的指令。在SET协议中,订单和付款指令由持卡人进行数字签名,同时利用双重签名技术保证商家看不到客户的银行账号信息;商家接受订单后,向为持卡人开户的金融机构发出支付请求;通过支付网关将银行账号传送到收单银行,再到发卡银行进行确认;当发卡银行批准交易后,返回确认信息给商家;商家发送订单确认信息给持卡人;持卡人计算机上的软件可记录交易日志,以备将来查询;商家给持卡人配送货物,完成订购服务,一个购物过程至此结束。

SET协议是适合于B2C模式电子商务的、以信用卡为基础的支付协议, SET 优麦电子商务论文使用多种安全技术来达到安全支付的要求,其中对称密钥技术、非对称加密技术和Hash 算法是核心。

SET采用两种加密算法进行加密、解密处理,其中密钥加密是基础;公钥加密是应用的核心。密钥加密用同一个密钥来加密和解密数据,主要算法是DES;公开密钥要求使用一对密钥,一个公开发布,另一个由收信人保存。发信人用公开密钥加密数据,收信人则用私钥去解密,主要算法是RSA。

金融交易要求发送报文数据的同时发送签名数据作为认证。这种数字签名是一组加密的数字。SET要求用户在进行交易前首先进行数字签名,然后进行数据发送。

网上交易过程中必须确认用户、商家及所进行的交易本身是否合法可靠。SET体系中还有一个关键的机构认证中心(CA),它根据X.509 标准发布和管理数字证书。SET协议规定CA发给每个持卡人一个数字证书,持卡人选中一个口令,用它对数字证书和私钥、信用卡号以及其他信息加密存储。这些与一个支持SET 协议的软件一起组成了一个SET电子钱包。

金融交易所使用的密钥必须经常更换,SET使用数字信封来传递更换密钥。其方法是由发送数据者自动生成专用密钥,用它加密原文,将生成的密文连同密钥本身一起再用公开密钥加密,然后传送出去。收信人在解密后同时得到专用密钥和用其加密后的密文。

SET协议可以很好地满足电子商务中对信息的安全提出的四项原则:数据的机密性、完整性、个体识别性、不可抵赖性。

SET协议是针对在线支付而设计的支付协议,而采用“货到付款方式”、“邮局汇款”等非在线支付方式则与SET协议无关。

三、结语

在电子商务交易过程中,由于SET提供了消费者、商家和银行之间的认证,确保了交易数据的安全性、完整可靠性和交易的不可否认性等优点,因此成为了目前公认的信用卡或借记卡的网上交易的国际安全标准。

随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中SET协议将会应用的更加广泛。

多媒体信息加密技术论文

多媒体多媒体信息加密技术论文是解决网络安全问要采取的主要保密安全 措施 。我为大家整理的多媒体多媒体信息加密技术论文论文,希望你们喜欢。

多媒体多媒体信息加密技术论文论文篇一

多媒体信息加密技术论文研究

摘要:随着 网络 技术的 发展 ,网络在提供给人们巨大方便的同时也带来了很多的安全隐患,病毒、黑客攻击以及 计算 机威胁事件已经司空见惯,为了使得互联网的信息能够正确有效地被人们所使用,互联网的安全就变得迫在眉睫。

关键词:网络;加密技术;安全隐患

随着 网络技术 的高速发展,互联网已经成为人们利用信息和资源共享的主要手段,面对这个互连的开放式的系统,人们在感叹 现代 网络技术的高超与便利的同时,又会面临着一系列的安全问题的困扰。如何保护 计算机信息的安全,也即信息内容的保密问题显得尤为重要。

数据加密技术是解决网络安全问要采取的主要保密安全措施。是最常用的保密安全手段,通过数据加密技术,可以在一定程度上提高数据传输的安全性,保证传输数据的完整性。

1 加密技术

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理。使其成为不可读的一段代码,通常称为“密文”传送,到达目的地后使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径达到保护数据不被人非法窃取、修改的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。

2 加密算法

信息加密是由各种加密算法实现的,传统的加密系统是以密钥为基础的,是一种对称加密,即用户使用同一个密钥加密和解密。而公钥则是一种非对称加密 方法 。加密者和解密者各自拥有不同的密钥,对称加密算法包括DES和IDEA;非对称加密算法包括RSA、背包密码等。目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。

2.1 对称加密算法

对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄漏出去,这样就可以实现数据的机密性和完整性。对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。DES算法是目前最为典型的对称密钥密码系统算法。

DES是一种分组密码,用专门的变换函数来加密明文。方法是先把明文按组长64bit分成若干组,然后用变换函数依次加密这些组,每次输出64bit的密文,最后将所有密文串接起来即得整个密文。密钥长度56bit,由任意56位数组成,因此数量高达256个,而且可以随时更换。使破解变得不可能,因此,DES的安全性完全依赖于对密钥的保护(故称为秘密密钥算法)。DES运算速度快,适合对大量数据的加密,但缺点是密钥的安全分发困难。

2.2 非对称密钥密码体制

非对称密钥密码体制也叫公共密钥技术,该技术就是针对私钥密码体制的缺陷被提出来的。公共密钥技术利用两个密码取代常规的一个密码:其中一个公共密钥被用来加密数据,而另一个私人密钥被用来解密数据。这两个密钥在数字上相关,但即便使用许多计算机协同运算,要想从公共密钥中逆算出对应的私人密钥也是不可能的。这是因为两个密钥生成的基本原理根据一个数学计算的特性,即两个对位质数相乘可以轻易得到一个巨大的数字,但要是反过来将这个巨大的乘积数分解为组成它的两个质数,即使是超级计算机也要花很长的时间。此外,密钥对中任何一个都可用于加密,其另外一个用于解密,且密钥对中称为私人密钥的那一个只有密钥对的所有者才知道,从而人们可以把私人密钥作为其所有者的身份特征。根据公共密钥算法,已知公共密钥是不能推导出私人密钥的。最后使用公钥时,要安装此类加密程序,设定私人密钥,并由程序生成庞大的公共密钥。使用者与其向 联系的人发送公共密钥的拷贝,同时请他们也使用同一个加密程序。之后他人就能向最初的使用者发送用公共密钥加密成密码的信息。仅有使用者才能够解码那些信息,因为解码要求使用者知道公共密钥的口令。那是惟有使用者自己才知道的私人密钥。在这些过程当中。信息接受方获得对方公共密钥有两种方法:一是直接跟对方联系以获得对方的公共密钥;另一种方法是向第三方即可靠的验证机构(如Certification Authori-ty,CA),可靠地获取对方的公共密钥。公共密钥体制的算法中最著名的代表是RSA系统,此外还有:背包密码、椭圆曲线、EL Gamal算法等。公钥密码的优点是可以适应网络的开放性要求,且密钥 管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代 电子 技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。

RSA算法得基本思想是:先找出两个非常大的质数P和Q,算出N=(P×Q),找到一个小于N的E,使E和(P-1)×(Q-1)互质。然后算出数D,使(D×E-1)Mod(P-1)×(Q-1)=0。则公钥为(E,N),私钥为(D,N)。在加密时,将明文划分成串,使得每串明文P落在0和N之间,这样可以通过将明文划分为每块有K位的组来实现。并且使得K满足(P-1)×(Q-1I)K3 加密技术在 网络 中的 应用及 发展

实际应用中加密技术主要有链路加密、节点加密和端对端加密等三种方式,它们分别在OSI不同层次使用加密技术。链路加密通常用硬件在物理层实现,加密设备对所有通过的数据加密,这种加密方式对用户是透明的,由网络自动逐段依次进行,用户不需要了解加密技术的细节,主要用以对信道或链路中可能被截获的部分进行保护。链路加密的全部报文都以明文形式通过各节点的处理器。在节点数据容易受到非法存取的危害。节点加密是对链路加密的改进,在协议运输层上进行加密,加密算法要组合在依附于节点的加密模块中,所以明文数据只存在于保密模块中,克服了链路加密在节点处易遭非法存取的缺点。网络层以上的加密,通常称为端对端加密,端对端加密是把加密设备放在网络层和传输层之间或在表示层以上对传输的数据加密,用户数据在整个传输过程中以密文的形式存在。它不需要考虑网络低层,下层协议信息以明文形式传输,由于路由信息没有加密,易受监控分析。不同加密方式在网络层次中侧重点不同,网络应用中可以将链路加密或节点加密同端到端加密结合起来,可以弥补单一加密方式的不足,从而提高网络的安全性。针对网络不同层次的安全需求也制定出了不同的安全协议以便能够提供更好的加密和认证服务,每个协议都位于 计算 机体系结构的不同层次中。混合加密方式兼有两种密码体制的优点,从而构成了一种理想的密码方式并得到广泛的应用。在数据信息中很多时候所传输数据只是其中一小部分包含重要或关键信息,只要这部分数据安全性得到保证整个数据信息都可以认为是安全的,这种情况下可以采用部分加密方案,在数据压缩后只加密数据中的重要或关键信息部分。就可以大大减少计算时间,做到数据既能快速地传输,并且不影响准确性和完整性,尤其在实时数据传输中这种方法能起到很显著的效果。

4 结语

多媒体信息加密技术论文作为网络安全技术的核心,其重要性不可忽略。随着加密算法的公开化和解密技术的发展,各个国家正不断致力于开发和设计新的加密算法和加密机制。所以我们应该不断发展和开发新的多媒体信息加密技术论文以适应纷繁变化的网络安全 环境。

多媒体多媒体信息加密技术论文论文篇二

信息数据加密技术研究

[摘 要] 随着全球经济一体化的到来,信息安全得到了越来越多的关注,而信息数据加密是防止数据在数据存储和和传输中失密的有效手段。如何实现信息数据加密,世界各个国家分别从法律上、管理上加强了对数据的安全保护,而从技术上采取措施才是有效手段,信息数据加密技术是利用数学或物理手段,对电子信息在传输过程中和存储体内进行保护,以防止泄漏的技术。

[关键字] 信息 数据加密 对称密钥加密技术 非对称密钥加密技术

随着全球经济一体化的到来,信息技术的快速发展和信息交换的大量增加给整个社会带来了新的驱动力和创新意识。信息技术的高速度发展,信息传输的安全日益引起人们的关注。世界各个国家分别从法律上、管理上加强了对数据的安全保护,而从技术上采取措施才是有效手段,技术上的措施分别可以从软件和硬件两方面入手。随着对信息数据安全的要求的提高,数据加密技术和物理防范技术也在不断的发展。数据加密是防止数据在数据存储和和传输中失密的有效手段。信息数据加密技术是利用数学或物理手段,对电子信息在传输过程中和存储体内进行保护,以防止泄漏的技术。信息数据加密与解密从宏观上讲是非常简单的,很容易掌握,可以很方便的对机密数据进行加密和解密。从而实现对数据的安全保障。

1.信息数据加密技术的基本概念

信息数据加密就是通过信息的变换或编码,把原本一个较大范围的人(或者机器)都能够读懂、理解和识别的信息(这些信息可以是语音、文字、图像和符号等等)通过一定的方法(算法),使之成为难以读懂的乱码型的信息,从而达到保障信息安全,使其不被非法盗用或被非相关人员越权阅读的目的。在加密过程中原始信息被称为“明文”,明文经转换加密后得到的形式就是“密文”。那么由“明文”变成“密文”的过程称为“加密”,而把密文转变为明文的过程称为“解密”。

2. 信息数据加密技术分类

信息数据加密技术一般来说可以分为两种,对称密钥加密技术及非对称密钥加密技术。

2.1 对称密钥加密技术

对称密钥加密技术,又称专用密钥加密技术或单密钥加密技术。其加密和解密时使用同一个密钥,即同一个算法。对称密钥是一种比较传统的加密方式,是最简单方式。在进行对称密钥加密时,通信双方需要交换彼此密钥,当需要给对方发送信息数据时,用自己的加密密钥进行加密,而在需要接收方信息数据的时候,收到后用对方所给的密钥进行解密。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将公开于世。这种加密方式在与多方通信时变得很复杂,因为需要保存很多密钥,而且密钥本身的安全就是一个必须面对的大问题。

对称密钥加密算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。

DES 算法的数据分组长度为64 位,初始置换函数接受长度为64位的明文输入,密文分组长度也是64 位,末置换函数输出64位的密文;使用的密钥为64 位,有效密钥长度为56 位,有8 位用于奇偶校验。DES的解密算法与加密算法完全相同,但密钥的顺序正好相反。所以DES是一种对二元数据进行加密的算法。DES加密过程是:对给定的64 位比特的明文通过初始置换函数进行重新排列,产生一个输出;按照规则迭代,置换后的输出数据的位数要比迭代前输入的位数少;进行逆置换,得到密文。

DES 算法还是比别的加密算法具有更高的安全性,因为DES算法具有相当高的复杂性,特别是在一些保密性级别要求高的情况下使用三重DES 或3DES 系统较可靠。DES算法由于其便于掌握,经济有效,使其应用范围更为广泛。目前除了用穷举搜索法可以对DES 算法进行有效地攻击之外, 还没有发现 其它 有效的攻击办法。

IDEA算法1990年由瑞士联邦技术协会的Xuejia Lai和James Massey开发的。经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。IDEA以64位大小的数据块加密的明文块进行分组,密匙长度为128位,它基于“相异代数群上的混合运算”设计思想算法用硬件和软件实现都很容易且比DES在实现上快的多。

IDEA算法输入的64位数据分组一般被分成4个16位子分组:A1,A2,A3和A4。这4个子分组成为算法输入的第一轮数据,总共有8轮。在每一轮中,这4个子分组相互相异或,相加,相乘,且与6个16位子密钥相异或,相加,相乘。在轮与轮间,第二和第三个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。

FEAL算法不适用于较小的系统,它的提出是着眼于当时的DES只用硬件去实现,FEAL算法是一套类似美国DES的分组加密算法。但FEAL在每一轮的安全强度都比DES高,是比较适合通过软件来实现的。FEAL没有使用置换函数来混淆加密或解密过程中的数据。FEAL使用了异或(XOR)、旋转(Rotation)、加法与模(Modulus)运算,FEAL中子密钥的生成使用了8轮迭代循环,每轮循环产生2个16bit的子密钥,共产生16个子密钥运用于加密算法中。

2.2 非对称密钥加密技术

非对称密钥加密技术又称公开密钥加密,即非对称加密算法需要两个密钥,公开密钥和私有密钥。有一把公用的加密密钥,有多把解密密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。使用私有密钥对数据信息进行加密,必须使用对应的公开密钥才能解密,而 公开密钥对数据信息进行加密,只有对应的私有密钥才能解密。在非对称密钥加密技术中公开密钥和私有密钥都是一组长度很大、数字上具有相关性的素数。其中的一个密钥不可能翻译出信息数据,只有使用另一个密钥才能解密,每个用户只能得到唯一的一对密钥,一个是公开密钥,一个是私有密钥,公开密钥保存在公共区域,可在用户中传递,而私有密钥则必须放在安全的地方。

非对称密钥加密技术的典型算法是RSA算法。RSA算法是世界上第一个既能用于数据加密也能用于数字签名的非对称性加密算法,RSA算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。

RSA算法的安全性依赖于大数分解,但现在还没有证明破解RSA就一定需要作大数分解。所以是否等同于大数分解一直没有理论证明的支持。由于RSA算法进行的都是大数计算,所以无论是在软件还是硬件方面实现相对于DES算法RSA算法最快的情况也会慢上好几倍。速度一直是RSA算法的缺陷。

3. 总结

随着计算机网络的飞速发展,在实现资源共享、信息海量的同时,信息安全达到了前所未有的需要程度,多媒体信息加密技术论文也凸显了其必不可少的地位,同时也加密技术带来了前所未有的发展需求,加密技术发展空间无限。

参考文献:

[1] IDEA算法 中国信息安全组织 2004-07-17.

看了“多媒体多媒体信息加密技术论文论文”的人还看:

1. ssl加密技术论文

2. 详解加密技术概念加密方法以及应用论文

3. 浅谈计算机安全技术毕业论文

4. 电子信息技术论文范文

5. 计算机网络安全结课论文

区块链之加密原理总结(一)

    先放一张以太坊的架构图:

    在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:

                秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。

        如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。

        2、无法解决消息篡改。

    如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。

        1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。

        2、同样存在无法确定消息来源的问题,和消息篡改的问题。

        如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。

        1、当网络上拦截到数据密文2时, 由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。

        2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。

        如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。

        1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。

        2、当B节点解密得到密文1后, 只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。

        经两次非对称加密,性能问题比较严重。

        基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:

        当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要, 之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1, 比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。

        在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。

        无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。

        在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢? 有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。

        为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。

       在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后 对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。

        为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:

        在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。

        以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?

        那么如何生成随机的共享秘钥进行加密呢?

        对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥 和 临时的非对称私钥 可以计算出一个对称秘钥(KA算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:

        对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。

        对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。

        那么究竟应该采用何种加密呢?

        主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。

        密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。

        在整个网络的传输过程中,根据密码套件主要分如下几大类算法:

        秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。

        消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。

        批量加密算法:比如aes, 主要用于加密信息流。

        伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。

        在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。

        握手/网络协商阶段:

        在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等

        身份认证阶段:

        身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。

        消息加密阶段:

        消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、aes等。

        消息身份认证阶段/防篡改阶段:

        主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。

         ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。

         ECDSA :用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。 主要用于身份认证阶段 。

         ECDH :也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。 主要用于握手磋商阶段。

         ECIES: 是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH), H-MAC函数(MAC)。

         ECC 是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。 ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。

        ECC 是 Elliptic Curve Cryptography的简称。那么什么是椭圆加密曲线呢?Wolfram MathWorld 给出了很标准的定义: 一条椭圆曲线就是一组被   定义的且满足  的点集。  

这个先订条件是为了保证曲线不包含奇点。

所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:

        所有的非对称加密的基本原理基本都是基于一个公式 K = k*G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式  不可进行逆运算( 也就是说G/K是无法计算的 )。

        ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。

         我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k*G计算出我们的公钥K。并且保证公钥K也要在曲线上。

        那么k*G怎么计算呢?如何计算k*G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。

        首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:

        在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2*2 = 2+2,3*5 = 5+5+5。 那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。

        曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。

        现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。

         ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。

         那么P+Q+R = 0。其中0 不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。

        同样,我们就能得出 P+Q = -R。 由于R 与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。

        P+R+Q = 0, 故P+R = -Q , 如上图。

以上就描述了ECC曲线的世界里是如何进行加法运算的。

        从上图可看出,直线与曲线只有两个交点,也就是说 直线是曲线的切线。此时P,R 重合了。

        也就是P = R, 根据上述ECC的加法体系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0

        于是乎得到 2*P = -Q (是不是与我们非对称算法的公式 K = k*G 越来越近了)。

        于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。

        假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。

        那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。

        选一个随机数 k, 那么k * P等于多少呢?

        我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111

        由于2*P = -Q 所以 这样就计算出了k*P。 这就是点倍积算法 。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。

        至于为什么这样计算 是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:

        我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了 整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?

        ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:

        在曲线上选取一个无穷远点为基点 G = (x,y)。随机在曲线上取一点k 作为私钥, K = k*G 计算出公钥。

         签名过程:

        生成随机数R, 计算出RG.

        根据随机数R,消息M的HASH值H,以及私钥k, 计算出签名S = (H+kx)/R.

        将消息M,RG,S发送给接收方。

         签名验证过程:

        接收到消息M, RG,S

        根据消息计算出HASH值H

        根据发送方的公钥K,计算 HG/S + xK/S, 将计算的结果与 RG比较。如果相等则验证成功。

         公式推论:

        HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG

        在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C = A+C+B = (A+C)+B。

        这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考  Alice And Bob  的例子。

        Alice 与Bob 要进行通信,双方前提都是基于 同一参数体系的ECC生成的 公钥和私钥。所以有ECC有共同的基点G。

         生成秘钥阶段:

        Alice 采用公钥算法 KA = ka * G ,生成了公钥KA和私钥ka, 并公开公钥KA。

        Bob 采用公钥算法 KB = kb * G ,生成了公钥KB和私钥 kb, 并公开公钥KB。

         计算ECDH阶段:

        Alice 利用计算公式 Q = ka * KB  计算出一个秘钥Q。

        Bob 利用计算公式 Q' = kb * KA 计算出一个秘钥Q'。

         共享秘钥验证:

        Q = ka  KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q'

        故 双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。

        在以太坊中,采用的ECIEC的加密套件中的其他内容:

        1、其中HASH算法采用的是最安全的SHA3算法 Keccak 。

        2、签名算法采用的是 ECDSA

        3、认证方式采用的是  H-MAC

        4、ECC的参数体系采用了secp256k1,  其他参数体系 参考这里

        H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:

在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。

首先,以太坊的UDP通信的结构如下:

        其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。

        其UDP的整个的加密,认证,签名模型如下:

随着社会的发展,产品的更新速度也是越来越快,算法是方案的核心,保护开发者和消费者的权益刻不容缓,那么加密芯片在其中就扮演了重要的角色,如何选择加密芯片呢?
1.市面上加密芯片种类繁多,算法多种,加密芯片强度参差不齐,加密性能与算法、秘钥密切相关。常见的加密算法有对称算法,非对称算法,国密算法,大部分都是基于I2C、SPI或1-wire协议进行通信。加密芯片还是需要项目实际需求选择,比如对称加密算法的特点是计算量小、加密速度快、加密效率高等。
2.因为单片机软加密性能较弱且非常容易被复制,所以有了加密芯片的产生,大大增加了破解难度和生产成本。目前加密芯片广泛应用于车载电子、消费电子、美容医疗、工业控制、AI智能等行业。
3.韩国KEROS加密芯片专注加密领域十多年,高安全性、低成本,在加密保护领域受到了众多客户的高度赞扬及认可。KEROS采用先进的内置aes256安全引擎和加密功能,通过真动态数据交互并为系统中敏感信息的存储提供了安全的场所,有了它的保护电路,即使受到攻击,这些信息也可以保持安全。其封装SOP8,SOT23-6,TDFN-6集成I2C与1-wire协议满足不同应用需求。CK02AT、CK22AT、CK02AP、CK22AP支持1.8V-3.6V,256bit位秘钥长度,5bytes SN序列号,支持定制化免烧录,加密行业首选。关于加密算法实验总结论文的介绍到此就结束了,感谢大家耐心阅读。

本文标签:加密算法实验总结论文

产品列表
产品封装
友情链接