Practical-Cryptography-for-Developers-Book | Practical Cryptography for Developers : Hashes , MAC , Key | Cryptography library

 by   nakov CSS Version: Current License: MIT

kandi X-RAY | Practical-Cryptography-for-Developers-Book Summary

kandi X-RAY | Practical-Cryptography-for-Developers-Book Summary

Practical-Cryptography-for-Developers-Book is a CSS library typically used in Security, Cryptography applications. Practical-Cryptography-for-Developers-Book has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Practical Cryptography for Developers: Hashes, MAC, Key Derivation, DHKE, Symmetric and Asymmetric Ciphers, Public Key Cryptosystems, RSA, Elliptic Curves, ECC, secp256k1, ECDH, ECIES, Digital Signatures, ECDSA, EdDSA
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Practical-Cryptography-for-Developers-Book has a medium active ecosystem.
              It has 2980 star(s) with 359 fork(s). There are 127 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 25 open issues and 0 have been closed. There are 24 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of Practical-Cryptography-for-Developers-Book is current.

            kandi-Quality Quality

              Practical-Cryptography-for-Developers-Book has no bugs reported.

            kandi-Security Security

              Practical-Cryptography-for-Developers-Book has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              Practical-Cryptography-for-Developers-Book is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              Practical-Cryptography-for-Developers-Book releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Practical-Cryptography-for-Developers-Book
            Get all kandi verified functions for this library.

            Practical-Cryptography-for-Developers-Book Key Features

            No Key Features are available at this moment for Practical-Cryptography-for-Developers-Book.

            Practical-Cryptography-for-Developers-Book Examples and Code Snippets

            No Code Snippets are available at this moment for Practical-Cryptography-for-Developers-Book.

            Community Discussions

            Trending Discussions on Practical-Cryptography-for-Developers-Book

            QUESTION

            Can the value from node crypto.createCipheriv('aes-256-gcm', ...).getAuthKey() be public?
            Asked 2020-Jun-18 at 15:41

            I'm having trouble finding some information. Does anyone know if the value returned from cipher.getAuthTag() (--> returns MAC) can be publicly visible?

            TL;DR

            Can a message authentication code be publicly visible, or does this need to be kept secret like a password?

            Some background, I am trying to encrypt a file. I found this stackoverflow question and answer that helped me get started. https://stackoverflow.com/a/27345933/11070228

            After doing some research in the nodejs documentation, I found that the answer uses a deprecated function. createCipher. The new function to use should be createCipheriv.

            So, to use the new createCipheriv, I used the documentation to write a new encryption and decryption function, similar to the one in the post using the new createCipheriv function. After writing the decryption function, I got an error that was

            Error: Unsupported state or unable to authenticate data

            After googling that issue, it led me here to this github post. In a nutshell, it said that the authTag generated with the cipher is needed to decrypt the file.

            I did not know what this authTag was, and neither did anyone I knew. So I started googling that and it let me to this blogpost. It states

            The authTag is the message authentication code (MAC) calculated during the encryption.

            And here is a wikipedia article on what a message authentication code is.

            So. Here is my question. Can a message authentication code be publicly visible, or does this need to be kept secret like a password?

            My code, not as relevant, but might help someone create the encryption and decryption using createCipheriv and createDecipheriv.

            Encryption

            ...

            ANSWER

            Answered 2020-Jun-18 at 15:09

            Yes. The MAC is considered public.

            In general, message authentication codes are considered public. A message authentication code authenticates the (encrypted) message under the key that you provided. On other words, it is used by the receiver to check if the ciphertext did not change during transmission. In your situation, as long as the key remains secret, the attacker does not have any use for the MAC.

            The MAC is normally put next to the ciphertext when the ciphertext is stored (just as the IV).

            By the way, in your case you are were randomly generating the IV. That is fine, but beware that the amount of messages that can be safely encrypted under the same key is quite small. If an IV is used for multiple message (even once!) the complete security of this scheme breaks down. Really, you probably want this:

            Source https://stackoverflow.com/questions/62438124

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Practical-Cryptography-for-Developers-Book

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/nakov/Practical-Cryptography-for-Developers-Book.git

          • CLI

            gh repo clone nakov/Practical-Cryptography-for-Developers-Book

          • sshUrl

            git@github.com:nakov/Practical-Cryptography-for-Developers-Book.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Cryptography Libraries

            dogecoin

            by dogecoin

            tink

            by google

            crypto-js

            by brix

            Ciphey

            by Ciphey

            libsodium

            by jedisct1

            Try Top Libraries by nakov

            NakovForwardServer

            by nakovJava

            IMDB-Tech-Module

            by nakovPHP