diff --git a/code/assets/js/deffiehelman.js b/code/assets/js/deffiehelman.js
new file mode 100644
index 0000000000000000000000000000000000000000..f89eaa38070f2d370b638ea1996f5d459d129a2a
--- /dev/null
+++ b/code/assets/js/deffiehelman.js
@@ -0,0 +1,41 @@
+const MAX_RAND = 2147483647;
+const MIN_RAND = 0;
+
+
+function generateNumber() {
+	
+	return Math.floor(Math.random() * (MAX_RAND - MIN_RAND)) + MIN_RAND;
+}
+
+function computePublic(number1 power number2) {
+
+	return Math.pow(number1,power) % number2;
+}
+
+function sharedPrivate(number1 power number2) {
+
+	return Math.pow(number1,power) % number2;	
+}
+
+
+function deffiehelman() {
+	var xhttp = new XMLHttpRequest();
+
+	number1 = generateNumber();
+	number2 = generateNumber();
+	xhttp.open("GET", "deffiehelman.php?action=1&number1="+number1+"&number2="+number2, false);
+	xhttp.send();
+
+	sharedPublicServer = xhttp.responseText;
+
+	randomPrivate = generateNumber();
+	sharedPublicClient = computePublic(number1,number2);
+
+	var xhttp = new XMLHttpRequest();
+	xhttp.open("GET", "deffiehelman.php?action=2&sharedPublicClient"+sharedPublicClient, false);
+	xhttp.send();
+
+	sharedKey = sharedPrivate(sharedPublicServer,randomPrivate,number2);
+
+	return sharedKey;
+}
diff --git a/code/deffiehelman.php b/code/deffiehelman.php
new file mode 100644
index 0000000000000000000000000000000000000000..346f91383182a2c7ce1edad817a12fe309e5f136
--- /dev/null
+++ b/code/deffiehelman.php
@@ -0,0 +1,70 @@
+<?php 
+
+    define ("MAX_INT",2147483647);
+    include 'mainviewer.php';
+
+
+    function generateNumber() {
+        return random_int(0,MAX_INT);
+    }
+
+    function computePublic($number1, $power, $number2) {
+
+        return pow($number1, $power) % $number2;
+    }
+
+    function sharedPrivate($number1, $power, $number2) {
+
+        return pow($number1, $power) % $number2;
+    }
+
+
+    function deffiehelman() {
+        var xhttp = new XMLHttpRequest();
+
+        number1 = generateNumber();
+        number2 = generateNumber();
+        xhttp.open("GET", "deffiehelman.php?action=1&number1="+number1+"&number2="+number2, false);
+        xhttp.send();
+
+        sharedPublicServer = xhttp.responseText;
+
+        randomPrivate = generateNumber();
+        sharedPublicClient = computePublic(number1,number2);
+
+        var xhttp = new XMLHttpRequest();
+        xhttp.open("GET", "deffiehelman.php?action=2&sharedPublicClient"+sharedPublicClient, false);
+        xhttp.send();
+
+        sharedKey = sharedPrivate(sharedPublicServer,randomPrivate,number2);
+
+        return sharedKey;
+    }
+
+    $action = $_GET['action'];
+    if ($action==1) {
+        $number1 = $_GET['number1'];
+        $number2 = $_GET['number2'];
+        $randomPrivate = generateNumber();
+
+        sharedPublicServer =  computePublic($number1,$randomPrivate,$number2);
+        //masukin ke database
+        $con = phpsqlconnection();
+        $sql = "INSERT INTO post (Post_Id, Creator_Id, Title, Date, Contents, Image) 
+            VALUES (NULL".",".$creatorid.","."'".$Judul."'".","."'".$Tanggal."'".","."'".$Konten."'".","."'".$target_file."')";
+        if (mysqli_multi_query($con, $sql)) {
+            // echo "Huba";
+            header("Location: index.php");
+        } else {
+            echo "Error: " . $sql . "<br>" . mysqli_error($con);
+        }
+
+
+        echo sharedPublicServer;
+    }
+    else if ($action==2) {
+        $number1 = $_GET['number1'];
+        sharedKey = sharedPrivate()                
+    }
+
+ ?>
\ No newline at end of file
diff --git a/code/sqldump/simpleblog.sql b/code/sqldump/simpleblog.sql
index c2391bd4403c8df0499be80b4634a3d6b70f8b60..350c6ea28f3d2aaf3e54b3cef45a7e3f850850c1 100644
--- a/code/sqldump/simpleblog.sql
+++ b/code/sqldump/simpleblog.sql
@@ -3,8 +3,8 @@
 -- http://www.phpmyadmin.net
 --
 -- Host: 172.17.0.3:3306
--- Generation Time: Feb 24, 2016 at 01:37 PM
--- Server version: 5.6.29-log
+-- Generation Time: Feb 24, 2016 at 05:01 PM
+-- Server version: 5.5.48-log
 -- PHP Version: 5.6.9-1+deb.sury.org~trusty+2
 
 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
@@ -70,7 +70,7 @@ INSERT INTO `post` (`Post_Id`, `Creator_Id`, `Title`, `Date`, `Contents`, `Image
 (38, 3, 'Mamam', '2016-12-12 00:00:00', 'mamam; CREATE DATABASE Suppliers', NULL),
 (39, 18, 'Aing mamam', '2020-12-12 00:00:00', 'Aing juga mamam', NULL),
 (40, 18, 'Mamam', '2016-12-12 00:00:00', 'Mamam', NULL),
-(41, 18, 'aidjnaijfni', '3242-12-12 00:00:00', 'aksjdnaisjfniajdsfn', NULL),
+(41, 18, 'aidjnaijfni', '3242-12-12 00:00:00', 'aksjdnaisjfniajdsfn', 'uploads/Screenshot from 2016-02-17 11:37:55.png'),
 (42, 18, 'aidjnaijfni', '3242-12-12 00:00:00', 'aksjdnaisjfniajdsfn', NULL),
 (43, 18, 'aidjnaijfni', '3242-12-12 00:00:00', 'aksjdnaisjfniajdsfn', NULL),
 (44, 18, 'aidjnaijfni', '3242-12-12 00:00:00', 'aksjdnaisjfniajdsfn', NULL),
@@ -89,27 +89,28 @@ CREATE TABLE `user` (
   `Nama` varchar(25) NOT NULL,
   `Email` varchar(25) NOT NULL,
   `Password` varchar(25) NOT NULL,
-  `Token` varchar(256) NOT NULL,
-  `Identifier` varchar(256) NOT NULL
+  `base2` int(11) NOT NULL,
+  `random` int(11) NOT NULL,
+  `shared_key` int(11) NOT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
 -- Dumping data for table `user`
 --
 
-INSERT INTO `user` (`User_Id`, `Nama`, `Email`, `Password`, `Token`, `Identifier`) VALUES
-(3, 'Daniar Heri Kurniawan', 'daniar.h.k@gmail.com', 'da', '', ''),
-(8, 'Tegar Aji Pangestu', 'tegar@gmail.com', 'te', '', ''),
-(9, 'Fandi Azam Wiranata', 'fandi@gmail.com', 'fa', '', ''),
-(10, 'Kurnia Mega', 'kurnia@gmail.com', 'ku', '', ''),
-(11, 'Subagyo', 'su@gmail.com', 'su', '', ''),
-(12, 'aa', 'aa@gmail.com', 'aa', '', ''),
-(13, 'bb', 'bb@gmail.com', 'bb', '', ''),
-(14, 'rr', 'rr@gmail.com', 'rr', '', ''),
-(15, 'ww', 'ww@gmail.com', 'ww', '', ''),
-(16, 'tt', 'tt@gmail.com', 'tt', '', ''),
-(17, 'qq', 'qq@gmail.com', 'qq', '', ''),
-(18, 'tegar', 'mamam@gmail.com', 'mamam', '', '');
+INSERT INTO `user` (`User_Id`, `Nama`, `Email`, `Password`, `base2`, `random`, `shared_key`) VALUES
+(3, 'Daniar Heri Kurniawan', 'daniar.h.k@gmail.com', 'da', 0, 0, 0),
+(8, 'Tegar Aji Pangestu', 'tegar@gmail.com', 'te', 0, 0, 0),
+(9, 'Fandi Azam Wiranata', 'fandi@gmail.com', 'fa', 0, 0, 0),
+(10, 'Kurnia Mega', 'kurnia@gmail.com', 'ku', 0, 0, 0),
+(11, 'Subagyo', 'su@gmail.com', 'su', 0, 0, 0),
+(12, 'aa', 'aa@gmail.com', 'aa', 0, 0, 0),
+(13, 'bb', 'bb@gmail.com', 'bb', 0, 0, 0),
+(14, 'rr', 'rr@gmail.com', 'rr', 0, 0, 0),
+(15, 'ww', 'ww@gmail.com', 'ww', 0, 0, 0),
+(16, 'tt', 'tt@gmail.com', 'tt', 0, 0, 0),
+(17, 'qq', 'qq@gmail.com', 'qq', 0, 0, 0),
+(18, 'tegar', 'mamam@gmail.com', 'mamam', 0, 0, 0);
 
 --
 -- Indexes for dumped tables