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)將密碼加密後再存儲進數據庫。具體描述可參考相關文獻。

返回目錄

相關文章
相關標籤/搜索