4章 システム評価

Similar documents
12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

(Microsoft PowerPoint - \223\306\217KJava\221\346\202R\224\305.ppt)

K227 Java 2

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a


JavaプログラミングⅠ

PowerPoint プレゼンテーション

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

r1.dvi

Programming-C-9.key

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

データ構造とアルゴリズム論

オブジェクト指向プログラミング・同演習 5月21日演習課題

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

text_11.dvi

データ構造とアルゴリズム論

Network Programming


PowerPoint Presentation

例外処理とファイル入出力

Microsoft PowerPoint - netprog_2015_07.ppt [互換モード]

JAVA 11.4 PrintWriter 11.5

問題1 以下に示すプログラムは、次の処理をするプログラムである

226

II Java :30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

プログラムの基本構成

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

JavaプログラミングⅠ

2

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

Java学習教材

I java A

マークアップ言語

JavaプログラミングⅠ

ネットワークプログラミング(導入部)

プログラミング入門1

untitled

2

JAVA H13 OISA JAVA 1

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

Prog1_11th

Java Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225

プログラミングA

JavaプログラミングⅠ

( ) p.1 x y y = ( x ) 1 γ γ = filtergamma.java import java.applet.*; public class filtergamma extends Applet{ Image img; Image new_img; publi

Microsoft Word - keisankigairon.ch doc

Prog2_10th

JavaプログラミングⅠ

新・明解Java入門

I HTML HashMap (i) (ii) :.java import java.net.*; import java.io.*; import java.util.hashmap; public class SimpleStopWatch { public static voi

ISO( 国際標準化機構 ) により制定された異機種間のデータ通信を実現するためのネットワーク構造の設計方針. コンピュータの通信機能を 7 階層の階層構造に分割したモデルであり, 各層ごとに標準的な機能モジュールを定義している. 第 1 層 ( 物理層 ) データを通信回線に送出するための電気的な

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");

データ構造とアルゴリズム論

GEC-Java

vol.30.}...`.X...b.h

通信ネットワーク補足 TCP サーバプログラムその 14 フロー制御基本は確実に伝達することでした 次に受け取るべき情報の確認応答 (ACK 番号 = 受け取った シーケンス番号 + 受信データ量 ) のメッセージ受信で相手が受け取ったと判断する訳ですがその応答セグメントを待っていると遅くなります

untitled

untitled

スライド 1

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

問題1 以下に示すプログラムは、次の処理をするプログラムである

2

PowerPoint Presentation

解きながら学ぶJava入門編

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

データ構造とアルゴリズム論

プログラミング入門1

明解Javaによるアルゴリズムとデータ構造

1 Java Java GUI , 2 2 jlabel1 jlabel2 jlabel3 jtextfield1 jtextfield2 jtextfield3 jbutton1 jtextfield1 jtextfield2 jtextfield3

マークアップ言語

/ ( ) 8/7/ :21 p.2/64


ALG ppt

2

GEC-Java

GUIプログラムⅤ

ALG2012-F.ppt

Assignment_.java 課題 : 転置行列 / class Assignment_ public static void main(string[] args) int i,j; int[][] array = 1,,,,,,,,,,,,,1,1,; 行 列行列 i

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

ALG ppt

(Basic Theory of Information Processing) 1

8 if switch for while do while 2

< F2D834F838C A815B A CC>

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

Microsoft Word - java a.doc

JavaプログラミングⅠ

リファレンス,配列 例外処理

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C


アプレットの作成

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u

BASIC / / BA- SIC Web 1/10 1/10 / / JavaScript


Transcription:

2003 JEP

IM M 7

1.1 IM Yahoo!AOL IM Nilsen IM MSN Yahoo ICQ,AOL Nilsen IM Total 3,002,762 2,498,185 MSN Messenger 2,251,189 1,803,069 Yahoo! Messenger 698,645 638,660 ICQ 359,908 335,208 AOL Instant Messenger 102,327 98,798 70 IM

1.2 IM XML IM JabberSoftwareFundation SSL encryption 2 Bantu Bantu Messenger And Presence SSL Platform Divine MindAlign Software Ikimbo Ommiprise SSL Jabber JabCast Communications Platform Secure Realtime Communications SSL XML encryption DES SSL SSL IM SSL netrating IM IM IM

1.3 IM [3] Java Java IM

p g g a mod 1 q 1 p * p z

p g y 1 x mod p g p g y ax x mod mod 1 p g z r mod p z b a mod p g p z b ra a mod mod p b k x mod

p g p z p b k xar xa x mod mod mod p y k r mod ' p g p g y xa x mod mod 1 p g p y k rxa r mod mod ' p g k xar mod p g k xar mod '

3 3 g 2p a12a23a34 3 x15x22x32 y 1 r 2 4 mod13 2 mod 1 2 1 p g g a 8 mod13 2 mod 2 3 2 p g g a 3 mod13 2 mod 3 4 3 p g g a 10 mod13 4 mod 1 1 5 1 p g y x 12 mod13 8 mod 2 2 2 2 p g y x 9 mod13 3 mod 3 3 2 3 p g y x 1 4 mod13 2 mod 2 p g z r 2 3 1 mod13 12 mod 2 2 2 p y K r 3 mod13 9 mod 3 3 2 p y K r 2 K2 3 K3 z 3 12 mod13 4 mod 2 3 2 p z b a 9 mod13 4 mod 3 4 3 p z b a

b2b3 3 1 mod13 12 mod 2 2 2 2 p b K x 3 mod13 9 mod 3 3 2 3 p b K x 1

2 IM BigInteger g * p Z q p, q 1 p a x y k

data gqp user ID switch ID user ID IDs+IDmlist+IDchatlist+IDpass+ID ID a g p p g g a mod 1 g1 IDgqpg1 y ID ID ID ID ID y ID mlist+id ID

ID z IP s+id ID mlist+id z a p z b a mod IP s+id z ID mlist+id while ID ID IP s+id s+id IP ID ID ID IP s+id ID chatlist+id ID ID chatlist+id ID s+id IP ID chatlist+id while

userdatamlistpasschatkey x IDgqpg1 x p g y 1 x mod y userdata ID ID y+idkey+id ID ID y+id mlist ID

userdata r r r r mod q p g z r mod z IDz mlist ID y+id p y k r mod k key+id mlist+id while ID b y+id p b k x mod k key+id ID

key+id ID ID Online! ID ID key+id ID chatkey chatkey Online! ID ID chatkey ID

data g q p user ID ID a y mlist+id ID ID s+id IP Port ID chatlist+id ID pass+id ID userdata ID x g q p g1 y mlist ID ID pass pass chatkey k y+id y ID key+id k ID ID

ENTER ID mlist 1 mlist ID+online

7 8

haikei.txt

3MBACK.txt SAVE LOAD

5 3

[1]Nielsen//NetRatings, http://www.netratings.co.jp/im.html [2]Caroly D. Marsan, Secure Instant messaging software coming for corporate users Network World Fusion http://www.nwfusion.com/news/2002/128936_01-14-2002.html [3] Vol.,pp.961-965,2002 [4]Java

server1.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.*; public class server1{ public static void main(string argv[]){ //kidou try{ int port Integer.parseInt(argv[0]); ServerSocket ss new ServerSocket(port); while(true){ Socket s ss.accept(); System.out.println("accept: " + s); new s1t1(s); catch(exception e){ System.out.println(e); class s1t1 extends Thread{ Random rnd new Random(); BigInteger g new BigInteger("0"); BigInteger q new BigInteger("0"); BigInteger p new BigInteger("0"); BigInteger user new BigInteger("0");

Socket s; s1t1(socket s0){ s s0; start(); public void run(){ try{ BufferedReader br new BufferedReader(new FileReader("data")); String line; line br.readline(); g new BigInteger(line); line br.readline(); q new BigInteger(line); line br.readline(); p new BigInteger(line); br.close(); br new BufferedReader(new FileReader("user")); line br.readline(); user new BigInteger(line); catch(exception e){ try{

OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); //ID kousin BigInteger g1 new BigInteger("0"); BigInteger a new BigInteger("0"); BigInteger y new BigInteger("0"); BigInteger pa new BigInteger("0"); user user.add(biginteger.valueof(1)); String UU user.tostring(); FileWriter("user"))); PrintWriter pr new PrintWriter(new BufferedWriter(new pr.println(user); pr.close(); File file2 new File(UU); file2.createnewfile(); File file3 new File("mlist" + UU); file3.createnewfile(); File file4 new File("s" + UU); file4.createnewfile(); File file5 new File("chatlist" + UU); file5.createnewfile(); File file6 new File("pass" + UU); file6.createnewfile();

//kaku user ni taiousita himitukagi seisei FileWriter(UU))); a new BigInteger(128,rnd); System.out.println("a " + a); pr new PrintWriter(new BufferedWriter(new pr.println(a); g1 g.modpow(a,p); //sousin //jusin pw.println(user); pw.println(g); pw.println(q); pw.println(p); pw.println(g1); pw.flush(); String c d.readline(); y new BigInteger(c); c d.readline(); pa new BigInteger(c); pr.println(y); pr.close(); FileWriter("pass" + UU))); pr new PrintWriter(new BufferedWriter(new pr.println(pa); pr.close();

System.out.println("y " + y); s.close(); catch(exception e){ System.out.println(e); server2.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; public class server2{ public static void main(string argv[]){ try{ int port Integer.parseInt(argv[0]); ServerSocket ss new ServerSocket(port); while(true){ Socket s ss.accept(); System.out.println("accept: " + s); new s2t1(s); catch(exception e){ System.out.println(e);

class s2t1 extends Thread{ Socket s; s2t1(socket s0){ s s0; start(); public void run(){ try{ OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); System.out.println(s.getInetAddress()); System.out.println(s.getPort()); String c,ii; ii d.readline(); c d.readline(); BufferedReader br new BufferedReader(new FileReader(c)); String line; line br.readline(); line br.readline(); br.close(); System.out.println("y " + line); pw.println(line);

pw.flush(); s.close(); catch(exception e){ System.out.println("No user!!"); server3.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; class server3{ public static void main(string argv[]){ try{ int port Integer.parseInt(argv[0]); ServerSocket ss new ServerSocket(port); while(true){ Socket s ss.accept(); System.out.println("accept: " + s); new s3t1(s); catch(exception e){ System.out.println(e);

class s3t1 extends Thread{ Socket s; s3t1(socket s0){ s s0; start(); public void run(){ BigInteger g new BigInteger("0"); BigInteger q new BigInteger("0"); BigInteger p new BigInteger("0"); try{ BufferedReader br new BufferedReader(new FileReader("data")); String line; line br.readline(); g new BigInteger(line); line br.readline(); q new BigInteger(line); line br.readline(); p new BigInteger(line); br.close(); catch(exception e){

try{ OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); String I,c,uI,yourhost,yourport; I d.readline(); yourhost d.readline(); yourport d.readline(); c d.readline(); BigInteger z new BigInteger(c); FileWriter("s"+I))); PrintWriter pr new PrintWriter(new BufferedWriter(new pr.println(yourhost); pr.println(yourport); pr.close(); BufferedReader br1 new BufferedReader(new FileReader("mlist"+I)); while((ui br1.readline())!null){ BufferedReader br2 new BufferedReader(new FileReader(uI)); String line; line br2.readline();

BigInteger a new BigInteger(line); br2.close(); BigInteger b new BigInteger("0"); b z.modpow(a,p); System.out.println("b" + ui + " " +b); try{ BufferedReader br3 new BufferedReader(new FileReader("s"+uI)); String userhost,userport; userhost br3.readline(); userport br3.readline(); int userport2 Integer.parseInt(userport); Socket s2 new Socket(userhost, userport2); OutputStream os2 s2.getoutputstream(); PrintWriter pw2 new PrintWriter(os2); pw2.println(i); pw2.println(b); pw2.flush(); catch(exception e){ br1.close(); s.close();

catch(exception e){ System.out.println(e); server4.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; class server4{ public static void main(string argv[]){ try{ int port Integer.parseInt(argv[0]); ServerSocket ss new ServerSocket(port); while(true){ Socket s ss.accept(); new s4t1(s); catch(exception e){ System.out.println(e); class s4t1 extends Thread{

Socket s; s4t1(socket s0){ s s0; start(); public void run(){ try{ OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); String I,c,uI,yourhost,yourport; I d.readline(); ui d.readline(); yourhost d.readline(); yourport d.readline(); c d.readline(); System.out.println(c); FileWriter("s"+I))); PrintWriter pr new PrintWriter(new BufferedWriter(new pr.println(yourhost); pr.println(yourport); pr.close(); try{ BufferedReader br3

new BufferedReader(new FileReader("s"+uI)); String userhost,userport; userhost br3.readline(); userport br3.readline(); int userport2 Integer.parseInt(userport); Socket s2 new Socket(userhost, userport2); OutputStream os2 s2.getoutputstream(); PrintWriter pw2 new PrintWriter(os2); pw2.println(i); pw2.println(c); pw2.flush(); catch(exception e){ s.close(); catch(exception e){ System.out.println(e); server5.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*;

import java.util.random; class server5{ public static void main(string argv[]){ try{ int port Integer.parseInt(argv[0]); ServerSocket ss new ServerSocket(port); while(true){ Socket s ss.accept(); new s5t1(s); catch(exception e){ System.out.println(e); class s5t1 extends Thread{ Socket s; s5t1(socket s0){ s s0; start(); public void run(){ try{ OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr);

String I,c,uI,yourhost,yourport; I d.readline(); yourhost d.readline(); yourport d.readline(); c d.readline(); System.out.println(c); FileWriter("s"+I))); PrintWriter pr new PrintWriter(new BufferedWriter(new pr.println(yourhost); pr.println(yourport); pr.close(); BufferedReader br1 new BufferedReader(new FileReader("chatlist"+I)); while((ui br1.readline())!null){ try{ BufferedReader br3 new BufferedReader(new FileReader("s"+uI)); String userhost,userport; userhost br3.readline(); userport br3.readline(); int userport2 Integer.parseInt(userport); Socket s2 new Socket(userhost, userport2);

OutputStream os2 s2.getoutputstream(); PrintWriter pw2 new PrintWriter(os2); pw2.println(i); pw2.println(c); pw2.flush(); catch(exception e){ br1.close(); s.close(); catch(exception e){ System.out.println(e); client1.java import java.io.*; import java.net.*; import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; class client1{

public static void main(string args[]){ Random rnd new Random(); BigInteger x new BigInteger(128,rnd); BigInteger g new BigInteger("0"); BigInteger q new BigInteger("0"); BigInteger p new BigInteger("0"); BigInteger g1 new BigInteger("0"); BigInteger y new BigInteger("0"); BigInteger pa new BigInteger(128,rnd); try{ String host args[0]; int port Integer.parseInt(args[1]); Socket s new Socket(host, port); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); String c; File file1 new File("userdata"); file1.createnewfile(); FileWriter("userdata"))); PrintWriter pr new PrintWriter(new BufferedWriter(new //jusin c d.readline(); BigInteger ID new BigInteger(c); System.out.println("ID " + ID);

System.out.println("x " + x); c d.readline(); g new BigInteger(c); System.out.println("g " + g); pr.println(id); pr.println(x); pr.println(g); c d.readline(); q new BigInteger(c); System.out.println("q " + q); pr.println(q); c d.readline(); p new BigInteger(c); System.out.println("p " + p); pr.println(p); c d.readline(); g1 new BigInteger(c); System.out.println("g1 " + g1); pr.println(g1); //koukaikagi y g1.modpow(x,p); System.out.println("y " + y); pr.println(y); pr.close();

//sousin pw.println(y); pw.println(pa); pw.flush(); File file2 new File("mlist"); file2.createnewfile(); File file3 new File("pass"); file3.createnewfile(); pr new PrintWriter(new BufferedWriter(new FileWriter("pass"))); pr.println(pa); pr.close(); File file4 new File("chatkey"); file4.createnewfile(); catch(exception e){ System.out.println(e); client2.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random;

class client2{ public static void main(string args[]){ BigInteger y new BigInteger("0"); BigInteger I new BigInteger("0"); try{ String host args[0]; int port Integer.parseInt(args[1]); Socket s new Socket(host, port); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); String c; BufferedReader br new BufferedReader(new FileReader("userdata")); String ii; ii br.readline(); I new BigInteger(ii); br.close(); String ID args[2]; pw.println(i); pw.println(id); pw.flush(); c d.readline(); y new BigInteger(c); File file1 new File("y"+ID); file1.createnewfile();

File file2 new File("key"+ID); file2.createnewfile(); PrintWriter pr new PrintWriter(new BufferedWriter(new FileWriter("y"+ID))); pr.println(y); pr.close(); BufferedReader br2 new BufferedReader(new FileReader("mlist")); PrintWriter pr2 new PrintWriter(new BufferedWriter(new FileWriter("mlist"))); String TI; while((ti br2.readline())!null){ pr2.println(ti); pr2.println(id); pr2.close(); br2.close(); System.out.println("y" + ID + " " +y); s.close(); catch(exception e){ System.out.println(e); client3.java

import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; public class client3{ public static void main(string args[]){ Random rnd new Random(); BigInteger I new BigInteger("0"); BigInteger x new BigInteger("0"); BigInteger g new BigInteger("0"); BigInteger q new BigInteger("0"); BigInteger p new BigInteger("0"); BigInteger g1 new BigInteger("0"); BigInteger y new BigInteger("0"); try{ BufferedReader br new BufferedReader(new FileReader("userdata")); String line; line br.readline(); I new BigInteger(line); line br.readline(); x new BigInteger(line); line br.readline(); g new BigInteger(line); line br.readline(); q new BigInteger(line); line br.readline(); p new BigInteger(line); line br.readline();

g1 new BigInteger(line); line br.readline(); y new BigInteger(line); br.close(); catch(exception e){ try{ String host args[0]; int port Integer.parseInt(args[1]); Socket s new Socket(host, port); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InetAddress hostname InetAddress.getLocalHost(); String c; BigInteger yy new BigInteger("0"); BigInteger r new BigInteger(128,rnd); BigInteger r2,z,k; r2 r.remainder(q); z g.modpow(r2,p); String ID; BufferedReader br1 new BufferedReader(new FileReader("mlist")); while((id br1.readline())!null){

BufferedReader br new BufferedReader(new FileReader("y"+ID)); String line br.readline(); yy new BigInteger(line); br.close(); k yy.modpow(r2,p); FileWriter("key"+ID))); PrintWriter pr new PrintWriter(new BufferedWriter(new pr.println(k); pr.close(); System.out.println("key" + ID + " " +k); br1.close(); c3t1 tb new c3t1(); tb.start(); for(int i 0; i < 100000000; ++i){ int myport tb.getport(); pw.println(i); pw.println(hostname.gethostaddress()); pw.println(myport); pw.println(z); pw.flush(); catch(exception e){ System.out.println(e);

class c3t1 extends Thread{ int port; public int getport(){ return(port); public void run(){ try{ port 0; ServerSocket ss new ServerSocket(port); port ss.getlocalport(); while(true){ Socket s ss.accept(); System.out.println("accept: " + s); BigInteger x new BigInteger("0"); BigInteger p new BigInteger("0"); BufferedReader br new BufferedReader(new FileReader("userdata")); String line; line br.readline(); line br.readline(); x new BigInteger(line); line br.readline(); line br.readline(); line br.readline(); p new BigInteger(line); br.close();

OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); BigInteger b new BigInteger("0"); BigInteger k new BigInteger("0"); BigInteger y new BigInteger("0"); String ID d.readline(); String c d.readline(); b new BigInteger(c); k b.modpow(x,p); FileWriter("key"+ID))); PrintWriter pr new PrintWriter(new BufferedWriter(new pr.println(k); pr.close(); System.out.println("key" + ID + " " +k); s.close(); catch(exception e){ System.out.println(e);

client4.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; import cryptix.provider.key.rawsecretkey; import cryptix.util.core.hex; import xjava.security.*; public class client4{ public static void main(string args[]){ BigInteger I new BigInteger("0"); c4t1 tb new c4t1(); tb.setdaemon(true); tb.start(); for(int i 0; i < 100000000; ++i){ int myport tb.getport(); try{ BufferedReader br new BufferedReader(new FileReader("userdata")); String line; line br.readline(); I new BigInteger(line); br.close(); catch(exception e){

try{ BufferedReader keyin new BufferedReader(new InputStreamReader(System.in)); String a "Online!"; String host args[0]; int port Integer.parseInt(args[1]); int ID2 Integer.parseInt(args[2]); byte k0[],k1[],k2[], k3[]; k1 new byte[8]; BigInteger kint new BigInteger("0"); BufferedReader br2 new BufferedReader(new FileReader("key" + ID2)); String line2; line2 br2.readline(); kint new BigInteger(line2); br2.close(); Socket s new Socket(host, port); OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InetAddress hostname InetAddress.getLocalHost(); k0 kint.tobytearray(); for(int i 0; i < 8; ++i){ k1[i] k0[i];

Cipher alg Cipher.getInstance("DES/ECB/PKCS#7", "Cryptix"); RawSecretKey key new RawSecretKey("DES", k1); alg.initencrypt(key); k2 alg.crypt(a.getbytes()); pw.println(i); pw.println(id2); pw.println(hostname.gethostaddress()); pw.println(myport); pw.println(hex.tostring(k2)); pw.flush(); s.close(); while(!a.equals("quit") ){ a keyin.readline(); s new Socket(host, port); os s.getoutputstream(); pw new PrintWriter(os); hostname InetAddress.getLocalHost(); kint new BigInteger("0"); br2 new BufferedReader(new FileReader("key" + ID2)); line2 br2.readline(); kint new BigInteger(line2); br2.close(); k0 kint.tobytearray();

for(int i 0; i < 8; ++i){ k1[i] k0[i]; alg Cipher.getInstance("DES/ECB/PKCS#7", "Cryptix"); key new RawSecretKey("DES", k1); alg.initencrypt(key); k2 alg.crypt(a.getbytes()); pw.println(i); pw.println(id2); pw.println(hostname.gethostaddress()); pw.println(myport); pw.println(hex.tostring(k2)); pw.flush(); System.out.println(I + ":" + a); s.close(); catch(exception e){ class c4t1 extends Thread{ int port; public int getport(){ return(port); public void run(){ try{ port 0;

ServerSocket ss new ServerSocket(port); port ss.getlocalport(); while(true){ Socket s ss.accept(); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); String ID d.readline(); String c d.readline(); BigInteger kint new BigInteger("0"); BufferedReader br2 new BufferedReader(new FileReader("key" + ID)); String line2; line2 br2.readline(); kint new BigInteger(line2); br2.close(); byte k0[] kint.tobytearray(); byte k1[] new byte[8]; for(int i 0; i < 8; ++i){ k1[i] k0[i]; byte k2[], k3[]; "Cryptix"); Cipher alg Cipher.getInstance("DES/ECB/PKCS#7", RawSecretKey key new RawSecretKey("DES", k1); k3 Hex.fromString(c); alg.initdecrypt(key); k2 alg.crypt(k3);

System.out.println(ID + ":" + new String(k2)); s.close(); catch(exception e){ System.out.println(e); client5.java import java.io.*; import java.net.*; import java.lang.*; import java.math.*; import java.util.random; import cryptix.provider.key.rawsecretkey; import cryptix.util.core.hex; import xjava.security.*; public class client5{ public static void main(string args[]){ BigInteger I new BigInteger("0"); c4t1 tb new c4t1(); tb.setdaemon(true); tb.start(); for(int i 0; i < 100000000; ++i){ int myport tb.getport();

try{ BufferedReader br new BufferedReader(new FileReader("userdata")); String line; line br.readline(); I new BigInteger(line); br.close(); catch(exception e){ try{ BufferedReader keyin new BufferedReader(new InputStreamReader(System.in)); String a "Online!"; String host args[0]; int port Integer.parseInt(args[1]); byte k0[],k1[],k2[], k3[]; k1 new byte[8]; BigInteger kint new BigInteger("0"); BufferedReader br2 new BufferedReader(new FileReader("chatkey")); String line2; line2 br2.readline(); kint new BigInteger(line2); br2.close();

Socket s new Socket(host, port); OutputStream os s.getoutputstream(); PrintWriter pw new PrintWriter(os); InetAddress hostname InetAddress.getLocalHost(); k0 kint.tobytearray(); for(int i 0; i < 8; ++i){ k1[i] k0[i]; Cipher alg Cipher.getInstance("DES/ECB/PKCS#7", "Cryptix"); RawSecretKey key new RawSecretKey("DES", k1); alg.initencrypt(key); k2 alg.crypt(a.getbytes()); pw.println(i); pw.println(hostname.gethostaddress()); pw.println(myport); pw.println(hex.tostring(k2)); pw.flush(); s.close(); while(!a.equals("quit") ){ a keyin.readline(); s new Socket(host, port); os s.getoutputstream(); pw new PrintWriter(os); hostname InetAddress.getLocalHost(); BufferedReader br1

new BufferedReader(new FileReader("mlist")); String II; II br1.readline(); br1.close(); kint new BigInteger("0"); br2 new BufferedReader(new FileReader("chatkey")); line2 br2.readline(); kint new BigInteger(line2); br2.close(); k0 kint.tobytearray(); for(int i 0; i < 8; ++i){ k1[i] k0[i]; alg Cipher.getInstance("DES/ECB/PKCS#7", "Cryptix"); key new RawSecretKey("DES", k1); alg.initencrypt(key); k2 alg.crypt(a.getbytes()); pw.println(i); pw.println(hostname.gethostaddress()); pw.println(myport); pw.println(hex.tostring(k2)); pw.flush(); System.out.println(I + ":" + a); s.close();

catch(exception e){ class c4t1 extends Thread{ int port; public int getport(){ return(port); public void run(){ try{ port 0; ServerSocket ss new ServerSocket(port); port ss.getlocalport(); while(true){ Socket s ss.accept(); InputStream is s.getinputstream(); InputStreamReader isr new InputStreamReader(is); BufferedReader d new BufferedReader(isr); String ID d.readline(); String c d.readline(); BigInteger kint new BigInteger("0"); BufferedReader br2 new BufferedReader(new FileReader("chatkey")); String line2; line2 br2.readline(); kint new BigInteger(line2); br2.close();

byte k0[] kint.tobytearray(); byte k1[] new byte[8]; for(int i 0; i < 8; ++i){ k1[i] k0[i]; byte k2[], k3[]; "Cryptix"); Cipher alg Cipher.getInstance("DES/ECB/PKCS#7", RawSecretKey key new RawSecretKey("DES", k1); k3 Hex.fromString(c); alg.initdecrypt(key); k2 alg.crypt(k3); System.out.println(ID + ":" + new String(k2)); s.close(); catch(exception e){ System.out.println(e);