前言:
当前同学们对“sam解密算法”都比较着重,我们都想要剖析一些“sam解密算法”的相关内容。那么小编也在网上汇集了一些有关“sam解密算法””的相关资讯,希望小伙伴们能喜欢,我们一起来了解一下吧!文章欢迎您来评论区参与讨论,获取更多精彩文章,请您点一下关注,感谢您的支持。
文|江卿曻
编辑|江卿曻
前言
网络设备的技术成本降低,导致了个人便携式计算机的,扩展和新型网络的出现,由小型和受限设备形成的异构泛在网络,正在积极研究或已经在使用中,因此我们必须提供安全机制,来保护它们免受恶意攻击。
泛在网络的主要性质(随时随地提供轻松的网络互连),可以使得在所有层引入确保协议时,能够实现正确运行,这是非常有必要的。
从网络操作(路由和网络管理),到协作执行协议或隐私保护机制,因此了解小型设备中加密的,实际成本并设计适合,此上下文的客户端协议非常重要。
一些研究工作研究了加密算法,在小型和受限设备中的性能,如个人数字助理(PDA),但是它们都没有提供加密技术,在系统中影响的全局视图,也无法推断因为测试没有任何共同点。
我们研究了基于ARM架构的,嵌入式设备中的不同加密技术,测量了处理加密功能的计算能力和电池功耗。
我们对这个问题的广泛视野十分感兴趣,比如安全性如何影响设备的自主性和功能,其目的只是为了设计有效的安全通信协议。
网络协议的主要安全需求,是提供真实性和完整性,因此我们将研究重点放在分组密码、哈希函数和公钥数字签名算法上。
对称密码学
我们使用最简单的加密操作(对称密码和哈希函数),开始分析PDA中的安全性能,基准测试使用大小为, 20 B、1 KB、10 KB、100 KB、250 KB、500 KB、750 KB 和 1 MB 的八种不同的明文进行。
对于每个明文文件,测试重复500次,小文件重复50,000次,目的是使得到结果的不确定性小于0.01%。
关于对称密码学,我们分析了DES,3DES和AES,使用电子密码本(ECB)密码模式加密,和解密文件所使用的资源,其中每个明文块依次使用块密码进行加密。
ECB 是最简单的密码模式,因为加密块之间没有依赖关系,我们将这种模式作为,分析的参考点,因为它具有简单性和广泛性。
由于在 ECB 中,明文被切割成预定义大小的块,并且这些块由处理器按顺序加密,因此我们使用,线性方程对对称加密消耗的能量,和时间进行了建模:总和 = a ·x + b,其中 Consum 是消耗的能量或时间,x 是明文的大小(以 KB 为单位)。
因此存在一个与程序负载,和关键设置阶段相关的常量组件 b,以及与输入大小成比例的增量组件 a。
密钥设置阶段对于,所有分组密码都是通用的,并且在加密/解密之前执行,此阶段包括扩展输入密钥,以便派生一个独特的、加密强度高的密钥。
然后加密通过对输入数据块的,重复数学计算序列进行,结果表明该模型是正确的,因为获得的回归线呈现的决定系数r299.9%以上。
通过研究我们了解到Hx2790器件的结果更好,速度更快,虽然Hx2790的时钟频率,比iPAQ1快56.3970倍,但加密性能提高了三倍以上。
这是因为不仅核心处理器速度更大,而且系统总线也更大,更重要的是,处理器具有用于优化性能的内部存储器。
此外使用更快的PDA时,AES算法的性能提升,比DES或3DES更大,AES的实施可以充分利用设备的主要资源。
无论如何,我们注意到AES算法,在ARM处理器中的性能,都比DES和3DES好得多,加密或破译DES文件,所需的时间甚至比使用,具有256位密钥的AES,所需的时间还要长,并且最后一个文件的安全级别更强。
如今DES算法被认为是弱的,不是因为它容易受到安全漏洞的影响,而是因为密钥太小,可能会被蛮力攻击发现。
从时间成本表达式来看,值得注意的是,DES和3DES算法所需的,初始化时间大于AES(实际上,在Hx2790中,大多数算法的初始化成本小于1 μs,因此是折旧的)。
这意味着AES不仅是,加密大型文档的最佳算法,也是小型文档的最佳算法。例如在 Hx2790 中,使用 DES 加密 1 KB 的信息大约需要 270 ns,使用 745DES 需要 3 ns,使用 AES-152 需要 128 ns,使用 AES-204 需要 256 ns。
关于 3DES,我们评估了 3DES-EDE 变体,它涉及两个 DES 加密,和一个使用三个 DES 密钥(总共 168 位)的 DES 解密,结果证明 3DES 比 DES 慢三倍。
我们可以看到,在 Hx2790 中执行加密功能,所需的功率几乎是 iPAQ3970 的两倍,但是由于 Hx2790 运行分组密码算法的,速度是另一个算法的四倍,因此总消耗的能量为它的一半,所以我们可以得出结论,Hx2790效率更高。
AES的一个问题是,解密执行的步骤与加密不完全相同,因此代码部分不同,研究人员对AES加密方案中,涉及的计算操作进行了建模,并对其预期消耗的能量进行了理论评估。
他们估计破译AES消息的,计算操作数量是加密操作的三倍,由于能耗还与用于,计算基本操作的处理器周期数有关,因此他们计算出解密过程,花费的能量几乎是加密的三倍。
实际上根据实现的不同,AES加密和解密的差异,在某种意义上可能更为显著,在OpenSSL中,AES通过10 KB查找表实现进行加速。
这种OpenSSL编译方式,充分利用了这种设计,其效果使iPAQ3970中的解密过程,甚至比加密更快(快20%)。
同样消耗的能量通常较低,除非使用小型输入文件(最大 100 KB),然而在Windows移动平台中,结果并不完全相同。
对于这两种情况,Hx2790 中加密和解密操作的,吞吐量或多或少相同,至于能量加密性能效果非常显著,但随着输入文本大小的增长,加密和解密之间的差异不断减小。
这意味着破译有一些复杂的操作,这些操作不依赖于输入文本的大小,并且随着密文大小的增长,这些操作会随着其余计算而溶解,AES 加密和解密过程的差异,导致吞吐量和能耗的结果略有不同。
哈希算法
我们对哈希函数进行了基准测试,哈希函数是一种单向抗冲突函数,它将任意大的消息压缩为一些固定长度的信息。
哈希函数的构造由两个元素组成:将固定长度输入映射到固定长度输出的压缩函数,以及允许我们将,压缩函数应用于可变大小的输入的域扩展器。
压缩函数通常使用分组密码设计,另一方面,大多数哈希函数都有一个域扩展器,该扩展器是使用迭代结构构造的,该结构基于 Merkle-Damgård 哈希构造。
由于哈希算法在固定大小的数据块中工作,我们假设时间和能量成本,与输入消息大小呈线性依赖关系,结果证实了这一假设,并且算法的初始化阶段可以忽略不计。
通过数据我们可以看到,Hx2790明显优于其他设备,并且在对称密码学案例中,时间域的改进大于能量域。
SHA-2系列的算法,更有利于更快的处理器,Hx2790和IPAQ 3970,之间的差异超过五倍,与对称算法结果相比,更简单的哈希函数(MD5,SHA-1)至少快两倍,而SHA-2函数的行为与AES密码系统相似。
对于每个设备,所有算法之间的能源成本关系,与时间成本中发生的情况非常相似,然而主要区别在于, iPAQ5 中的 MD1 和 SHA-3970 ,比 Hx2790 更节能。
这主要是因为这些算法很简单,可以在两个器件中使用,相同数量的指令执行,并且在 iPAQ3970 中,执行一条指令比在 Hx2790 中需要更少的能量。
密钥生成算法
我们使用 512、1,024 和 2,048 位的,密钥评估了 RSA 和 DSA,我们将 RSA 密钥的公共指数设置为 3,因为它在签名验证中提供了更好的性能。
该指数通常用于必须进行大量验证的受限环境,使用其他指数的结果差异不大,签名生成效率更高,验证也不多,但总体而言,该算法的总体性能完全相同。
对于ECC的情况,我们使用三条曲线测试了算法,secp112r1,secp160r1和secp224r1,所有曲线都在素数场上,并且它们的参数可以随机选择。
每条曲线的场顺序长度为:secp112r112 为 1 位,secp160r160 为 1 位,secp224r224 为 1 位。
关于配对,我们分析了两种数字签名方案的密钥生成算法:BLS 签名和B-B 签名。我们使用 定义的 A 型曲线来生成配对,这些曲线是最快且最有效的,循环群 G 的素数序1和 G2为 160 位,组的元素需要 512 位来表示。
ECC 密钥的生成是迄今为止最快的算法,其次是配对密钥生成,而且1024位DSA密钥的生成,几乎是PDA设备无法接受的,执行时间大大超过5秒,甚至更多。
然而在不需要在短时间内,更新加密密钥的系统中,密钥生成只需运行一次,因此时间性能并不重要,重要的是使用这些密钥的性能。
RSA 和 DSA 密钥生成涉及质数测试,这是一项昂贵的操作,此外素数测试是概率性的,这意味着执行时间并不总是相同的,有时可能会很长。
找到合适素数所需的时间,随着搜索素数的大小而多项式增加,生成 512 位 RSA 密钥需要找到两个 256 位的质数,生成 512 位 DSA 密钥需要 512 位的质数。
由于素数的大小,最后一个操作比 RSA 更昂贵,因此需要更多时间,另一方面,我们还注意到,当使用较慢的微处理器时,由于某些操作的复杂性增加(即密钥的大小),而导致的时间延迟增加更为显著。
2048 位 RSA 和 DSA 密钥的生成,对于受测设备来说过于耗费资源,无法保证生成将成功结束,因此我们无法得出结果。
ECC 密钥生成的性能非常好,因为它只涉及一个标量点乘法,也就是说,它将椭圆曲线上的标量 k(大整数)和点 P 相乘。
总而言之,标量乘法是 ECC 方案中最耗时的操作,此操作可以通过向,自身添加点 P k – 1 次来对椭圆曲线组执行。
ECC 在 RSA 和 DSA 上的,计算效率之间的差异是显而易见的,随着所需安全强度的增加,以及密钥长度的增加,它变得更加难以理解。
最后基于配对的方案中的,密钥生成也非常有效,因为它基于素数域上的模幂,BLS 的密钥生成只需要一个幂,B-B 签名的密钥生成,需要两个幂和一个双线性配对,结果表明,B-B中的密钥生成大约是BLS的三倍。
数字签名算法
通过研究结果可知,小型手持设备的,最佳性能来自 RSA 和 DSA,两种算法的签名生成和验证的平均时间大致相同,但是RSA在验证方面效果最好,而DSA在签名生成方面更快。
因此RSA 非常适合于,只需要几代签名,但需要数千次签名验证的系统,根据应用的不同,RSA 或 DSA 将更适合。
ECDSA 密钥生成算法是,所有密钥生成候选算法中最好的,但对于小订单字段中的签名操作,它的效率并不高。
然而使用 ECDSA 生成的,签名的大小是字段顺序长度的一半,这比使用具有等效安全级别的 ,RSA 密钥生成的签名短得多,证书也是如此。
因此当在此安全级别下工作时,需要评估安全协议中,涉及的操作和数据传输量,以得出哪种算法是,用于每种特定情况的最佳算法。
此外在提高安全级别时,ECDSA 的性能优于 RSA 和 DSA,平均而言,使用 512 位密钥的 RSA 操作,比使用 4,1 位密钥快约 024 倍。
在每日生活津贴中,这一比率约为3,此外当RSA和DSA密钥的长度变长时,此比率会增加,相比之下,ECDSA 密钥的 112 位和 160 位比率不到两倍,并且在提高安全级别时会缩小。
最后与其他签名相比,基于配对的签名的时间成本相当高,这些方案的优点是,一方面签名非常短,因此它们的传输非常容易。
另一个是它们支持多重签名,和批量签名验证方案,可以减少开销并提供,有竞争力的时间结果。
此外基于配对的操作可以在硬件实现中优化,从而减少BLS和B-B签名的开销,我们使用的pblsig库实现了,基于米勒算法的泰特配对计算。
使得这些基于改进的Duursam-Lee算法状态,配对速度提高了近65%,硬件实现的效率提高了约95%,使用这些算法开发短签名方案,可以获得比 ECC 更好的性能。
另一方面,他们还推出了ECDSA基准测试,其中包含ECC的自我实现库,该库在二进制字段上使用一般椭圆曲线。
他们说他们的库平均比OpenSSL快5倍,163 位 ECDSA 的签名生成结果为 5.7 毫秒,签名验证结果为 17.9 毫秒。
这些结果显然比我们,使用OpenSSL 0.98 d库获得的结果更好,在 iPAQ3970 设备中,ECDSA-160 签名生成时间为 47.78 毫秒,签名验证需要 57.92 毫秒。
BLS 签名使用双线性映射上的,哈希算法和压缩-解压缩算法,执行此哈希算法所需的时间为 (105.08 + 0.03 ·x) 毫秒,其中 x 为输入消息的大小(以 KB 为单位),此外压缩或解压缩算法需要 5.98 毫秒。
因此B-B是签名操作中最高的算法,也是签署大型文档(从数十KB)的最有效算法,对于20 M的文件的性能为24.1 MB / s。
相反对于签名小文档,最快的算法是DSA-512,执行签名验证的最快算法是 RSA-512,无论文档的大小如何。
与对称算法的吞吐量相比,结果表明,使用非对称算法对超过 400 KB 的,大数据文件进行加密操作比对称算法更有效。
结论
ARM处理器的最佳对称算法,无论是在时间和能源成本方面,都是AES,AES-256 的吞吐量比 AES-25 小约 128%,两者都比 DES 更有效,此外AES具有比DES或3DES,更高的安全级别。
哈希算法的吞吐量与对称算法相似,MD5 是其中最快的,尽管它存在一些碰撞,不建议使用它。
在公钥加密中,密钥生成通常非常复杂且要求很高,DSA呈现的结果最差,而ECC具有非常好的性能。
数字签名函数的结果因算法而异,RSA-512是最有效的,几乎紧随其后的是DSA-512,在下一个安全级别中,RSA-1204是最轻的,性能比RSA-75慢约512%。
这种差异在较慢的处理器中更为明显,同样值得注意的是,RSA非常轻,特别是在验证方面。
在DSA-1024和ECDSA-112中,签名和验证的平均成本,与RSA-1024非常相似,但是它们在签名生成方面具有更好的结果,在最高安全级别中,最好的算法是迄今为止的ECDSA-224。
签名和验证消息的全局成本,涉及哈希操作或某些压缩算法的费用,从这个意义上说,值得注意的是,在处理中型和大型文件时,基于 B-B 配对的签名,比其他签名更有效(尤其是在时间上)。
标签: #sam解密算法 #以下哪种加密算法因为不安全