/Lightweight_IoT_Crypto_Library

A cross Platform Encryption Library which Interact with Many Programming Languages

Primary LanguageC#

Lightweight_IoT_Crypto_Library

A cross Platform Encryption Library which Interact with Many Programming Languages Provides a Lightweight Encryption for all Devices. It gives the oportunity in many Companies to Interact with a server wrriten in pure node.js which can feeds data across any device or across any pc where supported this Programming Languages(Java,android,UWP,IOS,python)

Getting Started

Lightweight_IoT_Crypto_Library Encryption aims at providing an easy-to-use Cross Platform API which allows an encrypted communication ( multi platform programming languages)over socket which it can be used from every company or developers who want a High level security inside a network between multiple cross platform devices

Some of the important characteristics that make Lightweight_IoT_Crypto_Library such an attractive option include the following

Feature Description
Scalability

Multi platform programming languages system scales easily with no downtime.

Reliability

Ensure the reliability of Diffie Hellman Key based the model designed to guide policies for information security within an organization, the well known as CIA(Confidentiality,Integrity,Availability).

Performance

Performance High throughput for both Server and Client, at the Higher layers of the OSI Reference Model(Application Layer ) that provide constant performance.

#Philosophy

The Lightweight_IoT_Crypto_Library philosophy is to provide small, robust tooling for companies to adopt Bring your own device (BYOD) which is refers to the policy of permitting employees to bring personally owned devices (laptops, tablets, and smart phones) to their workplace, and to use those devices to access privileged company information and application with secure

#Quick Start

The quickest way to get started is to install the Server.All what you need to run the server is described below:

* About 15 minutes * A favorite text editor or IDE (i use this one c9 ). * Node.js v4.6.1 or later

The package can be installed via git clone only (for now). Also you will need to run the Server Locally in order to play the example given. An easy way to do this if you use c9 is to follow this tutorial

$git clone https://github.com/PanagiotisDrakatos/Lightweight IoT Crypto Library.git
$cd Lightweight IoT Crypto Library

Install dependencies:

``` $npm install node-rsa $npm install node-forge $npm install big-integer ``` #Usage ``` $npm start ```

Open a Web browser, go to http://localhost:1337,Navigate in PlainConnection.js and dont forget to change this lines of code with your values

```Javascript var _HOST = '192.168.1.68';//your local server ip var _PORT = 1337;//your local server port ``` ---

et voilĂ !You are ready to Start the Server By Running the PlainConnection.js script

Python Manual

```Python from Handshake.SessionHandler import HandleSession

sessi = HandleSession("SSLSocket")

sessi = HandleSession("Plaintext") try: sessi.StartExhangeKey()

sessi.__SendSecurMessage__("Message")
print(sessi.__ReceiveSecurMessage__())

sessi.__SendSecurMessage__("Message1")
print(sessi.__ReceiveSecurMessage__())

except Exception as inst: print type(inst) finally: print("closing socket") sessi.Close()

---


<h2>Java Manual</h2>
```java
    import com.security.crypto.Configuration.Properties;
    import com.security.crypto.Handshake.SessionHandler;

/**
 * Hello world!
 */
public class App {
   

    public static void main(String[] args) throws Exception {
        String Receive = null;

        SessionHandler session = new SessionHandler(Properties.PlainTextConnection);
        session.StartDHKeyExchange();

        session.SendSecureMessage("hello Server 1");
        Receive = session.ReceiveSecureMessage();
        System.out.println(Receive);

        session.SendSecureMessage("hello Server 2");
        Receive = session.ReceiveSecureMessage();
        System.out.println(Receive);

        session.ConnectionClose();
    }


}

Universal Windows Platform (UWP)

Navigate here for furthermore informations of how to run this library in UWP apps

Android

Navigate here for furthermore informations of how to run this library in Android apps

#Contribute

  1. Fork it: git clone https://github.com/PanagiotisDrakatos/Lightweight_IoT_Crypto_Library.git
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.