Metadata-Version: 2.1
Name: crypton
Version: 1.0.1
Summary: UNKNOWN
Home-page: https://github.com/OverwatchHeir/CryptOn.git
Author: OverwatchHeir
Author-email: softw.dev@protonmail.com
License: GNU
Download-URL: https://github.com/OverwatchHeir/CryptOn/archive/master.zip
Description: CryptOn
        ----------
        
        CryptOn is an open-source tool that allows :
        
           - Secure passwords generation based on [OWASP criteria].
           - Passwords strength & security checks based on [OWASP Guidelines for enforcing secure passwords].
           - Symmetric cryptography*
           - Asymmetric cryptography*
           - Hash Algorithms*
           
           
           _*only in interactive mode_
        
        
        About
        -----------------
        
        **Passwords**
        
        Passwords are a real security threat. Impossible-to-crack passwords are complex with multiple types of 
        characters (numbers, letters, and symbols). 
        So if you want to safeguard your personal info and assets, creating secure passwords is a big first step and 
        CryptOn will help you to achieve it.
        
        It is usual in the computer industry to specify password strength in terms of information entropy which is measured 
        in bits and is a concept from information theory. Instead of the number of guesses needed to find the password 
        with certainty, the base-2 logarithm of that number is given, which is the number of "entropy bits" in a password.
        
        **Cryptography**
        
        Cryptography (or crypto) is one of the more advanced topics of information security, and one whose understanding 
        requires the most schooling and experience. It is difficult to get right because there are many approaches to 
        encryption, each with advantages and disadvantages that need to be thoroughly understood by web solution architects 
        and developers. In addition, serious cryptography research is typically based in advanced mathematics and number theory,
        providing a serious barrier to entry.
        
        The proper and accurate implementation of cryptography is extremely critical to its efficacy. A small mistake in 
        configuration or coding will result in removing a large degree of the protection it affords and rending the crypto 
        implementation useless against serious attacks. A good understanding of crypto is required to be able to discern 
        between solid products and snake oil. The inherent complexity of crypto makes it easy to fall for fantastic claims 
        from vendors about their product. Typically, these are “a breakthrough in cryptography” or “unbreakable” or provide 
        "military grade" security. If a vendor says "trust us, we have had experts look at this,” chances are they weren't 
        experts!
        
        Cryptography at its very core is math. Pure, simple, undiluted math. Math created the algorithms that are the basis 
        for all encryption. And encryption is the basis for privacy and security on the internet. So, we love math. Even if it 
        is a tad complicated. With that being said, algorithms have to be built to work against computers. As computers get 
        smarter, algorithms become weaker and we must therefore look at new solutions. This is how cryptography evolves to beat 
        the bad guys. So how is it done? First you need to build a cryptosystem that is both confidential and authentic. 
        This cryptosystem is responsible for creating the key(s) that will be used to encrypt and then decrypt the data or 
        message. A number of signing algorithms have been created over the years to create these keys, some of which have since 
        been deprecated as computing power has increased.
        
        It is commonly used in:
        
           - SSH Authentication
           - SSL Certficates
           - VPN Tunnel Encryption
           - Email & Messaging Encryption
           - Etc
           
         If you want more information about, try this glossaries and guides:
         
           - [cryptographic algorithms]
           - [cryptographic protocols]
           - [PGP in email]
           - [New Elliptic Curve]
        
        Requirements
        ----------
          - python 3
          - pip
          - termcolor
          - cryptography
          - pycryptodomex
          - requests
          - validate_email
          - py3dns
        
        
        Installation
        -------------
        
        First of all, we would python 3, pip and openssl installed in our computer.
        
        **Linux**
        
         ```
         $ apt-get install python3-pip
         $ apt-get install openssl
         ```
         
        **MacOS**
         ```
         $ brew install python3
         $ brew install pip
         $ brew install openssl
         
         ```
         **Windows**
         
        Download python 3 and pip from [python webpage] and openssl from [openssl webpage].
         
         
        Secondly, we install the tool using the traditional installation from **pip**
        
         ```
         $ easy_install3 -U pip # you have to install python3-setuptools , update pip
         $ pip3 install crypton
         $ crypton # installed successfully
        ```
        
        Usage
        ----------
        
        **Run**
        ```
        $ crypton
        ```
        
        **Options**
        ```
        optional arguments:
          -h, --help            show this help message and exit
          -v, --version         See script version
          -g [length [number ...]], --generate-password [length [number ...]]
                                Secure passwords generation // Defaults: length (20) -
                                number of passwords (1)
          -c password, --check-password password
                                Passwords strength & security checks
          -i, --interactive     Run script in interactive mode
        
        ```
        
        **Notes**
        
        IN SOME CASES, if your password contains the special characters you may have problems when parsing. That's because of 
        your shell. You should type ``` \ ``` before each special character in the password.
        
        For macOS users maybe you need to setup these settings:
        
         ```
        env ARCHFLAGS="-arch x86_64" 
            LDFLAGS="-L/usr/local/opt/openssl/lib" 
            CFLAGS="-I/usr/local/opt/openssl/include" 
        
        pip install cryptography
         ```
        
        Contributing
        ------------
        For bug reports or enhancements, please open an [issue] here.
        
        [OWASP criteria]: https://www.owasp.org/index.php/Authentication_Cheat_Sheet#Implement_Proper_Password_Strength_Controls
        [issue]: https://github.com/OverwatchHeir/CryptOn/issues
        [python webpage]: https://www.python.org
        [openssl webpage]:https://slproweb.com/products/Win32OpenSSL.html
        [OWASP Guidelines for enforcing secure passwords]: https://www.owasp.org/index.php/Authentication_Cheat_Sheet#Implement_Proper_Password_Strength_Controls
        [New Elliptic Curve]: https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet
        [PGP in email]:https://www.youtube.com/watch?v=hbkB_jNG-zE
        [cryptographic algorithms]: https://www.globalsign.com/en/blog/glossary-of-cryptographic-algorithms/
        [cryptographic protocols]: https://dwheeler.com/secure-programs/Secure-Programs-HOWTO/crypto.html
        
Platform: UNKNOWN
Classifier: Topic :: Utilities
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
