crypto module - golang.org/x/crypto - Go Packages (2024)

Path Synopsis

acme

Package acme provides an implementation of the Automatic Certificate Management Environment (ACME) spec, most famously used by Let's Encrypt.

Package acme provides an implementation of the Automatic Certificate Management Environment (ACME) spec, most famously used by Let's Encrypt.

autocert

Package autocert provides automatic access to certificates from Let's Encrypt and any other ACME-based CA.

Package autocert provides automatic access to certificates from Let's Encrypt and any other ACME-based CA.

autocert/internal/acmetest

Package acmetest provides types for testing acme and autocert packages.

Package acmetest provides types for testing acme and autocert packages.

internal/acmeprobe

The acmeprober program runs against an actual ACME CA implementation.

The acmeprober program runs against an actual ACME CA implementation.

argon2

Package argon2 implements the key derivation function Argon2.

Package argon2 implements the key derivation function Argon2.

bcrypt

Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.

Package bcrypt implements Provos and Mazières's bcrypt adaptive hashing algorithm.

blake2b

Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.

Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.

blake2s

Package blake2s implements the BLAKE2s hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xs.

Package blake2s implements the BLAKE2s hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xs.

blowfish

Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.

Package blowfish implements Bruce Schneier's Blowfish encryption algorithm.

bn256

Package bn256 implements a particular bilinear group.

Package bn256 implements a particular bilinear group.

cast5

Package cast5 implements CAST5, as defined in RFC 2144.

Package cast5 implements CAST5, as defined in RFC 2144.

chacha20

Package chacha20 implements the ChaCha20 and XChaCha20 encryption algorithms as specified in RFC 8439 and draft-irtf-cfrg-xchacha-01.

Package chacha20 implements the ChaCha20 and XChaCha20 encryption algorithms as specified in RFC 8439 and draft-irtf-cfrg-xchacha-01.

chacha20poly1305

Package chacha20poly1305 implements the ChaCha20-Poly1305 AEAD and its extended nonce variant XChaCha20-Poly1305, as specified in RFC 8439 and draft-irtf-cfrg-xchacha-01.

Package chacha20poly1305 implements the ChaCha20-Poly1305 AEAD and its extended nonce variant XChaCha20-Poly1305, as specified in RFC 8439 and draft-irtf-cfrg-xchacha-01.

Package cryptobyte contains types that help with parsing and constructing length-prefixed, binary messages, including ASN.1 DER.

Package cryptobyte contains types that help with parsing and constructing length-prefixed, binary messages, including ASN.1 DER.

asn1

Package asn1 contains supporting types for parsing and building ASN.1 messages with the cryptobyte package.

Package asn1 contains supporting types for parsing and building ASN.1 messages with the cryptobyte package.

curve25519

Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519.

Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519.

internal/field

Package field implements fast arithmetic modulo 2^255-19.

Package field implements fast arithmetic modulo 2^255-19.

ed25519

Package ed25519 implements the Ed25519 signature algorithm.

Package ed25519 implements the Ed25519 signature algorithm.

hkdf

Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.

Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.

internal

alias

Package alias implements memory aliasing tests.

Package alias implements memory aliasing tests.

poly1305

Package poly1305 implements Poly1305 one-time message authentication code as specified in https://cr.yp.to/mac/poly1305-20050329.pdf.

Package poly1305 implements Poly1305 one-time message authentication code as specified in https://cr.yp.to/mac/poly1305-20050329.pdf.

testenv

wycheproof

wycheproof/internal/dsa

Package dsa provides an internal version of dsa.Verify that is used for the Wycheproof tests.

Package dsa provides an internal version of dsa.Verify that is used for the Wycheproof tests.

md4

Package md4 implements the MD4 hash algorithm as defined in RFC 1320.

Package md4 implements the MD4 hash algorithm as defined in RFC 1320.

nacl

auth

Package auth authenticates a message using a secret key.

Package auth authenticates a message using a secret key.

box

Package box authenticates and encrypts small messages using public-key cryptography.

Package box authenticates and encrypts small messages using public-key cryptography.

secretbox

Package secretbox encrypts and authenticates small messages.

Package secretbox encrypts and authenticates small messages.

sign

Package sign signs small messages using public-key cryptography.

Package sign signs small messages using public-key cryptography.

ocsp

Package ocsp parses OCSP responses as specified in RFC 2560.

Package ocsp parses OCSP responses as specified in RFC 2560.

openpgp

Package openpgp implements high level operations on OpenPGP messages.

Package openpgp implements high level operations on OpenPGP messages.

armor

Package armor implements OpenPGP ASCII Armor, see RFC 4880.

Package armor implements OpenPGP ASCII Armor, see RFC 4880.

clearsign

Package clearsign generates and processes OpenPGP, clear-signed data.

Package clearsign generates and processes OpenPGP, clear-signed data.

elgamal

Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.

Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v.

errors

Package errors contains common error types for the OpenPGP packages.

Package errors contains common error types for the OpenPGP packages.

packet

Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.

Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880.

s2k

Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.

Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1.

otr

Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html

Package otr implements the Off The Record protocol as specified in http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html

pbkdf2

Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.

Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.

pkcs12

Package pkcs12 implements some of PKCS#12.

Package pkcs12 implements some of PKCS#12.

internal/rc2

Package rc2 implements the RC2 cipher

Package rc2 implements the RC2 cipher

poly1305

Package poly1305 implements Poly1305 one-time message authentication code as specified in https://cr.yp.to/mac/poly1305-20050329.pdf.

Package poly1305 implements Poly1305 one-time message authentication code as specified in https://cr.yp.to/mac/poly1305-20050329.pdf.

ripemd160

Package ripemd160 implements the RIPEMD-160 hash algorithm.

Package ripemd160 implements the RIPEMD-160 hash algorithm.

salsa20

Package salsa20 implements the Salsa20 stream cipher as specified in https://cr.yp.to/snuffle/spec.pdf.

Package salsa20 implements the Salsa20 stream cipher as specified in https://cr.yp.to/snuffle/spec.pdf.

salsa

Package salsa provides low-level access to functions in the Salsa family.

Package salsa provides low-level access to functions in the Salsa family.

scrypt

Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (https://www.tarsnap.com/scrypt/scrypt.pdf).

Package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper "Stronger Key Derivation via Sequential Memory-Hard Functions" (https://www.tarsnap.com/scrypt/scrypt.pdf).

sha3

Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.

Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.

ssh

Package ssh implements an SSH client and server.

Package ssh implements an SSH client and server.

agent

Package agent implements the ssh-agent protocol, and provides both a client and a server.

Package agent implements the ssh-agent protocol, and provides both a client and a server.

internal/bcrypt_pbkdf

Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD.

Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD.

knownhosts

Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts files.

Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts files.

terminal

Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.

Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.

test

Package test contains integration tests for the golang.org/x/crypto/ssh package.

Package test contains integration tests for the golang.org/x/crypto/ssh package.

tea

Package tea implements the TEA algorithm, as defined in Needham and Wheeler's 1994 technical report, “TEA, a Tiny Encryption Algorithm”.

Package tea implements the TEA algorithm, as defined in Needham and Wheeler's 1994 technical report, “TEA, a Tiny Encryption Algorithm”.

twofish

Package twofish implements Bruce Schneier's Twofish encryption algorithm.

Package twofish implements Bruce Schneier's Twofish encryption algorithm.

x509roots

nss

Package nss provides functionality for parsing NSS certdata.txt formatted certificate lists and extracting serverAuth roots.

Package nss provides functionality for parsing NSS certdata.txt formatted certificate lists and extracting serverAuth roots.

fallback Module

xtea

Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."

Package xtea implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."

xts

Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.

Package xts implements the XTS cipher mode as specified in IEEE P1619/D16.
crypto module - golang.org/x/crypto - Go Packages (2024)

FAQs

How to install crypto package? ›

Installing Cryptography package on Linux using PIP
  1. Requirements:
  2. Step 1: Setting up a Python environment on our Linux operating system. ...
  3. Step 2: Installing the PIP manager in our Linux system. ...
  4. Step 3: Now using the PIP manager we are going to install the Cryptography package.
Mar 11, 2022

Is Golang used in crypto? ›

Golang is quite popular and is used by many blockchain projects such as Ethereum, Hyplerdger Fabric, Terra, Avalanche, Harmony, IoTeX, projects building with the Cosmos SDK, and many more.

What is cryptography in Golang? ›

The root package for cryptography in Go is crypto, and it has a number of sub packages, such as aes, cipher, sha, and rsa to name but a few. Also, there is a package called hash, which provides Golang developers with a common interface implemented by all hash functions such as MD5, SHA256, and Hashing with Key (HMAC).

How do I install crypto search? ›

Visit the official Crypto Search website or a reputable third-party source to download the latest version of the app (v3. 5.8 at the time of writing). Once the download is complete, locate the installation file (typically an APK file) and transfer it to your Android device.

Is CryptoJS being deprecated? ›

Be aware that the development of CryptoJS was recently discontinued and the library is no longer maintained. Recommended alternatives are WebCrypto or the crypto module of NodeJS.

Is PyCrypto deprecated? ›

pycrypto library is known to have publicly disclosed buffer overflow vulnerability https://github.com/dlitz/pycrypto/issues/176. It is no longer actively maintained and has been deprecated in favor of pyca/cryptography library.

Do hackers use Golang? ›

With Golang, explains Chad Seaman, another author of the report, hackers "get better error handling, they get memory management, they get easy threaded worker pools, and a little bit more of a stable platform that provides some of the speed and performance you would associate with a C-level language, and C or C++ ...

Is Ethereum built on Golang? ›

Go-ethereum, also known as geth for short, is the most popular Ethereum client and because it's in Go, it provides everything we'll ever need for reading and writing to the blockchain when developing applications using Golang.

Does Golang have a future? ›

Apart from its current simplicity, concurrency and performativity, Golang is going to develop enormously in the near future.

Is Golang used in cyber security? ›

Go, or Golang, has gained popularity in cybersecurity due to its speed and efficiency. Developed by Google, Go is well-suited for building scalable and high-performance security tools.

How to do encryption in Golang? ›

Encrypting and decrypting in GoLang
  1. Encryption. You'll need a 32-digit cipher secret key and 16-digit initialization vector, iv: key := "my32digitkey12345678901234567890" iv := "my16digitIvKey12" ...
  2. Decryption. Don't forget your secret and iv key.
Mar 5, 2023

What are the three types of cryptography? ›

Cryptography and its Types

It protects information and communications through codes so only those for whom the information is intended can read and process it. There are three main types of cryptography: symmetric key encryption, asymmetric key encryption, and public-key encryption.

How to find crypto for free? ›

How to Get Free Crypto: 10 Ways to Earn Free Crypto in 2024
  1. Airdrops.
  2. Faucets.
  3. Browsers and search engine rewards.
  4. Crypto credit and debit cards.
  5. Play-to-earn games.
  6. Which games give free crypto?
  7. Referrals.
  8. Crypto savings accounts.
2 days ago

How to find a lost crypto wallet? ›

If you remember making any transactions, reviewing the history on a blockchain explorer can provide clues to the wallet address and potentially the platform or wallet type you used. You can also look up any known addresses related to your Bitcoin transactions.

Where can I find crypto data? ›

Data availability in crypto

Some data is easiest to find at the source, i.e. directly on a cryptocurrency exchange. So, if you need the current price of Bitcoin on Kraken, all you need to do is check directly on the platform. That was the easy part. The tricky one starts when you need aggregated historical data.

How to install PyCrypto package in Python? ›

PyCrypto is written and tested using Python version 2.1 through 3.3. Python 1.5. 2 is not supported. The modules are packaged using the Distutils, so you can simply run “python setup.py build” to build the package, and “python setup.py install” to install it.

How to install ethereum package control? ›

Installation in SublimeText editor
  1. SublimeText menu / Preferences / Package Control.
  2. Select: Install Package.
  3. Type Ethereum and press ENTER.
  4. With a .sol / .vy / .cairo file open, select: View -> Syntax (-> Open all with current extension as) -> Ethereum -> Cairo / Solidity / Vyper / Yul.

How to install crypto wallet? ›

How to set up a non-custodial wallet:
  1. Download a wallet app. Popular options include Coinbase Wallet.
  2. Create your account. Unlike a hosted wallet, you don't need to share any personal info to create a non-custodial wallet. ...
  3. Be sure to write down your private key. ...
  4. Transfer crypto to your wallet.

Top Articles
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 6259

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.