number_station 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.asciidoc +5 -0
- data/lib/number_station/cli.rb +9 -0
- data/lib/number_station/decrypt_message.rb +5 -1
- data/lib/number_station/encrypt_message.rb +9 -3
- data/lib/number_station/version.rb +1 -1
- data/number_station.gemspec +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 377a40f8d4aaf4f86503a468bcbb133b10b738d4553e5da6849490150ce41b98
|
4
|
+
data.tar.gz: 0ba471edeabe6cee234897cc18913aacad818417c39bc5cbc7c5e639e7af6c1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd740ab71dc7da9f01d81e844c7a71fa6ba5afa6c02eb332f3eb995f71fe6b768617f73149c625b3d0e9d5f1833cc7d0221a66b8f9f13233eeca0b17f89246f8
|
7
|
+
data.tar.gz: 21d407d3f8db3aa68dfc81265235553d39f6474c96bbdc483960d31396043a12a3d724319b2fc80ccef5de7cbed4227a68847e00b71738d4daf8d17ce71f7ec9
|
data/README.asciidoc
CHANGED
@@ -11,3 +11,8 @@ against master on this repo. For more information see _CONTRIBUTING.asciidoc_
|
|
11
11
|
number_station is distributed under the GPL 3.0 licence. For more information see the _COPYING.asciidoc_
|
12
12
|
file.
|
13
13
|
|
14
|
+
=== Number Station Resources ===
|
15
|
+
|
16
|
+
- https://linuxcoffee.com/numbers/
|
17
|
+
- http://users.telenet.be/d.rijmenants/en/onetimepad.htm
|
18
|
+
- https://www.numbers-stations.com/
|
data/lib/number_station/cli.rb
CHANGED
@@ -189,5 +189,14 @@ module NumberStation
|
|
189
189
|
end
|
190
190
|
|
191
191
|
|
192
|
+
# version
|
193
|
+
desc "version", "Print the version of the Number Stations gem."
|
194
|
+
long_desc <<-VERSION_LONG_DESC
|
195
|
+
Prints the version of the Number Stations gem.
|
196
|
+
VERSION_LONG_DESC
|
197
|
+
def version()
|
198
|
+
NumberStation::ConfigReader.read_config()
|
199
|
+
NumberStation.log.debug "Version: #{NumberStation::VERSION}"
|
200
|
+
end
|
192
201
|
end
|
193
202
|
end
|
@@ -34,6 +34,10 @@ module NumberStation
|
|
34
34
|
end
|
35
35
|
|
36
36
|
crypto_hex_str = pad_data["pads"][pad_num]["key"]
|
37
|
+
if message.size > crypto_hex_str.size
|
38
|
+
NumberStation.log.error "Error: The message length is greater than pad length. Unable to continue decryption."
|
39
|
+
exit
|
40
|
+
end
|
37
41
|
NumberStation.log.debug "message length less than pad length: #{message.size <= crypto_hex_str.size}"
|
38
42
|
|
39
43
|
crypto_byte_array = crypto_hex_str.scan(/.{1}/).each_slice(2).map { |f, l| (Integer(f,16) << 4) + Integer(l,16) }
|
@@ -57,4 +61,4 @@ module NumberStation
|
|
57
61
|
return decrypted_string
|
58
62
|
end
|
59
63
|
|
60
|
-
end
|
64
|
+
end
|
@@ -33,8 +33,15 @@ module NumberStation
|
|
33
33
|
raise e
|
34
34
|
end
|
35
35
|
|
36
|
+
crypto_hex_str = pad_data["pads"][pad_num]["key"]
|
37
|
+
|
38
|
+
if message.size > crypto_hex_str.size
|
39
|
+
NumberStation.log.error "Exception: message length is larger than pad length. Break the message into smaller parts."
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
NumberStation.log.debug "message length less than pad length"
|
43
|
+
|
36
44
|
unless pad_data["pads"][pad_num]["consumed"]
|
37
|
-
crypto_hex_str = pad_data["pads"][pad_num]["key"]
|
38
45
|
NumberStation.log.debug "Marking key as consumed"
|
39
46
|
pad_data["pads"][pad_num]["epoch_date"] = Time.now.to_i
|
40
47
|
pad_data["pads"][pad_num]["consumed"] = true
|
@@ -47,7 +54,6 @@ module NumberStation
|
|
47
54
|
exit
|
48
55
|
end
|
49
56
|
|
50
|
-
NumberStation.log.debug "message length less than pad length: #{message.size <= crypto_hex_str.size}"
|
51
57
|
crypto_byte_array = crypto_hex_str.scan(/.{1}/).each_slice(2).map { |f, l| (Integer(f,16) << 4) + Integer(l,16) }
|
52
58
|
|
53
59
|
encrypted_byte_array = []
|
@@ -70,4 +76,4 @@ module NumberStation
|
|
70
76
|
return encrypted_byte_str
|
71
77
|
end
|
72
78
|
|
73
|
-
end
|
79
|
+
end
|
data/number_station.gemspec
CHANGED
@@ -26,7 +26,7 @@ require "number_station/version"
|
|
26
26
|
Gem::Specification.new do |spec|
|
27
27
|
spec.name = "number_station"
|
28
28
|
spec.version = NumberStation::VERSION
|
29
|
-
spec.date = "2018-
|
29
|
+
spec.date = "2018-11-29"
|
30
30
|
spec.authors = ["David Kirwan"]
|
31
31
|
spec.email = ["davidkirwanirl@gmail.com"]
|
32
32
|
spec.license = "GPL 3.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: number_station
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Kirwan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pastel
|
@@ -119,8 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
|
-
|
123
|
-
rubygems_version: 2.7.7
|
122
|
+
rubygems_version: 3.0.3
|
124
123
|
signing_key:
|
125
124
|
specification_version: 4
|
126
125
|
summary: "(WIP) Run your own number station!"
|