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

团队项目备选题目

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

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


题目一:黄金点游戏

(1)问题描述

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

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

(2)基本要求

请根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下:

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

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

返回目录


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

(1)问题描述

由于RSA不适于直接加密大量明文,且DES的密钥并不大,因此用DES来加密明文,再用RSA加密DES的密钥,将RSA公钥公开,私钥保密,只有掌握公钥方才可通过私钥解密.

(2)基本要求

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

返回目录


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

(1)问题描述

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

(2)基本要求

  • 1、服务器可同时与多个客户端通信。
  • 2、对所有通信内容用分组密码进行加密。
  • 3、对所有的通信内容用认证码(MAC)进行完整性检验。
  • 4、程序功能完善,界面友好。

返回目录


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

(1)问题描述

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

(2)基本要求

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

返回目录


题目五: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)基本要求:

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

返回目录


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

(1)问题描述:

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

(2)基本要求:

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

返回目录

2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目的更多相关文章

  1. 2017-2018-2 165X 『Java程序设计』课程 助教总结

    2017-2018-2 165X 『Java程序设计』课程 助教总结 本学期完成的助教工作主要包括: 编写300道左右测试题,用于蓝墨云课下测试: 发布博客三篇:<2017-2018-2 165 ...

  2. 2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉 ...

  3. 2017-2018-2 165X 『Java程序设计』课程每周成绩公布

    2017-2018-2 165X 『Java程序设计』课程 每周成绩公布 本博客将跟随教学进度不定期更新,每次更新后将在课程群公布.如对成绩有疑问,请于公布成绩后的1天之内联系助教,进行审核确认. - ...

  4. 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周

    2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...

  5. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算_第三周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 ...

  6. 2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算——第一周

    2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址:点击这里 1. 需求分析: 可生成题目: - 输入要想生成 ...

  7. 2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算

    2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算 需求分析: 支持整数,可进行多运算符运算,有优先级. 设计思路: 在有括号的情况下,先计算得出括号中的结果,如 ...

  8. 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

    20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...

  9. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结

    20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...

随机推荐

  1. 字符类型char、字符串与字符数组、字符数组与数据数组区别

    字符类型是以ASCII码值运算的:小写字母比相应的大写字母大32,其中A=65,a=97 Esc键 27(十进制).'\x1B'(十六进制).'\33'(八进制) 转义字符:\0 空字符     AS ...

  2. asp.net 获得伪静态网址解决微信sdk签名问题

    手机网站是asp.net c#编写的,前几天因为要使用微信SDK在手机网站页面使用分享功能,但是程序使用了伪静态功能.如果原地址是:http://ww.xx.com/news/show.aspx?id ...

  3. (链表) 83. Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear only once. Example 1 ...

  4. 黑苹果是否会成为mac电脑的竞争对手?

    最近黑科技技术大佬们都在传扬windows系统上安装mac系统,不用买mac电脑也可以使用mac一样的操作环境.什么是黑苹果?一起来看看如何在windows系统上安装mac系统. 更多专题,可关注小编 ...

  5. go 学习资源和GitHub库

    go httprouter 源码包 https://github.com/julienschmidt/httprouter 用例 https://github.com/gsingharoy/httpr ...

  6. 【C#】C#格式化文件大小

    /// <summary> /// 格式化文件大小的C#方法 /// </summary> /// <param name="filesize"> ...

  7. Java 语言特性

    介绍以下几种语言特性: Java5的特性 1.静态引用 2.可变参数 3.自动装箱和拆箱  包装类的缓存设计 4.枚举 一.静态引用(语法糖,不推荐使用,了解一下即可) 先看看普通的引用,就是impo ...

  8. springMVC的全局拦截器

    先说说为什么要使用springMVC的全局拦截器,比如 当我们在访问接口的时候,我们一般都会先判断这个用户是否登陆,我们就要在每个接口的前面都要判断一下,想想是不是很蛋疼,那工作量... 这时候,我们 ...

  9. python第一次周末大作业

    #############################作业############################# 1. 三次登录验证 完成用户登录验证 要求: 1. 系统自动生成4位随机数. ...

  10. Hadoop记录-NameNode优化

    1.NameNode启动过程 加载FSImage: 回放EditLog: 执行CheckPoint(非必须步骤,结合实际情况和参数确定,后续详述): 收集所有DataNode的注册和数据块汇报. 采用 ...