首页 > 其他分享 >单片机唯一的特征标识进行加密

单片机唯一的特征标识进行加密

时间:2023-03-18 16:57:36浏览次数:49  
标签:加密 标识 芯片 单片机 密文 id 进行

前言

​ 之前在开发单片机的嵌入式程序的时候,使用单片机不存在 读保护的方法,于是开始思考这个问题,如何对单片机进行芯片加密,由于产品在研发的过程可能 需要将产品给客户进行送样。所以为了防止在送样阶段芯片被破译导致代码被破解,所以需要对芯片进行加密处理。目前市面上大部分的单片机都存在读保护,避免单片机的数据外泄,但是如果芯片不存在读保护设置,那怎么进行芯片的代码的保护了?

单片机唯一的特征标识进行加密

加密的原理

​ 单片机存在唯一的标志,例如现在的单片机在出厂的时候只会有唯一的序列号码,这个序列号码就相当一个人的身份证,那么可以根据这个序列对内部的代码进行加密,理论上可以做到难破解。

实现步骤

​ 获取单片机唯一id特征,对id进行加密处理,将得到的密文放置到flash中存储(作为钥匙),单片机在运行的读取id特征使用相同的算法加密为密文和之前放入flash中的密文进行对比,如果密文和钥匙相同(匹配成功)单片机的程序则正常运行,反之则运行失败。尽量不用IF判断语句。可用子程序调用地址来参与特征字的加密运算。

实现流程图

实现代码

具体的实现代码可以去我github下载

https://github.com/Krone-D/id_encry

标签:加密,标识,芯片,单片机,密文,id,进行
From: https://www.cnblogs.com/Kroner/p/17231170.html

相关文章

  • java 加密和json格式化代码 、http url提交
      CloseableHttpClientclient=HttpClients.createDefault();CloseableHttpResponseres=null;JsonObjectjson=null;......
  • 关于float和double类型数据在单片机内存中如何存储和转换
    关于float和double类型数据在单片机内存中如何存储和转换1、单精度浮点型float,双精度浮点型double数据在内存中的存储模型(1)下图为单精度浮点型数据float的存储模型,符号位......
  • python之DES3加密
    安装第三方模块pipinstallpycryptodome代码实现importbase64fromCrypto.CipherimportDES3defdes3(data_string):BS=8pad=lambdas:s+(BS......
  • AES 简介 以及 C# 和 js 实现【加密知多少系列】
    〇、AES简介AES的全称是AdvancedEncryptionStandard,意思是高级加密标准。它的出现主要是为了取代DES(DataEncryptionStandardDataEncryptionStandard)加密算法的,......
  • 为SEO提供基础的软硬件设施(域名、加密、性能)
    首先要有一个好的域名取一个好的名字取一个简短而又令人难忘的域名名字非常重要,域名最好和网站的名字一致,不但利于SEO,同时也帮助用户在忘记收藏你网站时,通过网站名联系......
  • 7z加密文件命令(linux 或者mac)
    对目录进行加密:7z-a-tzip-r-p123456xx.zipa*表示将所有以a开头目录压缩成一个xx.zip文件,密码为123456  -a表示压缩,-tzip表示压缩成zip格式-r表示递归-p......
  • 【Java / JavaScript】AES加密解密
     Java封装的AES加密解密工具类:几个重要的参数信息-需要指定一个密钥串sKey密钥内容自定义数字+字母+特殊符号-加密方式为AES-AES下面的模式ECB-ECB下面......
  • 密码学——DES加密
    DES加密算法首先,我们讲一下分组密码,顾名思义就是将明文消息分成组来进行加密,也就是说,加密器每次只能处理特定长度的一组数据,这里的"一组数据"就被称之为分组。我们也将每......
  • nodejs的一个十六进制 加密 和 逆算法
    constkaitou="$@$@";Buffer.from(kaitou,"utf8").toString("hex");给以以上nodejs的逆算法consthexString="24402440";//十六进制字符串constbuffer=Bu......
  • spring boot jpa 数据库字段加密存储
     在SpringBootJPA中,可以通过自定义AttributeConverter类来实现数据库字段的加密存储。AttributeConverter是JPA2.1中引入的一个接口,用于在实体属性和数据库列......