重量级资料,KEELOQ(滚动码)无线传输加/解密协议及源代码(汇编),有详细加/解密说明,放出
【2021-11-13站长阿莫注】:这个是2008年的贴子了,近10年,论坛经过几次改版和资料恢复,可能将附件弄丢了,见这么多网友顶贴找不到资料,作者回家翻遍了硬盘,终于又找回资料,现上传~~~楼主位的资料,请从234楼链接下载。 别关啥资料,顶下先 顶下先 顶 顶 我顶! 解码没有问题,C的程序也能下到的
但是编码是不可能获得的
那可是Microchip的专利呀! 【6楼】 appleboy: 有C的解码程序吗?能不能共享一下?谢了。 恩,收下,谢谢! 记号,以后可能会用得上! 记号! 谢谢,下载了 虽然没有源代码,但思想还是可以参考的。
譬如,要设计一套安全的单向遥控(遥控器只能发送)系统,可以做出这样一个非常粗略的设计:
1. 在遥控器和接收端都设一个相同的密钥KEY。
2. 遥控器的遥控数据先用密钥KEY加密,再发送,加密算法可以用AES、DES、3DES等等。
3. 加密前的遥控数据格式为:命令号+序列号+随机填充数据+校验码。
3.1 命令号是命令的功能号,不同的命令对应不同的操作;
3.2 序列号为遥控数据帧的计数,每发完一帧遥控数据帧,则加1,并保存到遥控器内部的EEPROM中;
3.3 校验码为命令号、序列号、随机填充数据的校验,可以使用CRC32、MD5等等。
4. 接收端收到一个加密后的遥控数据帧,用KEY解密,然后校验,校验通过即为合法的遥控数据,否则为非法数据,不做任何操作。
5. 接收端收到一个非法的遥控数据帧后的1秒钟内忽略所有接收到的数据,以防止暴力破解。 如果单片机被破解什么算法都没意义了,要找不能破解的MCU 好 顶 确实是好资料,最近在搞滚动码,谢谢! 顶,做个小广告,版主、楼主海涵。如果大家需要hcs系列芯片的编程器,可以看看我的小店。编程器支持hcs200,hcs201,hcs300,hcs301,hcs500.
http://www.ndust.net
滚动码芯片写码器(编程器)V3
说明:
此写码器为HCS301写码器的升级版,除完善HCS300/HCS301的设置功能外,加入支持HCS200、HCS201、HCS300、HCS301、HCS500,可以支持本站开发的由PIC12F629、PIC16fF630完成滚动码解码(简单模式和一般模式)的厂家码写入PIC12F683、PIC16F636完成的安全模式解码的厂家码写入,无需定制开发解码软件,用户可以自行更改厂家码,多次写入,不可读出,保证安全。同时正在开发写入其他HCS芯片的功能.
1. 电源插座,自动识别正负极,只要电压大于6V,小于12V的整流电源均可,不用区分正负极。
2. 活动插座,用于安放双列直插元件,目前支持hcs200,hcs300,hcs301,PIC12F629(解码),PIC16F630(解码)或安装贴片适配器,以图片方向,活动插座扳手位置为1脚。既图片活动插座右下脚。
3. 写码成功指示灯(橙色)。
4. 写码失败指示灯(红色)。
5. 工作正常指示灯(绿色闪动)。
6. 串口接口。(标准串口数据线,三线可以,TX/RX/GND)。
1http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234495.jpg
2http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234496.jpg
3http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234497.jpg
4http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234498.jpg
5http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234499.jpg
6http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234500.jpg
为方便学习和开发滚动码项目所写的滚动码工具软件
7http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_234501.jpg
为方便学习和开发滚动码项目所写的滚动码工具共享软件,把滚动码编码、厂家码计算成加密密码和解码全部写到一个软件中了,希望对大家能有所帮助,如果对您有帮助的话,给我也来点支持。 ding ok mark 下来好好看看 哎,没有 加密的方法啊。
还是继续弄我的AES-128位,就是数据有点长,我只需要64位就够了 UP UP ding,谁有C代码? 17楼,你在这里做广告
是不是可以提供一下滚动码的编码代码啊,不要解码,谢谢了 微芯的fastdec.c 一直没机会见到。:( MARK 好东西,顶一下 顶 哈哈~~~~KEELOQ就是好 谢谢 不了解滚动码 扩展一下就是智能家居控制器了. 厉害~~~~ 也想整。哈哈 哈.记号KEELOQ(滚动码)无线传输加解密协议 好东西啊,标记下 mark. 好东西啊,标记下 学习了! 顶了,谢谢先 严重顶了~~~~~~~~~~~~~~~· 严重支持 先下了看看 谢谢 不错,收下了。。。。 顶下 谢谢! 好! mark 我有加密的算法,已经用C实现了 mark 不了解滚动码 c代码找了很久了 顶了再说~ mark.. keelog is not microchip patent,its just have two patent on keelog one is learning mode and two is 16 bit counter
you can review on the www.microchip.com/keelog 我顶! Demo在哪呀 记下 记号,真的用到HCS300/301了, 顶!不错的资料。 谢谢楼主的分享精神!标记一下。 哥哥哥哥哥哥哥哥哥哥哥哥 记号 Mark,呵呵! mark 这个确实很重量 MARK! mark mark 回复【51楼】aldris
我有加密的算法,已经用c实现了
-----------------------------------------------------------------------
这位大哥,您能把您用C实现的加密算法提供给我么?
非常感谢!! 标记 mark 好料!@ 不错,准备学习下!!!
多谢了!!! 无线通信应用研究分析 点击此处下载 ourdev_589143OES181.pdf(文件大小:84K)
(原文件名:工程师必备(短距离无线选型参考).pdf)
点击此处下载 ourdev_600192M2COFJ.pdf(文件大小:933K)
(原文件名:JASK51RF.pdf)
无线串口ourdev_600196CW7G3D.pdf(文件大小:436K) (原文件点击此处下载 ourdev_607515I947MW.pdf(文件大小:84K) <font color=green>
(原文件名:NRF905CC1101NRF24L01等无线芯片知道多少.pdf) 回复【51楼】aldris
-----------------------------------------------------------------------
你的加密算法我看一下吧,这段在研究这个 今天网站有问题,不能下载? 下载不了,哪位传我一下,谢谢
zyw19987@126.COM 我的账号等待审核? 最近在研究这个...在网上没有详细的加解密流程介绍,没啥头绪。
楼上的神犇能说说解密流程吗? 用一个普通单片机来模拟KEELOQ算法是有难度的,我下载了一些资料,包括这个,在下不才,还没破_解。这个文件主要讲的是加密组成部分,并没有讲详细的加密算法。对了解KEELOQ算法原理有帮助,对破_解帮助不大。 抓机上网,回去用电脑下 在楼主位的文件里有汇编的解码程序,可惜不懂PIC,更不懂汇编
; FUNCTION : DECRYPT ()
;
; DESCRIPTION : DECRYPTS 32 BIT USING
;
;****************************************************************
DECRYPT
BANKSEL CNT1
MOVLW (.11+1) ; OUTER LOOP 11+1 TIMES
MOVWF CNT1 ; OUTER LOOP 11+1 TIMES
DECRYPT_OUTER
MOVLW .48 ; INNER LOOP 48 TIMES
MOVWF CNT0 ; INNER LOOP 48 TIMES
DECRYPT_INNER
CLRWDT ; RESET WATCHDOG TIMER
MOVFW CNT1 ; LAST 48 LOOPS RESTORE THE KEY
XORLW .1 ; LAST 48 LOOPS RESTORE THE KEY
btfsc STATUS,Z ; LAST 48 LOOPS RESTORE THE KEY
GOTO ROTATE_KEY ; LAST 48 LOOPS RESTORE THE KEY
; THE LOOKUP TABLE IS COMPRESSED INTO IN 4 BYTES TO SAVE SPACE
; USE THE 3 LOW INDEX BITS TO MAKE UP AN 8-BIT BIT MASK
; USE THE 2 HIGH INDEX BITS TO LOOK UP THE VALUE IN THE TABLE
; USE THE BIT MASK TO ISOLATE THE CORRECT BIT IN THE BYTE
; PART OF THE REASON FOR THIS SCHEME IS BECAUSE NORMAL TABLE
; LOOKUP REQUIRES AN ADDITIONAL STACK LEVEL
bcf STATUS,C ; CLEAR CARRY (FOR THE LEFT SHIFT)
MOVLW .1 ; INITIALISE MASK = 1
BTFSC HOP3,3 ; SHIFT MASK 4X IF BIT 2 SET
MOVLW B'00010000' ; SHIFT MASK 4X IF BIT 2 SET
MOVWF MASK ; INITIALISE MASK = 1
BTFSS HOP2,0 ; SHIFT MASK ANOTHER 2X IF BIT 1 SET
GOTO $+3
RLF MASK,F
RLF MASK,F
BTFSC HOP1,0 ; SHIFT MASK ANOTHER 1X IF BIT 0 SET
RLF MASK,F
; MASK HAS NOW BEEN SHIFTED 0-7 TIMES ACCORDING TO BITS 2:1:0
movlw HIGH TABLE
movwf PCLATH
movlw LOW TABLE
movwf KEELOQ_Temp
MOVLW 0 ; TABLE INDEX = 0
BTFSC HOP4,1
IORLW .2 ; IF BIT 3 SET ADD 2 TO THE TABLE INDEX
BTFSC HOP4,6
IORLW .4 ; IF BIT 4 SET ADD 4 TO THE TABLE INDEX
addwf KEELOQ_Temp,W
btfsc STATUS,C
incf PCLATH,F
movwf PCL ; ADD THE INDEX TO THE PROGRAM COUNTER
;[ MUST BE IN LOWER HALF OF PAGE ]
TABLE
MOVLW 0x2E ; BITS 4:3 WERE 00
GOTO TABLE_END ; END OF LOOKUP
MOVLW 0x74 ; BITS 4:3 WERE 01
GOTO TABLE_END ; END OF LOOKUP
MOVLW 0x5C ; BITS 4:3 WERE 10
GOTO TABLE_END ; END OF LOOKUP
MOVLW 0x3A ; BITS 4:3 WERE 11
TABLE_END
ANDWF MASK,1 ; ISOLATE THE CORRECT BIT
MOVLW 0 ; COPY THE BIT TO BIT 7
btfss STATUS,Z ; COPY THE BIT TO BIT 7
MOVLW B'10000000' ; COPY THE BIT TO BIT 7
XORWF HOP2,W ; ONLY INTERESTED IN BIT HOP2,7
XORWF HOP4,W ; ONLY INTERESTED IN BIT HOP4,7
XORWF KEY1,W ; ONLY INTERESTED IN BIT KEYREG1,7
MOVWF MASK ; STORE W TEMPORARILY (WE NEED BIT 7)
RLF MASK,F ; LEFT ROTATE MASK TO GET BIT 7 INTO CARRY
RLF HOP1,F ; SHIFT IN THE NEW BIT
RLF HOP2,F
RLF HOP3,F
RLF HOP4,F
ROTATE_KEY
bcf STATUS,C ; CLEAR CARRY
BTFSC KEY7,7 ; SET CARRY IF LEFTMOST BIT SET
bsf STATUS,C ; SET CARRY IF LEFTMOST BIT SET
RLF KEY0,F ; LEFT-ROTATE THE 64-BIT KEY
RLF KEY1,F
RLF KEY2,F
RLF KEY3,F
RLF KEY4,F
RLF KEY5,F
RLF KEY6,F
RLF KEY7,F
DECFSZCNT0,F ; INNER LOOP 48 TIMES
GOTO DECRYPT_INNER ; INNER LOOP 48 TIMES
DECFSZCNT1,F ; OUTER LOOP 12 TIMES (11+1 TO RESTORE KEY)
GOTO DECRYPT_OUTER ; OUTER LOOP 12 TIMES (11+1 TO RESTORE KEY)
RETLW 0 ; RETURN mark 楼主的资料很重要,顺利解决了解码 kankan谢谢 c的 别关啥资料,顶下先 正在弄这个 点击此处下载 ourdev_698276YNIGT4.rar(文件大小:3K) (原文件名:hcs301.rar) 点击此处下载 ourdev_698276YNIGT4.rar(文件大小:3K) (原文件名:hcs301.rar) 不好意思,点了两次. mark 顶 下一下,看看。。。。。 看看了解 #在这里快滚动码速回复# 做个记号吧