Metadata-Version: 2.1
Name: otgCrypto
Version: 0.0.5
Summary: OTG cryptography is architectured by Tahsin Ahmed. The expansion of OTG is One Time Gamble.
Home-page: 
Author: Tahsin Ahmed
Keywords: cryptography,encryption,decryption,otg,otg cryptography,one time gamble,one time gamble cryptography
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python
Classifier: Natural Language :: English
License-File: LICENSE.txt

====================
*OTG Cryptography**
====================

--------------------
**Introduction**
--------------------
OTG is a hybrid and lightweight cryptographic algorithm that transforms a plaintext into a ciphertext so that secret communication is to be ensured. The original password is hidden under several fake passwords in a vault. Also, these passwords are hashed by bcrypt hash function which is a one-way encryption and cannot be reversed. Moreover, the secret message will be deleted by itself if a user gives wrong password only at once. As a result, it will be so much difficult for a hacker to guess, retrieve and use the password correctly among fake passwords. Furthermore, the key is 128 bits long. So, a hacker needs to go for 2128 = 3.402e+38 possible ways in terms of finding the correct key to decrypt the ciphertext. It is by far impossible for a regular user device to solve the math. It will need super computer to do the computation. However, a low computational powered device (e.g. IOT device) can easily handle it because of its symmetric and stream cipher architecture. Thus, it makes the algorithm lightweight. Also, OTG is a software and hardware independent cryptography. In conclusion, this new innovation can make a fruitful impact in todayâ€™s security epidemic.

----------------------------
***Program Utilization***
----------------------------
* A user inputed password.
* A user inputed secret message.
* The secret messages is stored in a vault with ChaCha20poly1305 method.
* A dictionary is containing manipulated (fake) passwords in addition to the real password.
* A dictionary containing seeds (Seed generator). Seeds are simply pointers that point to the secret message.
* The encryption algorithm: ***cipher = password XOR key***.
* The decrpytion algorithm: ***key = password XOR cipher***.
* A try/except block to search for actual password that do exist in the password dictionary.
* The message will be deleted if a user give wrong password.

--------------------------------
**Ideal Applications To Use**
--------------------------------
* Government Secret Message
* Sensitive Business Communication
* Low Computational Powered Device
