女人手指粗短是什么命| 腹膜转移是什么意思| 鸽子咕咕叫是什么意思| 莅临什么意思| 什么的夏夜| 什么叫肾阴虚和肾阳虚| 梦见生了个儿子是什么意思| 主动脉硬化是什么意思| 河南为什么叫河南| 什么叫情人| 土阜念什么| 憋是什么意思| 毛泽东什么时候逝世| 日字五行属什么| 碘是什么颜色| 胆囊炎吃什么| 低回声结节什么意思| 怀孕有什么特征| 智齿长什么样子图片| 檀郎是什么意思| 什么时候用得| 风湿病吃什么药| 初吻是什么意思| 生命是什么意思| 文房四宝是什么| 突然头晕眼花站不稳是什么原因| 辣椒什么时候种| 翌日是什么意思| 靶向药是什么| 舌苔很厚很白什么原因| 肝内低密度灶什么意思| 子宫肌瘤变性是什么意思| 油脂旺盛是什么原因| 火车票改签是什么意思| sama是什么药| 吃什么食物可以降低胆固醇| 7月9日是什么星座| 超声心动图检查什么| 鲁肃的性格特点是什么| hbv是什么意思| 梦见刮胡子是什么意思| swell是什么牌子| 什么是洗钱| 澳门车牌号是什么样子| 梦见蜂蜜是什么意思| 举案齐眉是什么意思| 五大仙家什么仙最厉害| 臀疗是什么| 为什么要吃叶酸| 红黑相间的蛇是什么蛇| 便秘吃什么最快排便小孩| 莫名其妙的心情不好是什么原因| 什么是智齿牙| 电器火灾用什么灭火器| 阴唇萎缩是什么原因| 牙冠是什么| 什么是礼仪| 腮腺炎输液用什么药| 忠实的什么| 肝阳上亢吃什么药| 胃酸烧心吃什么食物| 荨麻疹去药店买什么药| 隐翅虫怕什么| 勾魂是什么意思| 胃寒吃什么食物好| 交媾是什么意思| 强势的人有什么特点| 真维斯属于什么档次| 慢悠悠的近义词是什么| 纳甲是什么意思| 疖肿吃什么药| 一比吊糟什么意思| 喝茶有什么好处和坏处| 夏天水肿的原因是什么| 再生纤维素纤维是什么| 脚真菌感染用什么药最好| 槲皮素是什么东西| 尿赤是什么意思| 猴子属于什么类动物| 激素高是什么原因| 做胃镜之前需要做什么准备| 风心病是什么病| 轻度脑梗吃什么药最好| 六月六日是什么日子| 17度穿什么衣服合适| ctc是什么意思| 比例是什么| 口臭口苦口干吃什么药| zn什么意思| 甲硝唑的副作用是什么| 阑尾炎挂什么科| 什么原因导致月经量少| 检查头部挂什么科| 7.14日是什么日子| 卵巢囊性结构是什么| 卡裆是什么意思啊| dior是什么牌子| 针眼长什么样子图片| 结缡什么意思| 心肾两虚吃什么中成药| 痰饮是什么意思| 艺人是什么意思| 十全十美是什么意思| 无创dna是检查什么的| 人潮汹涌是什么意思| 子宫内膜9mm意味着什么| 高血压吃什么食物| 间质性肺病是什么意思| 夏天不出汗是什么原因| 外阴有白色的东西是什么| 婚前体检都检查什么| 黄瓜有什么营养| 茉莉花是什么颜色| 甲状腺球蛋白低是什么意思| 后背酸疼是什么原因| 给产妇送什么礼物好| 菩提是什么东西| 睾酮高有什么影响| 卵巢筛查要做什么检查| 眼底出血用什么眼药水| 利空是什么意思| 左肾钙乳症是什么病| 梦见自己生了个女孩是什么意思| cos是什么| 太古里是什么意思| 做梦梦见大蟒蛇什么意思| 什么是公元前和公元后| 宣字五行属什么| 例假血是黑色的是什么原因| 女人补肾吃什么药| 血脂四项包括什么| 无痛肠镜和普通肠镜有什么区别| 煮玉米放什么好吃| ph值低是什么原因| bb是什么意思| 姥爷是什么意思| 情系是什么意思| sanyo是什么牌子| 2.7是什么星座| 胃痛按什么部位可以缓解疼痛| 为什么锻炼后体重反而增加了| 主张是什么意思| 头痒是什么原因| 葛根的作用是什么| 什么牌子的洗发水好| 大便粘马桶是什么原因| 富贵包去医院挂什么科| 1988是什么生肖| 站桩对身体有什么好处和功效| 什么是闭口| 不超过是什么意思| 天空为什么是蓝色| 男性阴囊瘙痒用什么药膏| 甲亢的早期症状是什么| 曲奇饼干为什么不成形| 香水什么味道好闻| 稻花鱼是什么鱼| 体重除以身高的平方是什么指数| 嘴唇发白是什么原因| 瓤是什么意思| 唯爱是什么意思| berries什么意思| 岔气吃什么药| 虚妄是什么意思| 为什么肛门会出血| 胀气吃什么食物好| 宫颈癌是什么| 电话停机是什么意思| 一对什么| pp是什么材料| 缺陷是什么意思| 男性阴虱用什么药最好| hpu是什么意思| xswl是什么意思| 肝回声细密是什么意思| 十二指肠球炎是什么意思| 冒菜和麻辣烫有什么区别| 冒失是什么意思| 火可念什么| 空气净化器什么牌子好| 崩溃什么意思| 梦见打老鼠是什么征兆| 尿糖1十是什么意思| 水能是什么| 干咳无痰吃什么药效果最好| 真知灼见什么意思| 细胞是由什么构成的| 护士资格证有什么用| 额头长痘是什么原因| 慢保申请有什么条件| 扫把星代表什么生肖| 女人山根低代表什么| 石榴石是什么材质| pocky是什么意思| 皮损是什么意思| 无为而治是什么意思| 老公生日送什么礼物好最合适| 脸上掉皮是什么原因| 甲状腺结节不能吃什么| 政委是什么军衔| 什么动物没有耳朵| 血糖能吃什么水果| 梦见吃花生是什么意思| 办护照照片有什么要求| 古筝是什么乐器| 中产家庭的标准是什么| 宝宝乳糖不耐受喝什么奶粉比较好| 王玉什么字| 上善若水什么意思| cu是什么意思| 肋间神经痛什么症状| 肩膀的肌肉叫什么| 存款准备金率是什么意思| 梦见自己和别人吵架是什么意思| 什么是http| 睡觉背疼是什么原因| 什么是高血脂| 天加一笔变成什么字| 槊是什么意思| 冥冥中是什么意思| 吃什么东西养胃| 小孩尿酸高是什么原因| 喝酒过敏是什么原因| 印度洋为什么叫印度洋| 中二什么意思| mas是什么意思| 塞翁失马什么意思| 小囡是什么意思| md鞋底是什么材质| 腹泻可以吃什么水果| 姓什么的人最多| 逆天改命是什么意思| 什么是子宫肌瘤| 乳糖不耐受吃什么奶粉好| 101什么意思| 间断性是什么意思| 梦见掉牙齿是什么征兆| 心悸症状是什么感觉| 徐长卿是什么药| 什么是猎奇| 7月1日是什么星座| 孙字五行属什么| 腮腺炎不能吃什么东西| 为什么吃辣的就拉肚子| 番茄可以做什么菜| 半路杀出个程咬金是什么意思| 胃有幽门螺旋杆菌是什么症状| 冬枣是什么季节的水果| 为什么招蚊子咬| 肩周炎吃什么药效果最好| 普洱茶什么牌子好| 不可漂白是什么意思| 肺结节吃什么中成药| 胃反酸吃什么药| 唐宋元明清前面是什么| 冰淇淋是什么做的| 为什么小孩子有白头发| 乳腺增生吃什么好| 什么币最值钱| 饧是什么意思| 腐生是什么意思| 黑头发有什么好处| 毛豆吃多了有什么坏处| 颈椎钙化是什么意思| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? 综合技术 ? 利用PIC12C508单片机来实现加密狗技术[转帖]

共1条 1/1 1 跳转至

利用PIC12C508单片机来实现加密狗技术[转帖]

菜鸟
2025-08-07 22:22:12     打赏
利用PIC12C508单片机来实现加密狗技术 广州市光机电工程研究开发中心  熊厚德   摘要:本文从介绍并行打印口及MicrochipPIC12C508单片机入手,给出了一种利用PIC12C508单片机实现加密狗技术的具体方案。 关键词:并行接口; 单片机; 密码     微机软件开发商为了保护自己的研究成果,往往都希望对软件系统进行加密。早期采用的加密方式(如硬盘加密、加密卡等)都因为有这样那样的缺点而被淘汰,取而代之的加密狗加密技术是近几年来兴起的一种较为理想的加密手段。它利用插接在微机并行打印口上的加密装置与专用加密程序互相配合来实现对密码的写入、保存、读取和校对。加密狗是一个两头各带一个25芯插座的方形塑料盒,用于存放加密狗密码,它串接在打印口与打印机之间,且不影响打印机的正常使用;用于密码读取和校对的专用加密程序往往嵌在某个需要加密的应用系统中,在应用软件系统运行前或运行中可随时调用它以检测加密狗的存在以及密码的正确性,一旦失败,软件系统可作相应处理。   需要说明的是,加密狗的设计没有千编一律的模式可循,往往是仁者见仁,智者见智,也正因为如此,加密狗才有对系统加密存在的价值。本文介绍一种高级加密狗技术,它将密码分成接收码和返回码两部分,接收码由PC机加密软件提供,返回码由接收码和单片机内部软件算法产生,这种加密方式具有保密性更强,破密难度更大,且可应用于不同软件系统等特点。 1. 并行打印机适配器及其特点   并行打印机适配器是连接并行设备的接口电路,严格地讲,它应能和其它任何并行设备相连接。只不过现在它几乎成了专用的打印机接口,称呼也随之而来。同时,有些硬件制造商也对并行打印机适配器作了一些简化,使之专用于与打印机的连接。这样,为了使加密狗具有通用性,我们在本文的叙述和加密狗硬件设计上都以通用的打印机信号为基础。   并行打印口是并行打印机适配器与打印电缆的接口。位于微机后机板上25芯“D”型插座,其中数据线为8根,状态线为5根,控制线为4根,其余全是地线。   并行打印机适配器(以LPT1为例)内部接口电路如图1所示。   在图中,数据口(2BCH)通常用作八位数据输出。早期的数据口用74LS374作输出接口,其拉电流较小,后来改用CMOS芯片作接口,拉电流可达15mA,灌电流达20mA以上。   状态口(2BDH)是微机读取打印机各种状态的输入口,共有5根口线。各口线功能如下:   ACK:低电平有效,当打印机接收完一字节数据允许微机发送下一字节数据时,发给微机ACK信号。   BUSY:高电平有效,打印机因某种原因不能接收数据时,该信号有效。   PE:高电平有效,表示打印机缺纸。   SLCT:高电平有效,表示打印机处于被选中状态。   ERROR:低电平有效,打印机出错时发此信号。   控制口(2BEH)是由微机输出并控制打印机生相应动作的接口。控制口共有4根控制线。功能如下:   STROBE:低电平脉冲选通。用于使打印机接收来自打印适配器的数据。   AUTOFDXT:低电平有效,打印机自动换行信号。   SLCTIN:低电平有效,只有该信号有效时,打印机才能接收数据。   INIT:低电平有效,打印机初始化信号。   从以上各引脚定义来看,打印适配器具有以下特点:   ●各口线均有明确的定义和功能,没有多余的备用口线;   ●打印适配器不提供+5V电源;   ●打印适配器具有一定的接口驱动能力,但驱动能力不很强;   ●数据线一般作为单向输出,不作为数据输入,仅有状态线才能输入。   这几个特点对加密狗的接入不利。因为狗内若用芯片设计,必须提供电源,且有数据输入,还须有密码返回,同时由于打印机口驱动能力有限,所以,狗内所有电路都必须具有低功耗、低电压工作的特点。 2. 用PIC12C508单片机实现加密狗 2.1 加密狗芯片性能分析   加密狗主要由PIC12C508单片机和93CL46 EEPROM组成,它们都是Microchip公司的产品。   其中,PIC12C508是一种8引脚CMOS工艺全静态高性能低功耗单片机,其片内带有512字节程序存贮器,工作电压范围为2.2~5.5V,功耗<2mA(4MHz,5V),通过对其配置位编程,可使之选用片内4MHz RC振荡和MCCR禁止,这样,PIC12C508无需外部振荡电路和复位电路,可用的I/O口最多可达到6个。另外,该单片机一旦被加密,其片内程序难以读出,PIC12C508 DIP封装引脚图如图2所示。   93LC46是CMOS工艺1k位串行EEPROM,最低工作电压可低到2.0V,典型额定电流为1mA,EEPROM数据保存时间>40年,93LC46的DIP封装引脚图如图3所示。   由于PIC12C508,93LC46都具有低功耗、低电压、价格便宜、封装引脚少等特点,且PIC12C508对程序的保密性又强,所以,适合于作加密狗芯片。 2.2 加密狗硬件原理分析   加密狗硬件原理如图4所示。数据线D7通过二极管D与加密狗Vcc相连。作为加密狗电源,由于打印适配器数据口输出电流可达15mA,而PIC12C508单片机正常工作所需电流<2mA,93LC46额定工作电流为1mA,所以,加密狗正常工作电流<3mA,用D7供电是可行的,D7=1时加密狗上电工作。   单片机GP0、GP1与93LC46的CLK,DI、DO相连,分别作为EEPROM的时钟信号和数据输入(输出)口,打印机口数据线D2与93LC46的CS相连,作为EEPROM的片选信号,高电平有效。   单片机GP4与SLCTIN相连,用于检测打印机口状态,一旦加密狗检测SLCTIN为低,说明微机向打印机传送数据,加密狗立即停止密码接收和返回,并将GP5置高阻工作,只有当它为高电平时,加密狗才允许码接收或返回,通过这种分时工作式解决加密狗与打印机共容的问题。   GP2、GP3分别与D0、D1相连,用作时钟同步信号和狗接收码数据线。GP5用作狗返回数据线。在加密狗接收码工作期间,D0作为同步时钟信号,D1作为一种接收码数据线;在加密狗返回码工作期间,D1作为同步时钟信号,GP5与ACK通过电阻R相连并作为一位返回码数据线,此时D0可作为随机信号,以迷惑解密者。前面讲到,加密狗和打印机是分时工作的,所以,返回码只会出现在打印适配器空闲状态,此时ACK为高电平,并不影响返回码的正常读取,反过来,当打印机需要返回ACK信号时,由于GP5已被单片机置成输入状态,故亦不影响打印机ACK信号的返回。 2.3 加密狗加密特点分析及工作过程说明   加密狗将密码分成接收码和返回码两部分,接收码(m0)由PC机被加密软件提供,并经单片机加密算法F1产生存放码(m1),即m1=F1(m0),返回码(m2)由接收码与93LC46存放码(m1)经单片机加密算法F2产生,即m2=F2(m1),由于接收码码值、码长由加密者设定,加密狗单片机将产生一个一一对应的码值、码长完全不同的返回码,这样破密者即使绘出加密狗的原理图也难以解密,从而大大增加了破密的难度。   加密狗工作分成密码写入和密码验证两个过程。   密码写入是指PC机写狗程序通过单片机PC机写狗程序将密码写入EEPROM,并使PC机写狗程序得到返回码的过程。   首先PC机写狗程序置D7=1给加密狗加电,然后置D2=1,选中EEPROM, 为单片机写入密码作准备;同时,单片机上电复位初始化,并通过GP4检测SLCTIN,当SLCTIN=1时,单片机等待通过GP2,GP3读取接收码;然后PC机将D0作为同步时钟、D1作为一位数据,输出接收码(m0);单片机接收完正确的接收码后,经算法F1转换成存放码(m1)写入EEPROM中,写入完成后,单片机又将存放码转换为返回码(m2);接着,单片机由GP5经ACK向PC机发送EEPROM写完成信号,并要求传送返回码;PC机检测到此信号后,由D1发出同步时钟信号、由ACK读取返回码(m2)。这样,接收码(m0)和返回码(m2)即是该加密狗的加密码。   密码验证是指PC机被加密软件接收码传给单片机,并读取实际返回码,然后验证返回码正确性的过程。密码验证同密码写入过程大体相同,只是在单片机读取到实际接收码时,将其经算法F1转换成实际密码(m),单片机并不将实际密码(m)写入EEPROM,而是读取EEPROM中的存放码(m1)与之比较,比较结果正确就产生返回码(m2),传送给PC机;结果错误就传送随机码给PC机。 3. 结束语   通过以上分析,我们知道,在进行加密狗的设计时必须解决以下几个问题: 3.1 解决加密狗芯片的电源问题   由于并行打印是一个不带+5V电源的接口,所以要使加密狗能正常工作,就必须从打印口其他引脚(如数据口)盗取电源。由于这些口驱动能力有限,同时,为了保证能给打印机提供正确的信号,加密狗芯片要求在低功耗,低电压下工作。 3.2 解决加密狗和打印机共容的问题   进行加密狗设计时必须充分了解打印口引脚及其工作状态,加密狗只能在打印适配器空闲时才允许传送密码,且应尽量减少狗的引脚输出线和输出时间。 3.3 解决加密狗密码返回问题   一般讲,密码的返回只能以状态口返加,在设计时,应尽量选取打印机少用的状态口线,不能直接并接在状态口线上,必须串接适当的电阻。   根据以上原则,通过改变硬件I/O连线和不同的加密算法就可以设计出多种加密狗,本文介绍的加密狗在实际系统中应用效果良好。 参考文献 1. 朱传乃等.微型计算机系统原理分析与维修.科学出版社,1989年10月 2. Microchip PIC12C5XX DATA SHEET. 3. Microchip NON-VOLATILE MEMORY PRODUCTS DATA BOOK. 4. Microchip Technology Inc.,PIC16/17 Microcontroller Data Book.   [upload=jpg]uploadImages/200251914213222749.jpg[/upload][upload=jpg]uploadImages/200251914214139532.jpg[/upload][upload=jpg]uploadImages/200251914215542173.jpg[/upload]



关键词: 利用     PIC12C508     单片机     实现     加密     技术    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
男人补肾吃什么好 肝郁气滞是什么意思 金酒属于什么酒 行经是什么意思 繁花似锦是什么意思
吃什么肉不会胖又减肥 七月八号是什么星座 事无巨细是什么意思 胡子长的快是什么原因 香鱼又叫什么鱼
胡言乱语是什么意思 好奇害死猫什么意思 龙王庙是指什么生肖 7月出生的是什么星座 白莲花是什么意思
反社会人格有什么表现 肠胃炎什么症状 脖子下面是什么部位 什么人不能吃香蕉 灌肠是什么意思
间接胆红素偏高是什么原因ff14chat.com 84年属什么生肖hcv7jop7ns0r.cn 幽门螺杆菌有什么症状hcv8jop7ns7r.cn 扬州有什么好玩的hcv9jop7ns5r.cn 风寒感冒吃什么水果hcv9jop6ns8r.cn
颈动脉斑块吃什么药bjhyzcsm.com hpv去医院挂什么科hcv9jop6ns1r.cn 鼻子出汗多是什么原因hcv8jop0ns4r.cn 皮什么结构hcv8jop4ns4r.cn 情感和感情有什么区别yanzhenzixun.com
肠梗阻什么症状hcv9jop2ns8r.cn 男性肛门瘙痒用什么药hcv8jop9ns0r.cn 软骨瘤是什么病hcv9jop4ns6r.cn 湿疹是因为什么原因引起的hcv8jop6ns7r.cn 专科是什么hcv8jop5ns5r.cn
梦见挖红薯是什么意思hcv9jop4ns6r.cn 为什么辰不能见亥hcv8jop6ns2r.cn 孩子为什么厌学hcv7jop9ns0r.cn 灵芝泡水喝有什么功效hcv9jop1ns5r.cn 药店属于什么行业hcv8jop0ns0r.cn
百度