Package cryptoutil contains generic & stateless crypto helpers.



    View Source
    const (
    	KeySize          = 32 // Key size required by box
    	NonceSize        = 24 // Nonce size required by box
    	ScryptIterations = 1 << 15
    	ScryptR          = 8
    	ScryptP          = 1
    	ScryptKeyLen     = 32


    This section is empty.


    func AESCTRStream

    func AESCTRStream(key, iv []byte) (cipher.Stream, error)

      AESCTRStream returns a CTR stream that can be used to produce ciphertext without padding.

      func AESGCMDecrypt

      func AESGCMDecrypt(key, data []byte) ([]byte, error)

        AESGCMDecrypt uses AES+GCM to decrypt plaintext data.

        func AESGCMEncrypt

        func AESGCMEncrypt(key, data []byte) ([]byte, error)

          AESGCMEncrypt use AES+GCM to encrypt plaintext data.

          The generated output will be longer than the original plaintext input.

          func ConcatAndHashSha256

          func ConcatAndHashSha256(slices ...[]byte) *[sha256.Size]byte

          func DeriveKey

          func DeriveKey(passphrase, salt []byte) ([]byte, []byte, error)

            DeriveKey takes a passphrase of any length and returns a key of fixed size.

            If no salt is provided, a new one will be created and returned.

            func EdwardsToMontgomery

            func EdwardsToMontgomery(privKey crypto.PrivKey, pubKey crypto.PubKey) (*[32]byte, *[32]byte, error)

              EdwardsToMontgomery converts ed25519 priv/pub keys to X25519 keys.

              func EdwardsToMontgomeryPriv

              func EdwardsToMontgomeryPriv(privKey crypto.PrivKey) (*[KeySize]byte, error)

                EdwardsToMontgomeryPriv converts ed25519 priv key to X25519 priv key.

                func EdwardsToMontgomeryPub

                func EdwardsToMontgomeryPub(pubKey crypto.PubKey) (*[KeySize]byte, error)

                  EdwardsToMontgomeryPub converts ed25519 pub key to X25519 pub key.

                  func GenerateNonce

                  func GenerateNonce() (*[NonceSize]byte, error)

                  func GenerateNonceSize

                  func GenerateNonceSize(size int) ([]byte, error)

                  func KeySliceToArray

                  func KeySliceToArray(keySlice []byte) (*[KeySize]byte, error)

                  func NonceSliceToArray

                  func NonceSliceToArray(nonceSlice []byte) (*[NonceSize]byte, error)

                  func SeedFromEd25519PrivateKey

                  func SeedFromEd25519PrivateKey(key crypto.PrivKey) ([]byte, error)


                  This section is empty.