diff --git a/src/client/Client.java b/src/client/Client.java
index 800fac6e8eb9444b5018277491d4e3dc6cec8b47..7397f62de232d8b5184388fe2f95cd134eff63c1 100644
--- a/src/client/Client.java
+++ b/src/client/Client.java
@@ -11,11 +11,14 @@ import remote.IDrawingController;
 import java.rmi.RemoteException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
 
 public class Client
 {
     private final String DEFAULT_USERNAME = "Anonymous";
     private final String DEFAULT_SERVER_ADDRESS = "localhost";
+    private final EncryptionUpdate encryptionUpdate;
 
     private String userName;
     private String serverAddress;
@@ -73,7 +76,7 @@ public class Client
     public IDrawingController getDrawingController() { return drawingController; }
 
 
-    public Client(String username) throws RemoteException
+    public Client(String username) throws RemoteException, NoSuchProviderException, NoSuchAlgorithmException
     {
         this.userName = username;
         this.clientUpdate = new ClientUpdate(this);
@@ -81,6 +84,7 @@ public class Client
         this.drawingUpdate = new DrawingUpdate(this);
         this.startScreen = new StartScreen(this);
         this.applicationMain = new ApplicationMain(this);
+        this.encryptionUpdate = new EncryptionUpdate();
     }
 
     public static void main(String[] args)
@@ -143,7 +147,7 @@ public class Client
 
             if( clientController.checkPassword(password) )
             {
-                if( clientController.join(userName, this.chatUpdate, this.clientUpdate, this.drawingUpdate) )
+                if( clientController.join(userName, this.chatUpdate, this.clientUpdate, this.drawingUpdate, this.encryptionUpdate) )
                 {
                     System.out.println("Connected to server");
 
diff --git a/src/remote/IClientController.java b/src/remote/IClientController.java
index 1dcd165573a381d245924c9966d8a13367439a3f..07f812571e834b2bdf8c87499121d01095064dca 100644
--- a/src/remote/IClientController.java
+++ b/src/remote/IClientController.java
@@ -7,7 +7,7 @@ public interface IClientController extends Remote
 {
     enum Action {KICKOUT, ASSIGNADMIN};
 
-    boolean join(String username, IChatUpdate clientChat, IClientUpdate clientUpdate, IDrawingUpdate clientDrawing) throws RemoteException;
+    boolean join(String username, IChatUpdate clientChat, IClientUpdate clientUpdate, IDrawingUpdate clientDrawing, IEncryptionUpdate encryptionUpdate) throws RemoteException;
 
     void quit(String username) throws RemoteException;
 
diff --git a/src/server/ClientController.java b/src/server/ClientController.java
index 4c710bbc9d0fa508751c3db651f717aed06798f4..2d40ff1c1bd9ee703f860887713428c4c34619ac 100644
--- a/src/server/ClientController.java
+++ b/src/server/ClientController.java
@@ -1,9 +1,6 @@
 package server;
 
-import remote.IChatUpdate;
-import remote.IClientUpdate;
-import remote.IDrawingUpdate;
-import remote.IClientController;
+import remote.*;
 
 import java.io.Serializable;
 import java.rmi.Remote;
@@ -20,13 +17,15 @@ public class ClientController extends UnicastRemoteObject implements IClientCont
     }
 
     @Override
-    public boolean join(String username, IChatUpdate clientChat, IClientUpdate clientUpdate, IDrawingUpdate clientDrawing) throws RemoteException
+    public boolean join(String username, IChatUpdate clientChat, IClientUpdate clientUpdate, IDrawingUpdate clientDrawing, IEncryptionUpdate encryptionUpdate) throws RemoteException
     {
         if( getUserIndex(username) < 0 )
         {
             // user with same username is not connected
             server.chatController.broadcastMessageUserLogin(username);
 
+            new MySharedKey(encryptionUpdate);
+
             User newUser = new User(username, clientChat, clientUpdate, clientDrawing);
 
             server.users.add(newUser);
diff --git a/src/server/Server.java b/src/server/Server.java
index 0160269bb14d69676c82e568f5521ab9d84ae94d..cb1ef67e4d58a8f673777b4324c0fc783792b1ec 100644
--- a/src/server/Server.java
+++ b/src/server/Server.java
@@ -4,6 +4,8 @@ import remote.IChatController;
 import remote.IClientController;
 import remote.IDrawingController;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import java.rmi.RemoteException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
@@ -54,7 +56,6 @@ public class Server
 
     public void run() throws RemoteException
     {
-
         LocateRegistry.createRegistry(1099);
         Registry registry = LocateRegistry.getRegistry();
 
@@ -71,5 +72,24 @@ public class Server
         registry.rebind(drawingControllerName, drawingController);
 
         System.out.println("Server is ready");
+
+        printIP();
+    }
+
+    private void printIP()
+    {
+        InetAddress inetAddress = null;
+
+        try
+        {
+            inetAddress = InetAddress.getLocalHost();
+        }
+        catch (UnknownHostException e)
+        {
+            e.printStackTrace();
+        }
+
+        System.out.println("IP Address:- " + inetAddress.getHostAddress());
+        System.out.println("Host Name:- " + inetAddress.getHostName());
     }
 }