"众妙之门" - 范文中心

"众妙之门"

07/16

  概述   摘要   本项目主要是初等数学原理在电子密码锁上应用的研究,利用“3个不同点确定唯一的一元二次函数”这一数学原理,来设计电子门禁装置,使得至少3位有效密码持有者同时在场才可开启门禁电子锁。同时,应用数论中的算术基本定理――每个大于1的正整数都可以唯一地表示成质数的乘积――来管理使用者的开门权限。实践方面,我们使用Visual Basic来编写该系统的软件部分,并利用“USB多功能I/O开发板”、“S70射频卡”和自制电子门实现硬件部分。当门禁系统通过USB接口同时读取3张不同的有效射频卡时,电子门方可自动打开。所谓三人为众,再加上本原理巧妙地利用了一些数学原理,所以我们引用老子的《道德经》中的“众妙之门”来命名该门禁装置。   问题提出   学期开学之初,老师告诉我们,为了更好地利用数学实验室,所以希望每次进入数学实验室的同学至少3位或更多。鉴于传统门禁锁的使用难以满足至少3人才可进入实验室的条件,而且每个学期又都要有新的同学进入实验室,电子密码也需要不断更新……所以我们便有了设计一个专门的门禁装置的想法。   研究假设   可不可以利用所学的数学知识来设计满足老师要求的密码锁呢?如果可以,那么它要具有以下功能:   门禁系统要具备管理弹性,因为每个学期数学班同学的人数和人员组成都不一样;   任意3位持有有效密码的数学班的同学同时在场,均可以打开该门禁系统;   密码应当不容易破解又可以在每个学期支持更新;   门禁系统的使用过程中,不需要修改内置程序。   表1      密码原理   密码的产生   密码由管理班级的老师制作并派发。老师首先在心中想定一个形如 f(x)=Ax2+Bx的二次函数式,A与B两个系数由老师选定。例如令A=1,B=2。每个学生各派发给一个密码。为方便阐明原理,我们令密码由2组数字(每组3位)组成,第一组数字是他在数学班的学号并记为x,第2组数字就是f(x)并记为y。设一班有12人,则学号(密码前3位)就是001至012,后3位也易算得。12位同学使用的最终密码如表1。   密码锁的使用   假如学号是001、002及003共3位同学要进入数学实验室,则当2位同学正确地输入他们的密码后,密码锁就能求出老师用来产生密码的系数A和B。假如002及003两位同学输入密码后,密码锁就知道老师想定的二次函数经过(0,0)、(2,8)和(3,15)3点,因而这个二次函数是唯一的。解方程组   4A+2B=8 9A+3B=15   就可求出A和B的值即是1和2。所以   f(x)=x2+2x   最后001同学输入他的密码,密码锁就利用所求得的二次函数验证所输入密码是否由该函数产生。如果是,就开锁;否则,保持上锁状态。如果002及003同学输入错误的密码,解出来的A和B就不会是1和2。所以当001同学输入他的密码后,当系统检测到此密码并不是由它求得的函数产生时,密码锁也会保持上锁状态。   这个锁有一个很大的优点,就是A和B不会留在锁上,这使得它十分安全。等到下学期时,老师就可以更新A和B,大家开始使用新的密码。而密码锁内的程序设置,一点都不必改变或更新。   实际操作中,计算机无须每次都解方程,而是利用拉格朗日函数的特点直接算出A和B。   系统权限管理   在权限管理方面,我们应用了算术基本定理,它又称为质数的唯一分解定理,即:   每个大于1的自然数均可写为质数因子的积,而且这些质因子按大小排列之后,写法仅有一种方式。   于是系统将第i个学号对应为第i个质数来存储,即序号为004和005的同学对应第4和第5个质数7和11。当管理老师要禁止这2位同学进入实验室时,门禁系统会存储7和11的乘积(77),若77可以被学号对应的质数整除时,则系统不接受开门请求。   系统功能实现   硬件部分   电子门禁系统使用Visual Basic来编写该系统的应用程序的主要功能,而此程序由一台笔记本电脑执行。该电脑的一个USB接口连接射频卡的读写机(见图1),而另一USB接口连接一个多功能I/O(输入/输出)开发板(见图2)。开发板接收到控制电脑传来的开门信号后,电磁铁通电后吸起门闩,就可以开门。   软件部分   系统的应用程序是在Windows XP环境下执行,主要分为卡片注册、卡片管理和卡片读取等3个功能。管理操作界面如图3所示。   卡片注册。模块主要依据密码设计原理,由老师自定KEY A和KEY B来生成注册学生的注册密码,并输入注册学生的组号、组别和设定的有效期限。然后系统利用读写机将密码及其他资料写在该生的射频卡上,其功能的操作界面如图4所示。?其中Channel及Baud都是连接读写机的USB设定,每部电脑都可能不一样,要正确填写,读写机才可正常工作。而Card ID代表卡片的唯一序号。管理老师可以在该界面的密码参数设定区域输入有效期限和所设定的一元二次函数 的系数A(KEY A)和B(KEY B)的值,然后点击“生成密码”键生成该卡片的密码,然后点击“写入密码”将所生成的密码写入对应的卡片。这个界面还同时提供“回首页”按键,以供管理老师返回首页进行相应操作。   卡片读取。当3个或3个以上的学生请求进入实验室时,可以通过读卡功能将所持有的密码卡储存的密码提供给门禁系统,由门禁系统根据所读入的密码的正误情况选择打开和继续保持锁定。具体操作如下:   第1步:读入前两位学生的密码。   第2步:应用拉格朗日函数计算出注册生成这2个密码的二次函数系数的A和B的值,从而得到该一元二次函数。   第3步:读入第3位同学的密码,满足第2步所得到的函数则打开门禁;否则,保持锁定,并将储存的函数清除,并返回第1步。   第4步:结束。   具体操作界面如图5所示。   卡片管理。管理老师可利用此功能以通过整组或单个组员进行权限管理。权限管理具有两个功能:删除权限和恢复权限,如图6所示。当管理老师要对整组成员进行管理时,只需将该组组号输入对话框内,即可进行删除和恢复权限的操作。同理,需要对单个组员进行管理时,可以在对话框内输入该成员的组号和卡号,即可进行删除和恢复权限的操作。      图3 系统操作主界面      图4 注册界面      图5 密码读取      图6 权限管理   结论   此项目原理设计简单,性能安全,管理富有弹性,同时便于实践。稍加改动便可扩展到N人开门系统。与此同时,此原理的应用可以延伸至系统备份、计算机安全和审核认证等研究领域。在日常的学习中,只要我们多吸收、多观察、多思考,很多知识就都可以应用在我们的生活中。在这里用到的二次函数性质和方法,想来在其他领域,如计算机安全上一定也会很有用。   专家评语   本项目巧妙地利用“一元二次函数曲线被三个点所决定”的原理,设计了一种持有密码的人群中三个人输入密码才能打开的密码锁。选题新颖、恰当,是一项优秀的初中生科研实践。