各位看看这个算法有没有什么漏洞

2020-02-29 13:36:00 +08:00
 cncmmdwl

密码思路

第一 要有校验码防止输入错误

第二 两边要能相互算出来 要预留密匙

第三 抗回放攻击 口令一次有效

第四 设备不联网

想法

机器码 6 位

输入密码 6 位

给定设备机器码 a8b50c

让设备计算 10 次后续密码 防止有人不用密码然后别人算不出来

算法

机器码先取反

30AD15

然后获取使用次数(这里使用数字 300 ) 与 机器码 相乘 390AD49C

太长 丢掉 3 位 获得 390A

给前面来一个(随机 0 到 A 这里使用 0 ) 计算 各位相加 获得 16 获取尾巴 6

算出密码 039A06


设备端 039A06 获得后

先进行验算 是否尾巴是 6

然后丢掉 0 和 6

得到 39a0

检查是否使用过

没用过,通过并记录当前次数

给后面的设备发信号通过

问题

在想几个问题,机器码是否要显示出设备被使用了几次

这样的算法是否能被大量 (例如 购买 300 次)计算统计出规律?

1443 次点击
所在节点    算法
2 条回复
aliipay
2020-03-31 23:42:17 +08:00
密码?是 验证码?一次性 token ?还是什么?
场景是什么?
看不明白你在说什么
cncmmdwl
2020-04-17 17:18:27 +08:00
@aliipay 我打算当一次性 token 场景是自动售货机(不联网)设备内有纽扣电池,但可能出厂后就不在会进行联网了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/648574

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX