Skip to content

azalucel/whisper-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoreImage

###Notice: Current work for multichat and a stable Alpha of both core and CLI is the current top priority

Imagine being able to work in an environment where your conversations arent monitored continuously. Take that idea and apply it to your everyday workplace where having an outspoken opinion remains locked away due to fear of leaving a digital footprint. Whisper aims to help provide a platform for inter-domain level chat. Using dynamically generated dual encrypted one time sessions; we're giving you the tools to speak your mind without worrying about who is listening in.


##For Users

You will probably never use this library directly. Instead you might use the whisper-gui or whisper-cli verions; or potentially a GUI binding for another language. Ultimately this repo is the core of the application and is meant for developers to hook into. For an example of a user level implementation see: https://github.com/AlexsJones/whisper-cli


##For Developers

Build Status

Status: In active development, not ready for general consumption.

Please see API documentation

Whisper uses a combination of asymmetric 2048bit key RSA with a DES cipher for establishing sessions. It has multi-protocol finding ability which includes multicasting upto top tier router domain and drop n' replace cyptography solutions.

The aim is to finish the kernel in C and bring it to other platforms with a variety of GUI and language hooks.

The core acts as the framework for higher level programs to hook into.

####Cryptography Crypto

####Cryptography (Multisession) CryptoMulti ####Structure CoreStructure

####Code base Codebase

Table of Contents

Installation

cmake . -DRUN_TESTS=ON #Or ignore the flag for no tests
make
sudo make install 

Additional Deps

-lssl -lcrypto -lprotobuf-c

Regenerate Protobuf files

./tools/generate_protobuf

This currently uses a wildcard *.proto with an assumption for now that there is one proto file in a directory

Components

Component Status
Session Service DONE
Session Object DONE
Discovery Service DONE
Multicast Service DONE
Secure Sockets DONE
Key encrypt/decrpt DONE
Integrity Service DONE
Commandline IO DONE
Basic GUI DONE
Web service interface to core NOT STARTED

About

Core library for whisper secure domain P2P chat

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.2%
  • Shell 7.2%
  • Other 2.6%