当前位置:首页 » 密码管理 » cpld加密

cpld加密

发布时间: 2023-03-18 03:53:19

A. 怎样将ALTERA的CPLD芯片的pof文件读出来,被读取的芯片是EMP7032SLC44-10N

是可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。

PLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。

PLD能做什么呢?可以毫不夸张的讲,PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。 PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。

如何使用PLD呢?其实PLD的使用很简单,学习PLD比学习单片机要简单的多,有数字电路基础,会使用计算机,就可以进行PLD的开发。不熟悉PLD的朋友,可以先看一看可编程逻辑器件的发展历程。

开发PLD需要了解两个部分:1.PLD开发软件 2.PLD本身

1.PLD开发软件

由于PLD软件已经发展的相当完善,用户甚至可以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:如原理图输入或HDL语言来完成相当优秀的PLD设计。所以对初学者,首先应了解PLD开发软件和开发流程。了解PLD的内部结构,将有助于提高我们设计的效率和可靠性。

如何获得PLD开发软件软件呢? 许多PLD公司都提供免费试用版或演示版(当然商业版大都是收费的),例如:可以免费从 上下载Altera公司的 QuartusII (web版),或向其代理商索取这套软件。Xilinx 公司也提供免费软件:ISE WebPack,这套可以从xilinx网站下载。Lattice 提供isplever Base版下载,Actel等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请License文件,如果您对License的安装还有不清楚,请仔细阅读相关网页上的说明,也可以下载这篇文档:EDA软件的license管理与安装。 通常这些免费软件已经能够满足一般设计的需要,当然,要想软件功能更强大一些,只能购买商业版软件。

如果您打算使用VHDL或Verilog HDL硬件描述语言来开发PLD/FPGA,通常还需要使用一些专业的HDL开发软件,这是因为FPGA厂商提供的软件的HDL综合能力一般都不是很强,需要其他软件来配合使用,详细情况可以通过浏览:开发软件栏目获得等多信息.

对于PLD产品,一般分为:基于乘积项(Proct-Term)技术,EEPROM(或Flash)工艺的中小规模PLD,以及基于查找表(Look-Up table)技术,SRAM工艺的大规模PLD/FPGA。EEPROM工艺的PLD密度小,多用于5,000门以下的小规模设计,适合做复杂的组合逻辑,如译码。SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10,000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。如希望进一步了解PLD/FPGA结构与原理,请点击此处。

目前有多家公司生产CPLD/FPGA,最大的三家是:ALTERA,XILINX,Lattice, 您可以参阅PLD厂商栏目获得更多信息

2.PLD/FPGA的分类和使用

在PLD/FPGA开发软件中完成设计以后,软件会产生一个最终的编程文件(如 .pof )。如何将编程文件烧到PLD芯片中去呢?

1.对于基于乘积项(Proct-Term)技术,EEPROM(或Flash)工艺的PLD(如Altera的MAX系列,Lattice的大部分产品,Xilinx的XC9500,Coolrunner系列), 厂家提供编程电缆,电缆一端装在计算机的并行打印口上,另一端接在PCB板上的一个十芯插头,PLD芯片有四个管脚(编程脚)与插头相连。(如图)

下载 ALTERA 编程电缆(Byteblaster MV)的数据手册

下载 Xilinx编程电缆的电路原理图

下载 Lattice的电缆资料

它向系统板上的器件提供配置或编程数据,这就是所谓的在线可编程(ISP,如下图)。Byteblaster使用户能够独立地配置PLD器件,而不需要编程器或任何其它编程硬件。编程电缆可以向代理商购买,也可以根据厂家提供的编程电缆的原理图自己制作,成本仅需一,二十元。 早期的PLD是不支持ISP的,它们需要用编程器烧写。目前的PLD都可以用ISP在线编程,也可用编程器编程。这种PLD可以加密,并且很难解密,所以常常用于单板加密。

1.将PLD焊在PCB板上 2.接好编程电缆 3.现场烧写PLD芯片

2.对于基于查找表(LUT,Look-Up table)技术,SRAM工艺的FPGA(如Altera的所有FPGA,如ACEX,Cyclone,Stratix系列,Xilinx的所有FPGA,如Spartan,Virtex系列,Lattice的EC/ECP系列等),由于SRAM工艺的特点,掉电后数据会消失,因此调试期间可以用下载电缆配置PLD器件,调试完成后,需要将数据固化在一个专用的EEPROM中(用通用编程器烧写,也有一些可以用电缆直接改写),上电时,由这片配置EEPROM先对FPGA加载数据,十几个毫秒到几百个毫秒后,FPGA即可正常工作。(亦可由CPU配置FPGA)。但SRAM工艺的PLD一般不可以直接加密。

3.还有一种反熔丝(Anti-fuse)技术的FPGA,如Actel,Quicklogic的部分产品就采用这种工艺。但这种的PLD是不能重复擦写,需要使用专用编程器,所以开发过程比较麻烦,费用也比较昂高。但反熔丝技术也有许多优点:布线能力更强,系统速度更快,功耗更低,同时抗辐射能力强,耐高低温,可以加密,所以在一些有特殊要求的领域中运用较多,如军事及航空航天。 为了解决反熔丝FPGA不可重复擦写的问题,Actel等公司在90年代中后期开发了基于Flash技术的FPGA,如ProASIC系列,这种FPGA不需要配置,数据直接保存在FPGA芯片中,用户可以改写(但需要10几伏的高电压)。

随着技术的发展,在2004年以后,一些厂家推出了一些新的PLD和FPGA,这些产品模糊了PLD和FPGA的区别。例如Altera最新的MAXII系列PLD,这是一种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感觉不到配置过程,可以传统的PLD一样使用,加上容量和传统PLD类似,所以altera把它归作PLD。 还有像Lattice的XP系列FPGA,也是使用了同样的原理,将外部配置芯片集成到内部,在使用方法上和PLD类似,但是因为容量大,性能和传统FPGA相同,也是LUT架构,所以Lattice仍把它归为FPGA。

怎么样?对PLD/FPGA的使用有了一定的了解了吧,如有疑问,可在本站论坛:新手入门栏目上提出上提出,大家一起讨论。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

B. [图]51单片机MCU + CPLD + LCD1602 是什么意思

对单片机来讲,不需要转换成串行数据,CPLD完成地址并行到串行转换输出,这样返槐可能是单片机没有同步串行接口蔽芦,提高地址写入速度,或减少单片机模拟地址串行输出的程序。
主要可能是由于这个电路图是开漏并友发板,便于初学者了解单片机、CPLD及液晶的学习。

C. 初学者,向大侠们请教。单片机控制cpld的系统板中单片机控制cpld的信号不能正常输出

那很明显单片机的程序写的没有什么问题,cpld应该是硬件察掘加密/编码功能,你单片机那边的算法没有正确烂亏,用示波表(最好多路)检查下CPLD各路输入不同情况时候输出的变化,然后用线性方程逆推出来败历核函数,才实现完美破解。一句话总结:单片机算法你没写对

D. FPGA和CPLD的区别是什么

从答塌内部结构来看,CPLD是 Proct term(基于乘积项), FPGA是Look up Table(基于查找表);从程序洞举如存储来看, CPLD是内部EEPROM/FLASH SRAM,FPGA是外挂EEPROM。此外,CPLD组合逻辑资源丰富,集成度低,速度慢,可加密,主要用于完成控制逻辑,FPGA时序逻辑资纳启源丰富,集成度高,速度快,且有PLL、RAM和乘法器等,一般不能保密,能完成比较复杂的算法。

E. 如何给自己的FPGA代码加密,保障代码专利不会被窃,欢迎各位出出主意

在使用方案上增加限制 如增加认证功能等

F. 芯片加密的加密方法

1、磨片,用细砂纸将芯片上的型号磨掉。对于偏门的芯片比较管用,对常用芯片来说,只要猜出个大概功能,查一下哪些管脚接地、接电源很容易就对照出真实的芯片了
2、封胶,用那种凝固后象石头一样的胶(如粘钢材、陶瓷的那种)将PCB及其上的元件全部覆盖。里面还可故意搞五六根飞线(用细细的漆包线最好)拧在一起,使得拆胶的过程必然会弄断飞线而不知如何连接。要注意的是胶不能有腐蚀性,封闭区域发热不太大。
3、使用专用加密芯片,如ATMEL的AT88SC153等也就几块钱,只要软件不能被反汇编出来,即使把所有信号用逻辑分析仪截获下来也是无法复制的。
4、使用不可破解的芯片,如EPLD的EPM7128以上(目前已可破解)、ACTEL的CPLD等,但成本较高(百元以上),对小产品不适用
5、使用MASK IC,一般来说MASK IC要比可编程芯片难破解得多,这需要很大的批量。MASK不仅仅是至MCU,还包括ROM、FPGA和其它专用芯片
6、使用裸片,看不出型号也不知道接线。但芯片的功能不要太容易猜,最好在那团黑胶里再装点别的东西,如小IC、电阻等
7、在电流不大的信号线上串联60欧姆以上的电阻(让万用表的通断档不响),这样在用万用表测连线关系时将增加很大的麻烦。
8、多用一些无字(或只有些代号)的小元件参与信号的处理,如小贴片电容、TO-XX的二极管、三极管、三到六个脚的小芯片等,想查出它的真实面目还是有点麻烦的。
9、将一些地址、数据线交叉(除RAM外,软件里需进行对应的交叉),测连线关系时没法靠举一反三来偷懒
10、PCB采用埋孔和盲孔技术,使过孔藏在板内。此方法成本较高,只适用于高端产品
11、使用其它专用配套件,如定做的LCD屏、定做的变压器等、SIM卡、加密磁盘等

G. 能不能解析一块芯片的系统

实了解芯片解密方法之前先要知道什么是芯片解密,网络上对芯片解密的定义很多,其实芯片解密就是通过半导体反向开发技术手段,将已加密的芯片变为不加密的芯片,进而使用编程器读取程序出来。

芯片解密所要具备的条件是:

第一、你要有一定的知识,懂得如何将一个已加密的芯片变为不加密。

第二、必须有读取程序的工具,可能有人就会说,无非就是一个编程器。没错,就是一个编程器,但并非所有的编程器是具备读取的功能。这也就是为什么我们有时候为了解密一个芯片而会去开发一个可读编程器的原因。那我们就讲讲,芯片解密常有的一些方法。

1、软件攻击

该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机迅侍,然后利用编程器读出片内程序。

至于在其他加密方法的基础上,可以研究出一些设备,配合一定的软件,来做软件攻击。近期国内出现了一种凯基迪科技51芯片解密设备(成都一位高手搞出来的),这种解密器主要针对SyncMos.Winbond,在生产工艺上的漏洞,利用某些编程器定位插字节,通过一定的方法查找芯片中是否有连续空位,也就是说查找芯片中连续的FFFF字节,插入的字节能够执行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了。

2、电子探测攻击

该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。

这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。至于RF编程器可以直接读出老的型号的加密MCU中的程序,就是采用这个原理。

3、过错产生技术

该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。

4、探针技术

该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。

5、紫外线攻击方法

紫外线攻击也称为UV攻击方法,就是利用紫外线照射芯片,让加密的芯片变成了不加密的芯片,然后用编程器直接读出程序。这种方法适合OTP的芯片,做单片机的工程师都知道OTP的芯片只能用紫外线才可以擦除。那么要擦出加密也是需要用到紫外线。

目前台湾生产的大部分OTP芯片都是可以使用这种方法解密的,感兴趣的可以试验或到去下载一些技术资料。OTP芯片的封装有陶尘昌纳瓷封装的一半会有石英窗口,这种事可以直接用紫外线照射的,如果是用塑料封装的,就需要先将芯片开盖,将晶圆暴露以后才可以采用紫外光照射。由于这种芯片的加密性比较差,解密基本不需要任何成本,所以市场上这种芯片解密的价格非常便宜,比如SONIX的SN8P2511解密,飞凌单片机解密等价格就非常便宜。

6、利用芯片漏洞

很多芯片在设计的时候有加密的漏洞,这类芯片就可以利用漏洞来攻击芯片读出存储器里的代码,比如我们以前的文章里提到的利用芯片代码的漏洞,如果能找到联系的FF这样的代码就可以插入字节,来达到解密。

还有的是搜索代码里派没是否含有某个特殊的字节,如果有这样的字节,就可以利用这个字节来将程序导出。这类芯片解密以华邦、新茂的单片为例的比较多,如W78E516解密,N79E825解密等,ATMEL的51系列的AT89C51解密是利用代码的字节漏洞来解密的。

另外有的芯片具有明显的漏洞的,比如在加密后某个管脚再加电信号的时候,会使加密的芯片变成不加密的芯片,由于涉及到国内某家单片机厂家,名称就不列出来了。目前市场上能看到的芯片解密器都是利用芯片或程序的漏洞来实现解密的。

不过外面能买到的解密其基本上是能解得型号很少,因为一般解密公司都不会将核心的东西对外公布或转让。而解密公司自己内部为了解密的方便,自己会使用自制的解密工具,如果致芯科技具有可以解密MS9S09AW32的解密器、能专门解密Lpc2119LPC2368等ARM的解密器,使用这样的解密器解密速度快,客户到公司基本上立等可取。

7、FIB恢复加密熔丝方法

这种方法适用于很多的具有熔丝加密的芯片,最具有代表性的芯片就是ti的msp430解密的方法,因为MSP430加密的时候要烧熔丝,那么只要能将熔丝恢复上,那就变成了不加密的芯片了,如MSP430F1101A解密、MSP430F149解密、MSP430F425解密等。

一般解密公司利用探针来实现,将熔丝位连上,也有的人因为自己没有太多的解密设备,需要交由其它半导体线路修改的公司来修改线路,一般可以使用FIB(聚焦离子束)设备来将线路连接上,或是用专用的激光修改的设备将线路恢复。这些设备目前在国内的二手设备很多,也价格很便宜,一些有实力的解密公司都配置了自己的设备。这种方法由于需要设备和耗材,不是好的方法,但是很多芯片如果没有更好的方法的时候,就需要这种方法来实现。

8、修改加密线路的方法

目前市场上的CPLD以及DSP芯片设计复杂,加密性能要高,采用上述方法是很难做到解密的,那么就需要对芯片结构作前面的分析,然后找到加密电路,然后利用芯片线路修改的设备将芯片的线路做一些修改,让加密电路失效,让加密的DSP或CPLD变成了不加密的芯片从而可以读出代码。如TMS320LF2407A解密,TMS320F28335解密、TMS320F2812解密就是采用这种方法。

了解了这些破解芯片的方法,相应的,我们在设计芯片时也要对这些漏洞尽量加以规避,使自己的芯片更加安全。对于新手来说,设计一款单片机不是容易的事,如果有现成的模块可以使用将会大大节省时间和精力,就有专门为电子工程师提供的电子设计模块,并且全部使用立创商城的正品元器件,质量可靠、售后有保障,可以帮助大家快速搭建产品原型,缩短制作周期

H. 单片机加密解密,有没有很好的办法来

芯片解密及单片机解密必须要注意的几点★凯基迪解密
(1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片,选择采用新工艺、新结构、上市时间较短的单片机,如可以使用ATMEGA88/ATMEGA88V,这种国内目前破解的费用只需要1万元左右;其他也可以和CPLD结合加密,这样解密费用很高,解密一般的CPLD也要1万左右。
(2)尽量不要选用MCS51系列单片机,因为该单片机在国内的普及程度最高,被研究得也最透。
(3)产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度,选用一些生僻的单片机,比如motorola单片机,目前国内会开发使用熟悉motorola单片机的人很少,所以破解的费用也相当高,从8000~3万左右。
(4)在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击;另外程序设计的时候,加入时间到计时功能,比如使用到1年,自动停止所有功能的运行,这样会增加破解者的成本。
(5)如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。
(6)打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真。
(7)可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位。
(8)利用MCS-51中A5指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令,A5功能是二字节空操作指令加密方法在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
(9)应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护;另外写上你的大名的时候,可以是随机的,也就是说,采用某种算法,外部不同条件下,你的名字不同,比如husoon1011、jisppm1012等,这样比较难反汇编修改。
(10)采用高档的编程器,烧断内部的部分管脚,具体如何烧断,可以参考:单片机管脚烧断的方法和破解。
(11)采用保密硅胶(环氧树脂灌封胶)封住整个电路板,PCB上多一些没有用途的焊盘,在硅胶中还可以掺杂一些没有用途的元件,同时把MCU周围电路的电子元件尽量抹掉型号。
(12)对SyncMos,Winbond单片机,将把要烧录的文件转成HEX文件,这样烧录到芯片内部的程序空位自动添00,如果你习惯BIN文件,也可以用编程器把空白区域中的FF改成00,这样一般解密器也就找不到芯片中的空位,也就无法执行以后的解密操作。

I. CPLD和FPGA和DSP有何区别速度最快的是哪种

1.
CPLD速度最快。
2.
FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。
3.
DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计缺态嫌算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能有两个,adsp,mdsp,或一个,主要是加密解密,调制解调等。
4.
CPLD是属于粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻伏手辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。
CPLD以群阵列(array
of
clusters)的形式排列闭键,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。

J. 如何实现CPLD与FPGA之间的通信

cpld和fpga引脚直连就可以,电平应该是迅丛可以兼容的。我的想法是:cpld你当成个存储器用,fpga控制cpld就相当于控制一个祥御存储器,判断比较是否相同的亩宴樱话,如果提前已经知道所传数据,你可以让cpla预先存进去,然后比较,相同的话,给fpga一个电平变化,如果不知道所要传过来的数据,那我就不太了解了

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:612
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:945
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:742
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:372