Skip to content

A security library for the pathologically paranoid

License

GPL-3.0 and 2 other licenses found

Licenses found

GPL-3.0
LICENSE
LGPL-3.0
LICENSE.lesser
Apache-2.0
APACHE2_LICENSE
Notifications You must be signed in to change notification settings

gnu-user/orwell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Beware of Big Brother

Orwell

Orwell is an easy to use Java library which provides cryptographic and privacy functionality for the pathologically paranoid. Orwell initially started off as the cryptographic library for Tinfoil-SMS as we did not see any cryptographic library that provided the level of security and privacy we wanted.

Background

Orwell uses Stripped Castle, which is a modified version of the the excellent Bouncy Castle library as a basis for much of the functionality provided. Stripped Castle is the same as Bouncy Castle, just with slight enhancements made to support using Bouncy Castle on Android and to improve the security of the block ciphers used.

Security

Orwell uses Elliptic Curve Cryptography as the basis for the public key exchange. The key exchange protocol uses a unique signing scheme based on the use of a priori information to facilitate signing and verifying the keys, rather than depending on a centralized Certificate Authority.

After the key exchange a hybrid encryption scheme is used known as Integrated Encryption Scheme (IES) to facilitate sending and receiving encrypted messages by using the Elliptic Curves and a priori information in order to derive the symmetric keys that are used.

Copyright (Really Copyleft)

All of the source code in this repository, where the copyright notice is indicated in the source code, is licensed under the GNU Lesser General Public License, Version 3

Under the LGPLV3 you are free to link to and use the resultant library binary files in derived works that are licensed under terms of your choice. However, any changes to the library source code must remain under the same licensing terms of the GPLV3. Essentially, any changes or bug fixes that you make to the library are much appreciated, submit a pull request or contact me!