Learn R Programming

EQUALencrypt (version 0.1.0)

EQUAL_insert_signature_data: Insert digital signature for data

Description

"Insert digital signature for data using the private key generated by EQUAL_encrypt_generate_keys() function and openssl. This uses the SHA384 algorithm for the hash function."

Usage

EQUAL_insert_signature_data(data, private_key_folder, key_name)

Value

"

path_to_signed_file

path to the signed data which is stored in a file

"

signature

signature

Arguments

data

Data for which signature must be inserted

private_key_folder

Location of the private key

key_name

Name of the private key

Author

Kurinchi Gurusamy

References

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

See Also

EQUAL_encrypt_generate_keys() openssl::signature_create()

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")
# Insert signature ####
signature <- EQUAL_insert_signature_data(data = encrypted_data,
private_key_folder = private_key_folder,
key_name = "encryption_key.txt")

Run the code above in your browser using DataLab