python读usb_使用Python来操作Microchip安全芯片

本文介绍了如何使用Microchip提供的Python库CryptoAuthLib和cryptoauthtools来操作安全芯片,如AT88CK101。通过实例展示了如何读取器件信息、配置器件、执行ECDH运算、签名验证以及读写数据。适用于基于Python的Microchip安全解决方案开发。
摘要由CSDN通过智能技术生成

f931984d33716e0a5bef2cf43d8c1e66.png

Microchip提供业界优秀的安全方案,包括支持SHA256,ECC P256和AES128的完整算法支持,同时提供了基于C语言的器件支持库cryptoauthlib.

由于Python语言的通用性和便利性,Microchip也提供了基于Python语言的CryptoAuthLib和相关的例程cryptoauthtools。

CryptoAuthLib Python库可以做什么 ?

CryptoAuthLib库提供了访问安全器件大部分功能的模块,这些模块只是对C语言库cryptoauth中的API做了一层封装,以实现在Python中的调用。

Microchip的cryptoauthlib的访问页面如下: CryptoAuthLibLink(http://www.microchip.com/SWLibraryWeb/product.aspx?product=CryptoAuthLib)

准备工作

软件部分

首先从github上下载最新的例程代码,地址如下: https://github.com/MicrochipTech/cryptoauthtools

安装Python, 最好是3.x的版本。如果已经安装过可以忽略这一步。

安装Python需要的组件。 进入cryptoauthtoolspythonexamples目录中,运行以下命令:

pip install -r requirements.txt
Python将自动安装cryptoauthlib和cryptography库(需要v2.3以上的版本)

另外,也可以手动安装cryptoauthlib和cryptography

pip install cryptoauthlib
pip install cryptography
硬件部分

支持的硬件如下:

AT88CK101
CryptoAuthentication Starter Kit (DM320109)
ATECC508A, ATECC608A, ATSHA204A device directly connected via I2C (Linux Only)
支持的器件型号如下:

ATSHA204A
ATECC508A
ATECC608A
下面的演示是在Windows 10 64bit,Python 3.6下运行的,使用的硬件是CryptoAuthentication Starter Kit。这个开发套件实际上是使用SAMD21 Xplained Pro + IC转接座组成的。用SAMD21实现USB HID通信,再转换为I2C接口控制安全芯片。

Tips: 需注意USB线应该插到Target USB上。
可以自行将SAMD21的开发板烧录一个固件来实现。这个固件可以在官网下载ATCRYPTOAUTHSSH-XSTK_v1.0.1.zip(http://ww1.microchip.com/downloads/en/DeviceDoc/ATCRYPTOAUTHSSH-XSTK_v1.0.1.zip)

运行例程

这些例子旨在简单明了地说明基本概念。 要获得任何示例的帮助,您可以参考相关文档(例如:info.py 有一个info.md说明文档)或者通过命令行:

$ info.py -h
usage: info.py [-h] [-i {i2c,hid}] [-d {ecc,sha}] [-p [PARAMS [PARAMS ...]]]
示例列表:

info.py: 读器件信息. 详见info.md
config.py: 配置器件. 详见config.md
ecdh.py: 演示 ECDH 运算. 详见ecdh.md
sign_verify.py:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值