zoukankan      html  css  js  c++  java
  • 对农行金e顺k令的一些猜测

    手上有一个未激活的农行金e顺k令

    开机后要求输入12位的激活码,随机输入多次,均告失败

    花了点时间猜想k令的工作模式:

    已知:

    k令无法联网,出厂后除了输入激活码的机会外,无法获取任何信息

    k令内部有时钟

    k令功率极小,无法完成复杂运算

    对工作原理的猜测:

    每个k令均有唯一编号M

    银行使用函数f(M,u)得到12位激活码N(u是一个随机数)

    k令会检测M与N是否匹配,如果不匹配,则拒绝开机

    激活后,k令会基于M和N生成随机数种子R

    每次支付的时候,k令会调用内部时钟,得到当前时间T,支付金额为P

    然后基于函数f(R,T,P),得到一个六位伪随机数Z

    银行知道M,N,可以用同样的手段计算出R,然后得到Z,从而完成鉴权

    推论:

    激活码无法在另外一台k令上使用

    k令的内部时钟需要保持准确,起码在出厂三年内误差不能超过一分钟

    也许银行会计算出±1分钟内的所有Z值,用来减少用户输入错误的可能性

  • 相关阅读:
    图解表连接
    python 开发学习
    学习路线
    前端开发学习路径(完整版)
    JSON.parse()与JSON.stringify()的区别
    npm介绍和使用
    jQ
    BOM
    javaScript 内置对象-Array数组
    Ajax
  • 原文地址:https://www.cnblogs.com/stevenczp/p/5185978.html
Copyright © 2011-2022 走看看