All Projects → norkator → Cryptography

norkator / Cryptography

Licence: gpl-3.0
Cryptography Android application code samples / cipher collection for app users

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cryptography

Simon Speck C
example C language implementation of SIMON and SPECK lightweight block ciphers.
Stars: ✭ 9 (-74.29%)
Mutual labels:  cryptography
Sephia Five
A secure and PGP enabled webmail module for Phosphorus Five
Stars: ✭ 21 (-40%)
Mutual labels:  cryptography
Powersoftau
An independent implementation of the Powers of Tau MPC ceremony.
Stars: ✭ 32 (-8.57%)
Mutual labels:  cryptography
Featherduster
An automated, modular cryptanalysis tool; i.e., a Weapon of Math Destruction
Stars: ✭ 876 (+2402.86%)
Mutual labels:  cryptography
Curl Collisions
An implementation of Heilman et al.'s differential attack on IOTA's Curl hashing function.
Stars: ✭ 20 (-42.86%)
Mutual labels:  cryptography
Lethean Vpn
Lethean Virtual Private Network (VPN)
Stars: ✭ 29 (-17.14%)
Mutual labels:  cryptography
Ipchain
IPChain Core Wallet
Stars: ✭ 26 (-25.71%)
Mutual labels:  cryptography
Nim Libsodium
Nim wrapper for the libsodium library
Stars: ✭ 32 (-8.57%)
Mutual labels:  cryptography
Rbnacl
Ruby FFI binding to the Networking and Cryptography (NaCl) library (a.k.a. libsodium)
Stars: ✭ 910 (+2500%)
Mutual labels:  cryptography
Datasafe
Datasafe - flexible and secure data storage and document sharing using cryptographic message syntax for data encryption
Stars: ✭ 32 (-8.57%)
Mutual labels:  cryptography
Pysyft
A library for answering questions using data you cannot see
Stars: ✭ 7,811 (+22217.14%)
Mutual labels:  cryptography
Blockchain Papers
区块链相关的有价值的文献
Stars: ✭ 20 (-42.86%)
Mutual labels:  cryptography
Indurative
Easily create authenticated data structures
Stars: ✭ 30 (-14.29%)
Mutual labels:  cryptography
Enigma
Enigma cipher tool
Stars: ✭ 13 (-62.86%)
Mutual labels:  cryptography
Cl Tls
An implementation of TLS and related specifications in Common Lisp
Stars: ✭ 32 (-8.57%)
Mutual labels:  cryptography
Blog Src
Personal blog source.
Stars: ✭ 7 (-80%)
Mutual labels:  cryptography
Supergirloncrypt
CryptoTrojan in Python (For educational purpose ONLY)
Stars: ✭ 28 (-20%)
Mutual labels:  cryptography
Guardedbox
Online client-side manager for secure storage and secrets sharing.
Stars: ✭ 34 (-2.86%)
Mutual labels:  cryptography
Ufonet
UFONet - Denial of Service Toolkit
Stars: ✭ 963 (+2651.43%)
Mutual labels:  cryptography
Claimchain Core
A core and experimental implementation of ClaimChain
Stars: ✭ 30 (-14.29%)
Mutual labels:  cryptography

Cryptography Image 1

Cryptography

This repository will slowly get more and more cryptography code samples written in Java. Methods are related to Cryptography android application cipher method collection. Point of this repository is that users can find everything in one place, modify code, play with these methods in any way they want and this way learn how ciphers worked in the past and how they work these days. In short words this repository is meant to be educational.

This repository is part of this Android application: Google Play - Cryptography

Table of contents


Ciphers

Adfgvx
Anubis - 320
Atbash
Autokey
Bacon
Beaufort
Blowfish
Caesar
CAST - 5 / 6
Chaocipher
Elgamal
Gronsfeld
Keyword
Khazad - 128
Playfair
Porta
Rail fence
RC - 2 / 4 / 6
Scytale
Vigenere

Hashes

ADLER - 32
Blake2b - 160 / 256 / 384 / 512
CRC - 8 / 16 / 24 / 32 / 64
ELF - 32
FCS - 16
HAS - 160
KECCAK - 256 / 384 / 512
MD - 2 / 4 / 5
PBKDF2
RIPEMD - 128 / 160 / 256 / 320
SHA - 0 / 1 / 224 / 256 / 384 / 512
SHA2 - 224 / 256 / 384 / 512
SHA3 - 224 / 256 / 384 / 512
Skein - 256 / 512 / 1024
SM3
SUM - 8 / 16 / 24 / 32
TIGER - T / 2 / 128 / 160
WHIRLPOOL - 0 / 1 / W
XOR - 8

Encoding

A1z26
Adaptive Huffman
Base32
Base64
Base85
Base91
Huffman
Morse
RLE

Installation

  1. Download and install eclipse: https://www.eclipse.org/downloads/
  2. Download project source code by either cloning it with Git or by Clone or download menu Download ZIP option.
  3. Open project in Eclipse File - Open projects from File System...
  4. Navigate to /src - cryptography - Ciphers.java and start play with it. Rest of the folder structure has method specific code and tests files for running automated tests.

I warmly recommend watching basic Eclipse tutorials if you are new to the topic.

Running tests

Jenkins
  1. Make new branch.
  2. Push changes.
  3. Open pull request.
  4. Later tests are run by Jenkins automation.
Manually
  1. Right click on TestRunner.java
  2. Click Coverage As
  3. Select 1 Java Application
  4. If everything is fine result is Tests success: true

External libraries

commons-codec-1.10.jar

Included for Base32 and Base64 encoding methods.

jacksum-1.7.0 (jacksum.jar)

Included for many hashing algorithms. You can find all source code and details here: https://jacksum.loefflmann.net/en/download.html

core-1.58.0.0.jar | prov-1.58.0.0.jar | bcpg-jdk15on-1.58.0.0.jar | bcpkix-jdk15on-1.58.0.0.jar (Spongy Castle)

Providing tons of newer strong Cryptographic methods. See https://rtyley.github.io/spongycastle/ and http://www.bouncycastle.org/java.html

bcprov-jdk15on-166

BouncyCastle signed cryptography provider

org.junit_4.13.0.v20200204-1500.jar | core-1.3.0.jar

JUnit 4 jar and hamcrest core for Jenkins test runs.

Adding external library

Everytime new external jar library is added, it must be also added to build_jenkins.xml in a block seen below as example

<path id="Cryptography.classpath">
    <pathelement location="bin"/>
    <path refid="JUnit 4.libraryclasspath"/>
    <pathelement location="jar/commons-codec-1.10.jar"/>
    <pathelement location="jar/jacksum.jar"/>
    <pathelement location="jar/core-1.58.0.0.jar"/>
    <pathelement location="jar/prov-1.58.0.0.jar"/>
    <pathelement location="jar/bcpkix-jdk15on-1.58.0.0.jar"/>
    <pathelement location="jar/bcpg-jdk15on-1.58.0.0.jar"/>
    <pathelement location="jar/org.junit_4.13.0.v20200204-1500.jar"/>
    <pathelement location="jar/core-1.3.0.jar"/>
    <pathelement location="jar/bcprov-jdk15on-166"/>
</path>

Notes

Some ciphers or parts of ciphers originate from web sites, tutorials, repositories or other sources. There's unfortunately no links to original references.

Contributions

Rules?

Please, write tests if you make something new.

Found problem?

Open issue or make new branch and create pull request when problem is fixed.

Want to optimize code?

You are free to optimize code, make new branch and create pull request when ready.

Authors

Contributors

  • Saurav Kumar - Added Morse, Huffman - SKR301

License

See repo license section or license file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].