# Dapr cryptography (Dapr SDK) In this quickstart, you'll create an application that encrypts, and then decrypts, data using the Dapr cryptography APIs (high-level). We will: - Encrypt and then decrypt a short string, reading the result in-memory - Encrypt and then decrypt a large file, storing the encrypted and decrypted data to files Visit the documentation to learn more about the [Cryptography building block](https://v1-11.docs.dapr.io/developing-applications/building-blocks/cryptography/) in Dapr. > **Note:** This example uses the Dapr SDK. Using the Dapr SDK, which leverages gRPC internally, is **strongly** recommended when using the high-level cryptography APIs (to encrypt and decrypt messages). This quickstart includes one application: - Python application `crypto-quickstart` ### Run Python service with Dapr > In order to run this sample, make sure that OpenSSL is available on your system. 1. Navigate into the folder with the source code: ```bash cd ./crypto-quickstart pip3 install -r requirements.txt ``` 2. This sample requires a private RSA key and a 256-bit symmetric (AES) key. We will generate them using OpenSSL: ```bash mkdir -p keys # Generate a private RSA key, 4096-bit keys openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out keys/rsa-private-key.pem # Generate a 256-bit key for AES openssl rand -out keys/symmetric-key-256 32 ``` 3. Run the Python service app with Dapr: ```bash dapr run --app-id crypto-quickstart --resources-path ../../../components/ -- python3 app.py ```