2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目

2017-2018-2 165X 『Java程序设计』课程

团队项目备选题目

结合本课程时间安排,以及同窗们的专业和课程内容,制定了如下六个题目供各小组选择。若有其余项目方案设想,可自行与老师沟通。老师赞成后亦可做为团队项目。html

————————CONTENTS————————


题目一:黄金点游戏

(1)问题描述

黄金点游戏是一个数字小游戏,其游戏规则是:java

N个同窗(N一般大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出全部数字的平均值,而后乘以0.618(所谓黄金分割常数),获得G值。提交的数字最靠近G(取绝对值)的同窗获得N分,离G最远的同窗获得-2分,其余同窗得0分。玩了几天之后,你们发现了一些颇有意思的现象,好比黄金点在逐渐地往下移动。android

(2)基本要求

请根据这个游戏规则,编一个能够多人一块儿玩的小游戏程序,要求以下:算法

  • 一、尽可能以C/S或B/S方式实现,即利用服务器接收和处理全部玩家提交的数字,并将结果反馈给各玩家,玩家能够经过客户端提交的数字;
  • 二、若是采用单机方式实现,须要为用户提供便利的输入界面;
  • 三、该游戏每次能够运行10轮以上,并可以保留各轮比赛结果。

详细描述可参考邹欣老师的博客:创新的时机 – 黄金点游戏数据库

返回目录安全


题目二:RSA—DES混合密码功能模块

(1)问题描述

因为RSA不适于直接加密大量明文,且DES的密钥并不大,所以用DES来加密明文,再用RSA加密DES的密钥,将RSA公钥公开,私钥保密,只有掌握公钥方才可经过私钥解密.服务器

(2)基本要求

  • 一、产生密钥对时,p,q,d,e参数选取合理,并可导出。
  • 二、待加密文件可进行选择。
  • 三、解密后输出到另外一个文件中。
  • 四、程序功能完善,界面友好。

返回目录加密


题目三:客户端-服务器安全信息传递系统

(1)问题描述

基于Java语言开发,结合密码学算法,实现一个安全的信息发送接收系统。spa

(2)基本要求

  • 一、服务器可同时与多个客户端通讯。
  • 二、对全部通讯内容用分组密码进行加密。
  • 三、对全部的通讯内容用认证码(MAC)进行完整性检验。
  • 四、程序功能完善,界面友好。

返回目录设计


题目四:基于Android的文件加密系统

(1)问题描述

在Android平台上基于AES/DES等加密算法实现文件加解密。

(2)基本要求

  • 一、待加密文件可进行选择。
  • 二、可自行选择分组算法。
  • 三、程序功能完善,界面友好。

返回目录


题目五:Schnorr身份识别协议的实现

(1)问题描述:

Schnorr身份识别协议的身份识别过程以下:

  1. P任选一整数r∈[1,q-1],计算X=ar mod p 并将X和证书CerP送给V。
  2. V验证CerP中TA的签名。若是成功,则任选一整数e∈[1,2t-1],做为V对P的“询问”,发送给P。
  3. P计算s=r+xe mod q ,s当作是P对V的“应答”,发送给V。
  4. V给证asye mod p =X是否成立,若成立,则V相信对方就是P。

其中p和q都是大素数,且q∣(p-1),a∈Zp*,aq=1 mod p。x∈Zq为P的私钥,公钥y=a-x mod p,t为安全参数。

(2)基本要求:

  • 一、能模拟P、V双方。
  • 二、程序功能完善,界面友好。

返回目录


题目六:数据库安全存储系统

(1)问题描述:

设计一款数据库加密系统,用户输入的数据加密后(Hash等)存储。如:用户信息注册系统,用户名以明文存储,密码加密存储。用户登陆时输入密码,哈希后与数据库比对,一致则登陆成功。

(2)基本要求:

  • 一、程序功能完善,界面友好。
  • 二、直接存储哈希值易遭受字典破解(Dictionary Attack)、暴力破解(Brute Force Attack),甚至逆向查表法(Reverse Lookup Tables)、彩虹表(Rainbow Tables)等攻击。可考虑“加盐”(Salt + Hash)将密码加密后再存储进数据库。具体描述可参考相关文献。

返回目录

相关文章
相关标签/搜索