Se utiliza para realizar diversas operaciones criptográficas, como cifrado, descifrado, generación de claves, hashes y firmas digitales. Admite una amplia variedad de algoritmos, como RSA, DSA, DES, AES, MD5 y SHA-1.
$ botan list
$ botan hash --algo=SHA-256 --output-format=hex archivo.txt
$ echo -n "Linux es un sistema genial" | botan hash --algo=SHA-256 --output-format=hex
$ botan gen_rsa --key-size=2048 > clave_privada.pem
$ botan pubkey --pub --pem clave_privada.pem > clave_publica.pem
$ botan encrypt rsa clave_publica.pem archivo.txt > archivo_cifrado.bin
$ botan decrypt rsa clave_privada.pem archivo_cifrado.bin > archivo_descifrado.txt
$ botan sign rsa clave_privada.pem archivo.txt > firma.bin
$ botan verify rsa clave_publica.pem archivo.txt firma.bin
$ botan pbkdf2 --algo=PBKDF2 --hash=SHA-256 --iter=100000 "contraseña" --salt=sal > clave_derivada.bin
$ botan rng 16
$ botan keyinfo clave_privada.pem
$ botan pkcs8 --pem clave_privada.der > clave_privada.pem
1.-
Cifrar un archivo con AES en modo CBC:
Primero generar una clave y un IV [vector de inicialización]:
$ botan rng 32 > aes_key.bin
$ botan rng 16 > aes_iv.bin
Luego, cifra el archivo:
$ botan encrypt aes-256-cbc aes_key.bin aes_iv.bin archivo.txt > archivo_cifrado.bin
Descifrar el archivo cifrado:
$ botan decrypt aes-256-cbc aes_key.bin aes_iv.bin archivo_cifrado.bin > archivo_descifrado.txt