module RevbitsPamCicd::Secure
Public Class Methods
decrypt(secret, encrypted_value)
click to toggle source
@return [String] decrypted value
# File lib/revbits_pam_cicd/secure.rb, line 28 def decrypt(secret, encrypted_value) AES256.decrypt(encrypted_value.to_s, secret.to_s) end
private_keys()
click to toggle source
@return [Array] ‘private_keys`
# File lib/revbits_pam_cicd/secure.rb, line 9 def private_keys # key_a, key_b [rand(2..9), rand(2..9)] end
public_keys(private_key_a, private_key_b, secret_creators)
click to toggle source
@return [Array] ‘public_keys`
# File lib/revbits_pam_cicd/secure.rb, line 15 def public_keys(private_key_a, private_key_b, secret_creators) [public_key_a(private_key_a, secret_creators), public_key_b(private_key_b, secret_creators)] end
secret(encrypted_values, private_key_a, private_key_b, secret_creators)
click to toggle source
@return [Integer] ‘secret`
# File lib/revbits_pam_cicd/secure.rb, line 20 def secret(encrypted_values, private_key_a, private_key_b, secret_creators) shared_key_a = shared_key_a(encrypted_values.dig('keyA'), private_key_a, secret_creators.dig(:prime)) shared_key_b = shared_key_b(encrypted_values.dig('keyB'), private_key_b, secret_creators.dig(:prime)) shared_key_a ** shared_key_b end
Private Class Methods
public_key_a(public_key_a, secret_creators)
click to toggle source
# File lib/revbits_pam_cicd/secure.rb, line 42 def public_key_a(public_key_a, secret_creators) (secret_creators.dig(:generated) ** public_key_a) % secret_creators.dig(:prime) end
public_key_b(public_key_b, secret_creators)
click to toggle source
# File lib/revbits_pam_cicd/secure.rb, line 46 def public_key_b(public_key_b, secret_creators) (secret_creators.dig(:generated) ** public_key_b) % secret_creators.dig(:prime) end