91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 17KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-20
  • 語言: 其他
  • 標簽: KDC??

資源簡介

作為通訊的雙方A和B,都已經分別和KDC擁有會話密鑰Ka和Kb,但A、B之間事先沒有保密通道,需要依賴KDC為它們的會話分配臨時密鑰Ks。在完成會話密鑰Ks的分配后,A利用Ks對特定文件(test-1.txt)進行加密,并發送給B;B利用Ks對密文進行解密,并對比解密后的明文信息同原來的文件是否一致。

資源截圖

代碼片段和文件信息

import?java.awt.BorderLayout;
import?java.awt.Container;
import?java.io.objectInputStream;
import?java.io.objectOutputStream;
import?java.net.ServerSocket;
import?java.net.Socket;
import?java.util.HashMap;
import?java.util.Random;

import?javax.crypto.SecretKey;
import?javax.swing.Jframe;
import?javax.swing.JScrollPane;
import?javax.swing.JTextArea;

/**
?*?密鑰分配中心
?*/
public?class?KDC?extends?Jframe{

?private?static?final?long?serialVersionUID?=?1L;
?
?ServerSocket?socket;
?Socket?connect;
?objectInputStream?in;
?objectOutputStream?out;
?
?//保存用戶與KDC共享的密鑰
?private?HashMap?keys?=?new?HashMap();
?private?JTextArea?textArea?=?new?JTextArea();
?
?public?KDC()?throws?Exception{
??super(“密鑰分配中心“);
??
??Container?cp?=?this.getContentPane();
??cp.add(new?JScrollPane(textArea)BorderLayout.CENTER);
??
??this.setSize(300300);
??this.setVisible(true);
??this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
??
??socket?=?new?ServerSocket(100005);//KDC的Socket初始化,采用端口10000
??
??Thread?t?=?new?Thread(new?KDCThread());
??t.start();//啟動線程,接收用戶的請求
?}
?
?//處理用戶的請求
?private?void?dealRequest(String?data)?throws?Exception{
??String[]?msg?=?data.split(““);
??textArea.append(msg[0]+“??請求與???“+msg[1]+“??通信\n本次業務標識符:?“+msg[2]+“??\n\n“);
??
??sendMsg(msg[0]msg[1]msg[2]);
?}
?
?/**
??*?KDC接收到用戶的會話密鑰請求后,應答對方
??*?
??*?@param?ida
??*????會話請求方ID
??*?@param?idb
??*????被請求會話方ID
??*?@param?random
??*????業務標識符
??*?@throws?Exception
??*/
?private?void?sendMsg(String?idaString?idbString?N1)?throws?Exception{
??String?ks?=?random();//產生一個隨機數用于生成密鑰
??
??String?strMsgToIda?=?ks+“/“+ida+“/“+idb+“/“+N1;//發送給會話請求方A的信息(未加密)
??String?strMsgToIdb?=?ks+““+ida;//發送給會話接收方B的信息(未加密)
??byte[]?byteMsgToIda?=?Provider.encrypt(keys.get(ida)strMsgToIda.getBytes());//發送給會話請求方A的信息(已加密)
??byte[]?byteMsgToIdb1?=?Provider.encrypt(keys.get(idb)strMsgToIdb.getBytes());//發送給會話接收方B的信息(用B密鑰加密,但未用A密鑰加密)
??byte[]?byteMsgToIdb?=?Provider.encrypt(keys.get(ida)byteMsgToIdb1);//發送給會話接收方B的信息(已用A的密鑰加密)

??send(byteMsgToIda);
??send(byteMsgToIdb);
??
??connect.close();//關閉連接
?}
?
?public?void?addClient(String?idSecretKey?SecretKey){
??keys.put(id?SecretKey);
?}
?
?public?void?send(byte[]?data)?throws?Exception{
??int?num?=?data.length;
??out.writeInt(num);//發送字節數
??out.flush();
??
??out.write(data);//發送數據
??out.flush();
?}
?
?private?String?random(){
??Random?r?=?new?Random();
??String?id?=?Math.abs(r.nextInt()%10000)+““;
??
??return?id;
?}
?
?//用于接收用戶請求的線程
?private?class?KDCThread?implements?Runnable{
??public?void?run()?{
???while(true){
????try?{
?????connect?=?socket.accept();//循環等待用戶請求
?????out?=?new?objectOutputStream(connect.getOutputStream());
?????in?=?new?objectInputStream(connect.getInputStream());
?????
?????//處理接收到的用戶請求
?????dealRequest(in.readUTF());
????}?catch?(Exception?e)?{
?????e.printStackTrace();
????}
??}
?}
?}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????379??2010-03-27?20:43??KDC\.project

?????文件???????3214??2010-03-27?20:47??KDC\src\KDC.java

?????文件???????2214??2010-03-27?20:46??KDC\src\Provider.java

?????文件???????6579??2010-03-27?20:57??KDC\src\User.java

?????文件????????297??2010-03-27?20:46??KDC\src\Test.java

?????文件???????7181??2010-03-27?20:57??KDC\bin\User.class

?????文件???????1161??2010-03-27?20:57??KDC\bin\User$1.class

?????文件????????975??2010-03-27?20:57??KDC\bin\User$SendThread.class

?????文件???????1543??2010-03-27?20:57??KDC\bin\User$Communicate.class

?????文件????????550??2010-03-27?20:47??KDC\bin\Test.class

?????文件???????2599??2010-03-27?20:47??KDC\bin\Provider.class

?????文件???????1386??2010-03-27?20:47??KDC\bin\KDC$KDCThread.class

?????文件???????3901??2010-03-27?20:47??KDC\bin\KDC.class

?????文件????????629??2010-03-27?20:43??KDC\.settings\org.eclipse.jdt.core.prefs

?????文件????????421??2010-03-27?20:47??KDC\.classpath

?????目錄??????????0??2010-03-27?20:43??KDC\src

?????目錄??????????0??2010-03-27?20:43??KDC\bin

?????目錄??????????0??2010-03-27?20:43??KDC\.settings

?????目錄??????????0??2010-03-27?20:43??KDC

-----------?---------??----------?-----??----

????????????????33029????????????????????19


評論

共有 條評論