查看: 941|回复: 0

【AT88CKECCROOT】三种加密器件的熟悉

[复制链接]
  • TA的每日心情
    开心
    2017-7-4 13:51
  • 签到天数: 347 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2016-1-8 08:45:55 | 显示全部楼层 |阅读模式
    分享到:
    板子上已经给保留了板载3个Atmel的硬件加密器件ATAES132A、ATSH204A、ATECC508A的通信IIC口,不过真正要开发时,不得不吐槽了,怎么不在外壳上焊排洞,因为外壳必须得拆了,焊个排针上去才好用啊如果想外接其他MCU之类的来开发,但这样盖子就合不拢了。为了外观考虑,果断用四根线引出来再接排针,这样用完还可以拆掉O(∩_∩)O~
    不过再引出来,编程前,还是得花费写时间好好了解下这三种硬件加密器件,了解其对应的算法,具体的原理,以及如何用这板子才能实现这些加密方式。
    刚开始对这些加密算法其实还蛮忐忑的,因为基本不了解,只是实际项目中接触过AES加密,了解如何用,具体深入的都不大清楚。
    好在atmel的支持还不错,资料不断更新。
    我们这个板子的资料可以在这个链接找到
    https://www.atmel.com/tools/AT88CK590.aspx
    目前atmel上ATSH204A的例程已经给出了,ATSHA204-AT90USB1287
    所以下一贴开始果断先研究这个加密器件。
    这三个加密器件我是这样理解的
    ATSHA204A:客户端/主机 使用EEPROM来认证IC,快速安全且具有成本效益的对称身份验证,使用SHA-256 哈希算法与 4.5Kb EEPROM 整合。对称的身份验证相对而言速度要快,但安全性要低一点。在一些安全性要求不是特别高的情况下,这款相对成本低点的设备无疑是很好的选择。
    ATAES132A:加密元素设备运行AES要基于硬件的存储和32KbEEPROM,可用于授权、密钥管理和内存加密。
    这是我看到的第一个基于AES的器件,我比较好奇的是其到底具有怎样的优势与普通的存储芯片相比。因为AES的应用其实在行业中已经蛮多的了,正常放在外接的存储芯片中,通过MCU的程序控制来实现加密。专门的芯片,是否在安全性上、稳定性都有非常大的优势。
    ATECC508A:(ECC)不对称加密元素与ECDH ECDSA,硬件密钥存储,整合 ECDH(椭圆曲线 Diffie–Hellman)密钥协议的加密器件,内置 ECDSA 签名验证功能,可完成无比安全的不对称授权。这款其实是最吸引我的,无论是目前炒的比较火的物联网智能家居还是手持设备,蓝牙、wifi,其具有的硬件的加密密钥存储和加密应对措施,极低的功耗,都使其具有很大的优势
    出于各种安全性考虑,这个都是很好的选择。
    三种加密器件涉及三种算法,SHA-256、AES-128、ECC-256,前途是光明的,道路有点崎岖啊。好在咱不是要写算法的人,简单的了解下,也便于后面的开发。
    哈希算法(Secure Hash Algorithm):适用于数字签名
    算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。
    安全散列算法SHA主要包括SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法。SHA-1,SHA-224和SHA-256适用于长度不超过2^64二进制位的消息。SHA-384和SHA-512适用于长度不超过2^128二进制位的消息。
    AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“状态(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。
    椭圆加密算法(ECC)是一种公钥加密体制,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。有时也把椭圆曲线类归为离散对数类。椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。解椭圆曲线上的离散对数问题的最好算法是Pollard rho方法,其时间复杂度为,是完全指数阶的。其中n为等式(2)中m的二进制表示的位数。当n=234, 约为2117,需要1.6x1023 MIPS 年的时间。所以可以说这个的加密安全性能是相当的高滴O(∩_∩)O~
    下面咱就从ATSH204A的加密研究起吧,例程走起~ o(* ̄▽ ̄*)ブ
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 11:24 , Processed in 0.131542 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.