Learn R Programming

EQUALencrypt (version 0.1.0)

EQUAL_encrypt_data: Encrypt data

Description

"Encrypts data using the public key generated by EQUAL_encrypt_generate_keys() function and openssl. This encrypts the file using symmetric AES256 algorithm and encrypts the AES key using the asymmetric RSA algorithm (4096 bits) and includes padding according to PKCS #1 v2.0 specifications."

Usage

EQUAL_encrypt_data(data, public_key_folder, key_name)

Value

iv

initialisation vector for AES key

session

RSA encrypted AES key

data

AES encrypted data

Arguments

data

Data that must be encrypted

public_key_folder

Location of the public key

key_name

Name of the public key

Author

Kurinchi Gurusamy

References

https://sites.google.com/view/equal-group/home

See Also

Examples

Run this code
library(openssl)
# Encryption keys ####
test_folder <- tempfile(pattern = "folder_")
public_key_folder <- paste0(test_folder, "/public_key_folder")
private_key_folder <- paste0(test_folder, "/private_key_folder")
dir.create(test_folder)
dir.create(public_key_folder)
dir.create(private_key_folder)
encryption_keys <- EQUAL_encrypt_generate_keys(
  public_key_folder = public_key_folder,
  private_key_folder = private_key_folder,
  key_name = "encryption_key.txt")
# Data ####
data <- lapply(1:3, function(x) {
  mean = sample(1:100, 1, replace = FALSE)
  sd = sample(1:100, 1, replace = FALSE)
  rnorm(100, mean = mean, sd = sd)
})
data <- do.call(cbind.data.frame, data)
colnames(data) <- paste0("v", formatC(1:3, width = 6, flag = "0"))
# Encrypt data ####
encrypted_data <- EQUAL_encrypt_data(data = data,
                                     public_key_folder = public_key_folder,
                                     key_name = "encryption_key.txt")

Run the code above in your browser using DataLab