sha3 1.0.1 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sha3 might be problematic. Click here for more details.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data/.rspec +3 -1
- data/.rubocop.yml +6 -0
- data/Gemfile +3 -1
- data/README.md +10 -35
- data/Rakefile +13 -42
- data/certs/johanns.pem +24 -0
- data/ext/sha3/digest.c +149 -131
- data/ext/sha3/digest.h +36 -28
- data/ext/sha3/extconf.rb +8 -9
- data/ext/sha3/sha3.c +46 -30
- data/ext/sha3/sha3.h +8 -7
- data/lib/sha3/doc.rb +4 -4
- data/lib/sha3/version.rb +4 -5
- data/lib/sha3.rb +15 -13
- data/sha3.gemspec +52 -24
- data/tests.sh +7 -7
- data.tar.gz.sig +0 -0
- metadata +104 -41
- metadata.gz.sig +0 -0
- data/.gitignore +0 -24
- data/.travis.yml +0 -23
- data/Gemfile.ci +0 -14
- data/spec/generate_tests.rb +0 -49
- data/spec/sha3_core_spec.rb +0 -148
- data/spec/spec_helper.rb +0 -4
data/ext/sha3/extconf.rb
CHANGED
@@ -3,19 +3,18 @@ require 'rbconfig'
|
|
3
3
|
|
4
4
|
target_cpu = RbConfig::CONFIG['target_cpu']
|
5
5
|
|
6
|
-
if 1.size ==
|
7
|
-
Logging
|
8
|
-
FileUtils.cp Dir["#{$srcdir}/Reference/*"].collect { |f| File.expand_path(f) }, "#{$srcdir}/"
|
9
|
-
elsif 1.size == 8 and target_cpu =~ /i686|x86_64/
|
10
|
-
Logging::message "=== Using optimized (64-bit) ===\n"
|
6
|
+
if 1.size == 8 and target_cpu =~ /i686|x86_64/
|
7
|
+
Logging.message "=== Using optimized (64-bit) ===\n"
|
11
8
|
FileUtils.cp Dir["#{$srcdir}/Optimized64/*"].collect { |f| File.expand_path(f) }, "#{$srcdir}/"
|
12
9
|
else
|
13
|
-
Logging
|
10
|
+
Logging.message "=== Using reference ===\n"
|
14
11
|
FileUtils.cp Dir["#{$srcdir}/Reference/*"].collect { |f| File.expand_path(f) }, "#{$srcdir}/"
|
15
12
|
end
|
16
13
|
|
17
|
-
find_header(
|
18
|
-
find_header(
|
14
|
+
find_header('sha3.h')
|
15
|
+
find_header('digest.h')
|
16
|
+
|
17
|
+
$CFLAGS += ' -fomit-frame-pointer -O3 -g0 -fms-extensions '
|
18
|
+
$CFLAGS += ' -march=native ' if enable_config('march-tune-native', false)
|
19
19
|
|
20
|
-
$CFLAGS = ' -fomit-frame-pointer -O3 -g0 -march=nocona '
|
21
20
|
create_makefile 'sha3_n'
|
data/ext/sha3/sha3.c
CHANGED
@@ -7,40 +7,56 @@ VALUE eSHA3Error;
|
|
7
7
|
|
8
8
|
int get_hlen(VALUE obj)
|
9
9
|
{
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
10
|
+
int hlen;
|
11
|
+
|
12
|
+
if (TYPE(obj) == T_SYMBOL)
|
13
|
+
{
|
14
|
+
ID symid;
|
15
|
+
|
16
|
+
symid = SYM2ID(obj);
|
17
|
+
|
18
|
+
if (rb_intern("sha224") == symid)
|
19
|
+
{
|
20
|
+
hlen = 224;
|
21
|
+
}
|
22
|
+
else if (rb_intern("sha256") == symid)
|
23
|
+
{
|
24
|
+
hlen = 256;
|
25
|
+
}
|
26
|
+
else if (rb_intern("sha384") == symid)
|
27
|
+
{
|
28
|
+
hlen = 384;
|
29
|
+
}
|
30
|
+
else if (rb_intern("sha512") == symid)
|
31
|
+
{
|
32
|
+
hlen = 512;
|
33
|
+
}
|
34
|
+
else
|
35
|
+
{
|
36
|
+
rb_raise(eSHA3Error, "invalid hash bit symbol (should be: :sha224, :sha256, :sha384, or :sha512");
|
37
|
+
}
|
38
|
+
}
|
39
|
+
else if (TYPE(obj) == T_FIXNUM)
|
40
|
+
{
|
41
|
+
hlen = NUM2INT(obj);
|
42
|
+
|
43
|
+
if ((hlen != 224) && (hlen != 256) && (hlen != 384) && (hlen != 512))
|
44
|
+
{
|
45
|
+
rb_raise(rb_eArgError, "invalid hash bit length (should be: 224, 256, 384, or 512)");
|
46
|
+
}
|
47
|
+
}
|
25
48
|
else
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
if ((hlen != 224) && (hlen != 256) && (hlen != 384) && (hlen != 512))
|
32
|
-
rb_raise(rb_eArgError, "invalid hash bit length (should be: 224, 256, 384, or 512)");
|
33
|
-
}
|
34
|
-
else
|
35
|
-
rb_raise(eSHA3Error, "unknown type value");
|
36
|
-
|
37
|
-
return hlen;
|
49
|
+
{
|
50
|
+
rb_raise(eSHA3Error, "unknown type value");
|
51
|
+
}
|
52
|
+
|
53
|
+
return hlen;
|
38
54
|
}
|
39
55
|
|
40
56
|
void Init_sha3_n()
|
41
57
|
{
|
42
|
-
|
43
|
-
|
58
|
+
mSHA3 = rb_define_module("SHA3");
|
59
|
+
eSHA3Error = rb_define_class_under(mSHA3, "SHA3Error", rb_eStandardError);
|
44
60
|
|
45
|
-
|
61
|
+
Init_sha3_n_digest();
|
46
62
|
}
|
data/ext/sha3/sha3.h
CHANGED
@@ -8,17 +8,18 @@
|
|
8
8
|
#include "KeccakHash.h"
|
9
9
|
#include "digest.h"
|
10
10
|
|
11
|
-
#ifdef
|
12
|
-
extern "C"
|
11
|
+
#ifdef __cplusplus
|
12
|
+
extern "C"
|
13
|
+
{
|
13
14
|
#endif
|
14
15
|
|
15
|
-
extern VALUE mSHA3;
|
16
|
-
extern VALUE eSHA3Error;
|
16
|
+
extern VALUE mSHA3;
|
17
|
+
extern VALUE eSHA3Error;
|
17
18
|
|
18
|
-
int get_hlen(VALUE);
|
19
|
-
void Init_sha3_n(void);
|
19
|
+
int get_hlen(VALUE);
|
20
|
+
void Init_sha3_n(void);
|
20
21
|
|
21
|
-
#ifdef
|
22
|
+
#ifdef __cplusplus
|
22
23
|
}
|
23
24
|
#endif
|
24
25
|
|
data/lib/sha3/doc.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'digest'
|
2
4
|
|
3
5
|
module SHA3
|
@@ -99,8 +101,7 @@ module SHA3
|
|
99
101
|
# @example
|
100
102
|
# SHA3::Digest.hexdigest(256, 'compute me, please')
|
101
103
|
# SHA3::Digest::SHA256.hexdigest('compute me, please') # => Alternate syntax
|
102
|
-
def self.hexdigest(type, data)
|
103
|
-
end
|
104
|
+
def self.hexdigest(type, data); end
|
104
105
|
|
105
106
|
# Returns computed hash value for given hash type, and data in bytes.
|
106
107
|
#
|
@@ -112,8 +113,7 @@ module SHA3
|
|
112
113
|
# @example
|
113
114
|
# SHA3::Digest.digest(256, 'compute me, please')
|
114
115
|
# SHA3::Digest::SHA256.digest('compute me, please') # => Alternate syntax
|
115
|
-
def self.digest(type, data)
|
116
|
-
end
|
116
|
+
def self.digest(type, data); end
|
117
117
|
end
|
118
118
|
|
119
119
|
class DigestError < StandardError
|
data/lib/sha3/version.rb
CHANGED
data/lib/sha3.rb
CHANGED
@@ -1,35 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'sha3_n'
|
2
4
|
require 'sha3/version'
|
3
5
|
|
4
6
|
module SHA3
|
5
7
|
class Digest
|
6
|
-
|
7
8
|
# Based on 'OpenSSL for Ruby 2' project
|
8
9
|
# Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
|
9
|
-
alg = { :
|
10
|
+
alg = { sha224: 'SHA224', sha256: 'SHA256', sha384: 'SHA384', sha512: 'SHA512' }
|
10
11
|
|
11
12
|
def self.digest(name, data)
|
12
13
|
super(data, name)
|
13
14
|
end
|
14
15
|
|
15
|
-
alg.each
|
16
|
-
klass = Class.new(Digest)
|
17
|
-
define_method(:initialize)
|
16
|
+
alg.each do |key, name|
|
17
|
+
klass = Class.new(Digest) do
|
18
|
+
define_method(:initialize) do |*data|
|
18
19
|
if data.length > 1
|
19
20
|
raise ArgumentError,
|
20
|
-
|
21
|
+
"wrong number of arguments (#{data.length} for 1)"
|
21
22
|
end
|
22
23
|
|
23
24
|
super(key, data.first)
|
24
|
-
|
25
|
-
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
26
28
|
singleton = (class << klass; self; end)
|
27
|
-
singleton.class_eval
|
28
|
-
define_method(:digest){ |data| Digest.digest(key, data) }
|
29
|
-
define_method(:hexdigest){ |data| Digest.hexdigest(key, data) }
|
30
|
-
|
29
|
+
singleton.class_eval do
|
30
|
+
define_method(:digest) { |data| Digest.digest(key, data) }
|
31
|
+
define_method(:hexdigest) { |data| Digest.hexdigest(key, data) }
|
32
|
+
end
|
31
33
|
|
32
34
|
const_set(name, klass)
|
33
|
-
|
35
|
+
end
|
34
36
|
end
|
35
37
|
end
|
data/sha3.gemspec
CHANGED
@@ -1,25 +1,53 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
Gem::Specification.new do |
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
gem.
|
24
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'lib/sha3/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'sha3'
|
7
|
+
spec.version = SHA3::VERSION
|
8
|
+
|
9
|
+
spec.authors = ['Johanns Gregorian']
|
10
|
+
spec.email = ['io+sha3@jsg.io']
|
11
|
+
|
12
|
+
spec.description = 'SHA3 for Ruby is a native (C) FIPS 202 compliant implementation of SHA3 (Keccak) cryptographic hashing algorithm.'
|
13
|
+
spec.summary = 'SHA3 (FIPS 202) cryptographic hashing algorithm'
|
14
|
+
|
15
|
+
spec.homepage = 'https://github.com/johanns/sha3'
|
16
|
+
spec.license = 'MIT'
|
17
|
+
spec.required_ruby_version = '>= 2.6.0'
|
18
|
+
|
19
|
+
spec.metadata['changelog_uri'] = "#{spec.homepage}/CHANGELOG.md"
|
20
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
21
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
22
|
+
|
23
|
+
# Specify which files should be added to the gem when it is released.
|
24
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
25
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
26
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
27
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
spec.bindir = 'exe'
|
32
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
33
|
+
spec.extensions = ['ext/sha3/extconf.rb']
|
34
|
+
spec.require_paths = ['lib']
|
35
|
+
|
36
|
+
# Uncomment to register a new dependency of your gem
|
37
|
+
# spec.add_dependency "example-gem", "~> 1.0"
|
38
|
+
|
39
|
+
# For more information and examples about making a new gem, check out our
|
40
|
+
# guide at: https://bundler.io/guides/creating_gem.html
|
41
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
42
|
+
|
43
|
+
spec.add_development_dependency('bundler', '~> 2.3')
|
44
|
+
spec.add_development_dependency('rake', '~> 13.0')
|
45
|
+
spec.add_development_dependency('rake-compiler', '~> 1.1')
|
46
|
+
spec.add_development_dependency('rspec', '~> 3.11')
|
47
|
+
spec.add_development_dependency('rubocop', '~> 1.25')
|
48
|
+
spec.add_development_dependency('rubocop-rake', '~> 0.6')
|
49
|
+
spec.add_development_dependency('rubocop-rspec', '~> 2.9')
|
50
|
+
|
51
|
+
spec.cert_chain = ['certs/johanns.pem']
|
52
|
+
spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
|
25
53
|
end
|
data/tests.sh
CHANGED
@@ -5,22 +5,22 @@ rm -fv spec/sha3_digest*.rb
|
|
5
5
|
|
6
6
|
if [ -d "spec/data" ]
|
7
7
|
then
|
8
|
-
|
8
|
+
rm -rfv spec/data/*
|
9
9
|
else
|
10
|
-
|
10
|
+
mkdir "spec/data"
|
11
11
|
fi
|
12
12
|
|
13
13
|
pushd "spec/data"
|
14
14
|
|
15
15
|
if [ -f "*.txt" ]
|
16
16
|
then
|
17
|
-
|
17
|
+
rm -v *.txt
|
18
18
|
fi
|
19
19
|
|
20
|
-
wget "https://raw.githubusercontent.com/
|
21
|
-
wget "https://raw.githubusercontent.com/
|
22
|
-
wget "https://raw.githubusercontent.com/
|
23
|
-
wget "https://raw.githubusercontent.com/
|
20
|
+
wget "https://raw.githubusercontent.com/XKCP/XKCP/master/tests/TestVectors/ShortMsgKAT_SHA3-224.txt"
|
21
|
+
wget "https://raw.githubusercontent.com/XKCP/XKCP/master/tests/TestVectors/ShortMsgKAT_SHA3-256.txt"
|
22
|
+
wget "https://raw.githubusercontent.com/XKCP/XKCP/master/tests/TestVectors/ShortMsgKAT_SHA3-384.txt"
|
23
|
+
wget "https://raw.githubusercontent.com/XKCP/XKCP/master/tests/TestVectors/ShortMsgKAT_SHA3-512.txt"
|
24
24
|
|
25
25
|
cd ".."
|
26
26
|
|
data.tar.gz.sig
ADDED
Binary file
|
metadata
CHANGED
@@ -1,90 +1,157 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sha3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johanns Gregorian
|
8
|
-
autorequire:
|
9
|
-
bindir:
|
10
|
-
cert_chain:
|
11
|
-
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIEFDCCAnygAwIBAgIBATANBgkqhkiG9w0BAQsFADAaMRgwFgYDVQQDDA9pby9E
|
14
|
+
Qz1qc2cvREM9aW8wHhcNMjIwMzA5MDcyODEwWhcNMjMwMzA5MDcyODEwWjAaMRgw
|
15
|
+
FgYDVQQDDA9pby9EQz1qc2cvREM9aW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw
|
16
|
+
ggGKAoIBgQCuPwkDs4uoBV6pQhKp3uA58LkDPRR7VoI4QryuH7PbIwuO3xbuyR6T
|
17
|
+
xEqwcb9GgVnMxiFyXeVkWiriuGXqZ26Pp5zH/xxQNgPGCIyXuXeJMpASkWjJ9J6h
|
18
|
+
+jOdaG5jdL6zRcw/5XaJSQTLGO32BNOIezUZCF9JtMoEBQYHRWFjoD5BryjYnU3f
|
19
|
+
SstXg9nD8KOyk5Vzqk/wvJs5X+b2jcZL0KmSP1UgaCakfTCKf8LA9I5zAbvv2M9n
|
20
|
+
F0JQfKw4AUlmykzmOMEsITVxtM8lIVxm99KAS+lFn19xEjOs7nr3GktyLJxav8qI
|
21
|
+
3yXW/q5wUbOFrj/e1tk6r/W3bM6TQzGFBsBJgXEoFFZ+OQdEW8PXU0H5CIg59SxB
|
22
|
+
lXwSC1rKlxSeGNcKDXeIN1AU3pqv/PJj2SKg2+uQ9Staya0Mtek/caPDVfIy8AgH
|
23
|
+
ulTeTVN7m5SdVjVBl3rIehH/j0R/JF7ygsMkJEQAxrwPxqmazXkPAGLNNIqppaxi
|
24
|
+
VyHhxSnGefUCAwEAAaNlMGMwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
|
25
|
+
BBYEFBZFuuJYra4ctzMvtfzlTq3pW4idMBQGA1UdEQQNMAuBCWlvQGpzZy5pbzAU
|
26
|
+
BgNVHRIEDTALgQlpb0Bqc2cuaW8wDQYJKoZIhvcNAQELBQADggGBAF2jXh+4LzPg
|
27
|
+
Mj8gTCVTxj4/OhQ303cS5gasgh+R9Zxcf1cfTXOxEeIXdrqJiMhILWVWgCYZxagL
|
28
|
+
B5pU6MOyIOi4XAm5RMO3mIyTrY05Q/JbQ5j2ccuIOlL+XvhjAYKZmt9BkJLKfLEp
|
29
|
+
hagXHZe40Hd3qwkgJ3ug3T28gkBWaTq8FSbTOfCVX9uNjQrukAP/VrfnKZiNnpJ7
|
30
|
+
FOtEKDk3l9JWCyX8LQwfljPmQhvFHYnMRyt0l2b0I5li6MWUE4JmrbtK8/Fyo0I0
|
31
|
+
PChRryVpy0HnKvqoKQyqeMspLbbKCsO1PRS5VFZ/ybrPy63paFPdikeKMZIH3oJQ
|
32
|
+
wePRJFEp3gdQZcSjfkzC38QFh9JuKFJFMC4Y3e5uVeeydEGGUekH1s/B5/EuBCRi
|
33
|
+
vaoldWA6C6e/X/XQsMNdC04+d7IdgNRf8NkN/atZdJLcFVcaXGS9MncPZnwBC2GD
|
34
|
+
GBMFs3s6mx0HRpclYTMXK71jLsfqtM2SriIbx1VqiuUMUtddNrGcOw==
|
35
|
+
-----END CERTIFICATE-----
|
36
|
+
date: 2022-03-09 00:00:00.000000000 Z
|
12
37
|
dependencies:
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: bundler
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - "~>"
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '2.3'
|
45
|
+
type: :development
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - "~>"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '2.3'
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: rake
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - "~>"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '13.0'
|
59
|
+
type: :development
|
60
|
+
prerelease: false
|
61
|
+
version_requirements: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - "~>"
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '13.0'
|
13
66
|
- !ruby/object:Gem::Dependency
|
14
67
|
name: rake-compiler
|
15
68
|
requirement: !ruby/object:Gem::Requirement
|
16
69
|
requirements:
|
17
|
-
- - "
|
70
|
+
- - "~>"
|
18
71
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
72
|
+
version: '1.1'
|
20
73
|
type: :development
|
21
74
|
prerelease: false
|
22
75
|
version_requirements: !ruby/object:Gem::Requirement
|
23
76
|
requirements:
|
24
|
-
- - "
|
77
|
+
- - "~>"
|
25
78
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
79
|
+
version: '1.1'
|
27
80
|
- !ruby/object:Gem::Dependency
|
28
81
|
name: rspec
|
29
82
|
requirement: !ruby/object:Gem::Requirement
|
30
83
|
requirements:
|
31
84
|
- - "~>"
|
32
85
|
- !ruby/object:Gem::Version
|
33
|
-
version: '3.
|
86
|
+
version: '3.11'
|
87
|
+
type: :development
|
88
|
+
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.11'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: rubocop
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - "~>"
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '1.25'
|
34
101
|
type: :development
|
35
102
|
prerelease: false
|
36
103
|
version_requirements: !ruby/object:Gem::Requirement
|
37
104
|
requirements:
|
38
105
|
- - "~>"
|
39
106
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
107
|
+
version: '1.25'
|
41
108
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
109
|
+
name: rubocop-rake
|
43
110
|
requirement: !ruby/object:Gem::Requirement
|
44
111
|
requirements:
|
45
|
-
- - "
|
112
|
+
- - "~>"
|
46
113
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
114
|
+
version: '0.6'
|
48
115
|
type: :development
|
49
116
|
prerelease: false
|
50
117
|
version_requirements: !ruby/object:Gem::Requirement
|
51
118
|
requirements:
|
52
|
-
- - "
|
119
|
+
- - "~>"
|
53
120
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
121
|
+
version: '0.6'
|
55
122
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
123
|
+
name: rubocop-rspec
|
57
124
|
requirement: !ruby/object:Gem::Requirement
|
58
125
|
requirements:
|
59
|
-
- - "
|
126
|
+
- - "~>"
|
60
127
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
128
|
+
version: '2.9'
|
62
129
|
type: :development
|
63
130
|
prerelease: false
|
64
131
|
version_requirements: !ruby/object:Gem::Requirement
|
65
132
|
requirements:
|
66
|
-
- - "
|
133
|
+
- - "~>"
|
67
134
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
135
|
+
version: '2.9'
|
69
136
|
description: SHA3 for Ruby is a native (C) FIPS 202 compliant implementation of SHA3
|
70
137
|
(Keccak) cryptographic hashing algorithm.
|
71
|
-
email:
|
138
|
+
email:
|
139
|
+
- io+sha3@jsg.io
|
72
140
|
executables: []
|
73
141
|
extensions:
|
74
142
|
- ext/sha3/extconf.rb
|
75
143
|
extra_rdoc_files: []
|
76
144
|
files:
|
77
145
|
- ".document"
|
78
|
-
- ".gitignore"
|
79
146
|
- ".rspec"
|
80
|
-
- ".
|
147
|
+
- ".rubocop.yml"
|
81
148
|
- ".yardopts"
|
82
149
|
- ChangeLog.rdoc
|
83
150
|
- Gemfile
|
84
|
-
- Gemfile.ci
|
85
151
|
- LICENSE.txt
|
86
152
|
- README.md
|
87
153
|
- Rakefile
|
154
|
+
- certs/johanns.pem
|
88
155
|
- ext/sha3/KeccakF-1600-interface.h
|
89
156
|
- ext/sha3/KeccakHash.c
|
90
157
|
- ext/sha3/KeccakHash.h
|
@@ -113,15 +180,16 @@ files:
|
|
113
180
|
- lib/sha3/doc.rb
|
114
181
|
- lib/sha3/version.rb
|
115
182
|
- sha3.gemspec
|
116
|
-
- spec/generate_tests.rb
|
117
|
-
- spec/sha3_core_spec.rb
|
118
|
-
- spec/spec_helper.rb
|
119
183
|
- tests.sh
|
120
|
-
homepage: https://github.com/johanns/sha3
|
184
|
+
homepage: https://github.com/johanns/sha3
|
121
185
|
licenses:
|
122
186
|
- MIT
|
123
|
-
metadata:
|
124
|
-
|
187
|
+
metadata:
|
188
|
+
changelog_uri: https://github.com/johanns/sha3/CHANGELOG.md
|
189
|
+
homepage_uri: https://github.com/johanns/sha3
|
190
|
+
source_code_uri: https://github.com/johanns/sha3
|
191
|
+
rubygems_mfa_required: 'true'
|
192
|
+
post_install_message:
|
125
193
|
rdoc_options: []
|
126
194
|
require_paths:
|
127
195
|
- lib
|
@@ -129,20 +197,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
129
197
|
requirements:
|
130
198
|
- - ">="
|
131
199
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
200
|
+
version: 2.6.0
|
133
201
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
202
|
requirements:
|
135
203
|
- - ">="
|
136
204
|
- !ruby/object:Gem::Version
|
137
205
|
version: '0'
|
138
206
|
requirements: []
|
139
|
-
|
140
|
-
|
141
|
-
signing_key:
|
207
|
+
rubygems_version: 3.2.32
|
208
|
+
signing_key:
|
142
209
|
specification_version: 4
|
143
|
-
summary: SHA3
|
144
|
-
test_files:
|
145
|
-
- spec/generate_tests.rb
|
146
|
-
- spec/sha3_core_spec.rb
|
147
|
-
- spec/spec_helper.rb
|
148
|
-
has_rdoc:
|
210
|
+
summary: SHA3 (FIPS 202) cryptographic hashing algorithm
|
211
|
+
test_files: []
|
metadata.gz.sig
ADDED
Binary file
|
data/.gitignore
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
*.rbx
|
4
|
-
*.bundle
|
5
|
-
*.so
|
6
|
-
*.dll
|
7
|
-
.config
|
8
|
-
coverage
|
9
|
-
InstalledFiles
|
10
|
-
lib/bundler/man
|
11
|
-
pkg
|
12
|
-
rdoc
|
13
|
-
spec/reports
|
14
|
-
test/tmp
|
15
|
-
test/version_tmp
|
16
|
-
tmp
|
17
|
-
|
18
|
-
# YARD artifacts
|
19
|
-
.yardoc
|
20
|
-
_yardoc
|
21
|
-
doc/
|
22
|
-
Gemfile.lock
|
23
|
-
|
24
|
-
.idea/
|
data/.travis.yml
DELETED