Class: SecretX::RSA

Inherits:
Object
  • Object
show all
Includes:
Encode
Defined in:
lib/secretx/rsa.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Encode

#decode_if_need, #encode_if_need

Constructor Details

#initializeRSA



4
5
6
7
# File 'lib/secretx/rsa.rb', line 4

def initialize
  init_private_key
  init_public_key
end

Class Method Details

.decrypt(msg) ⇒ Object



17
18
19
# File 'lib/secretx/rsa.rb', line 17

def self.decrypt(msg)
  rsa.decrypt msg
end

.encrypt(msg) ⇒ Object



13
14
15
# File 'lib/secretx/rsa.rb', line 13

def self.encrypt(msg)
  rsa.encrypt msg
end

.rsaObject



9
10
11
# File 'lib/secretx/rsa.rb', line 9

def self.rsa
  @rsa ||= self.new
end

.sign(msg) ⇒ Object



21
22
23
# File 'lib/secretx/rsa.rb', line 21

def self.sign(msg)
  rsa.sign msg
end

.verify_sign(signed_msg, origin_msg) ⇒ Object



25
26
27
# File 'lib/secretx/rsa.rb', line 25

def self.verify_sign(signed_msg, origin_msg)
  rsa.verify_sign signed_msg, origin_msg
end

Instance Method Details

#decrypt(msg) ⇒ Object



33
34
35
# File 'lib/secretx/rsa.rb', line 33

def decrypt(msg)
  pri_k.private_decrypt decode_if_need(msg)
end

#encrypt(msg) ⇒ Object



29
30
31
# File 'lib/secretx/rsa.rb', line 29

def encrypt(msg)
  encode_if_need pub_k.public_encrypt(msg)
end

#sign(msg) ⇒ Object



37
38
39
# File 'lib/secretx/rsa.rb', line 37

def sign(msg)
  encode_if_need pri_k.sign(SecretX.conf.hash_mode, msg)
end

#verify_sign(signed_msg, origin_msg) ⇒ Object



41
42
43
# File 'lib/secretx/rsa.rb', line 41

def verify_sign(signed_msg, origin_msg)
  pub_k.verify SecretX.conf.hash_mode, decode_if_need(signed_msg), origin_msg
end