mystiko 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5796e4e1fa52ab52ff132e77d247b9adffd3ebb6
4
+ data.tar.gz: 3e3c02ae21aa3d35e35b1651fd9eeff95e055031
5
+ SHA512:
6
+ metadata.gz: a565faf5873e606e5e2bdca07f6efc9f9263e3c37405a588fd8ba7b110eef6ad705ee5985e2e25ea29d2097f4bf385f66175e63c288cb6bbbe407fbae88d1b3d
7
+ data.tar.gz: 417b4ea310cca0b2959089fdb014cc9b978e8d2ec884e98303dad60883b64308b367c70ae5a76af00c4770e250bb28a11bb4841f8c14415d8efbb9fea6507a85
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /rdoc/
8
+ /pkg/
9
+ /spec/reports/
10
+ /tmp/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in mystiko.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Peter Camilleri
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # Mystikó
2
+
3
+ The word mystikó is from the Greek language and means secret. Keeping
4
+ secrets safe from unauthorized eyes is the very core purpose of encryption.
5
+
6
+ Over the next few months, this code repo will grow to contain an introduction
7
+ to encryption aimed at those who are curious about how it works.
8
+
9
+ This will be done in a number of parts:
10
+
11
+ - A look at the basic machinery common to all encryption systems.
12
+ - A look at some famous (and infamous) encryption systems used through history.
13
+ In addition to seeing how they work, we'll also take a look at how they
14
+ failed and/or went obsolete.
15
+ - The mystiko gem, written in ruby, that serves as a simple demonstration of
16
+ the principles of data encryption.
17
+ - A challenge. For as long as secret codes have existed, secret code breakers
18
+ have tried to defeat them. Coming soon, see if you can decode a secret
19
+ message created by the above ruby code. Prizes, if any, to be determined!
20
+
21
+ ## Installation
22
+
23
+ Add this line to your application's Gemfile:
24
+
25
+ ```ruby
26
+ gem 'mystiko'
27
+ ```
28
+
29
+ And then execute:
30
+
31
+ $ bundle
32
+
33
+ Or install it yourself as:
34
+
35
+ $ gem install mystiko
36
+
37
+ The mystiko gem itself will soon be found at: ( https://rubygems.org/gems/mystiko )
38
+
39
+ ## Usage
40
+
41
+ TODO: Write usage instructions here
42
+
43
+ ## Contributing
44
+
45
+ Creating a good introduction to encryption is quite an undertaking. For
46
+ this reason, any input is most welcomed. There are two basic plans by which
47
+ this can be accomplished.
48
+
49
+ #### Plan A
50
+
51
+ 1. Fork it ( https://github.com/PeterCamilleri/mystiko/fork )
52
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
53
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
54
+ 4. Push to the branch (`git push origin my-new-feature`)
55
+ 5. Create new Pull Request
56
+
57
+ #### Plan B
58
+
59
+ Go to the GitHub repository and raise an issue calling attention to some
60
+ aspect that could use some TLC or a suggestion or an idea.
@@ -0,0 +1,40 @@
1
+ # Welcome to Cyrpto 101
2
+
3
+ This series of lessons is a basic level primer on encryption. The target
4
+ audience is programmers curious about how encryption works but not in love
5
+ with pages of confusing mathematical scribblings. It is not really solid
6
+ enough to use as a basis for those wishing to delve deeply into the field
7
+ but may still serve as a starting point for such a path.
8
+
9
+ The examination of encryption will look at a number of sources.
10
+
11
+ - The theory behind how encryption works.
12
+ - An examination of actual encryption systems that are deployed in the field.
13
+ - A look at some examples of epic failures through the years.
14
+ - We will build up a simple example encryption system in the ruby language.
15
+
16
+ Keep in my that this primer will keep things on a basic level. As a result
17
+ we will avoid digging into the leading edge of security apparatus. The NSA
18
+ most certainly has nothing to fear here.
19
+
20
+ Finally, it is a goal to keep the tone light and informal. Furthermore, since
21
+ I am not particularly learned, this will _not_ be a learned dissertation.
22
+
23
+ ## Encryption Basics
24
+
25
+ There are many occasions that require moving and/or storing information in a
26
+ secure manner. Some of these include:
27
+
28
+ - Protecting personal information for customers or citizens.
29
+ - Protecting financial information during business transactions.
30
+ - Protecting the secrecy during military operations.
31
+ - Protecting intellectual property from industrial espionage.
32
+ - Protecting the operation of banking systems or power grids.
33
+ - Protecting... well you get it. There's a lot that needs protecting.
34
+
35
+ So, just what does protecting mean in this context? In each case above, there
36
+ is information. That information is plainly visible to the originator of the
37
+ information. It needs to be made plainly visible to the intended recipient of
38
+ that information. It needs to be kept out of the hands who are not authorized
39
+ to possess or use that information.
40
+
data/lib/mystiko.rb ADDED
@@ -0,0 +1,8 @@
1
+ # coding: utf-8
2
+
3
+ require_relative "mystiko/version"
4
+
5
+ # The Mystiko module is where all the data encryption classes reside.
6
+ module Mystiko
7
+ # Your code goes here...
8
+ end
@@ -0,0 +1,6 @@
1
+ # coding: utf-8
2
+
3
+ module Mystiko
4
+ #The version of this encryption library.
5
+ VERSION = "0.0.1"
6
+ end
data/mystiko.gemspec ADDED
@@ -0,0 +1,33 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'mystiko/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "mystiko"
8
+ spec.version = Mystiko::VERSION
9
+ spec.authors = ["Peter Camilleri"]
10
+ spec.email = ["peter.c.camilleri@gmail.com"]
11
+
12
+ # spec.summary = "A introduction to the world of encryption."
13
+ # spec.description = "A brief primer on the fundamentals of encryption."
14
+
15
+ spec.summary = "A temp place holder."
16
+ spec.description = "A temp place holder. Work in progress."
17
+
18
+ spec.homepage = "http://teuthida-technologies.com/"
19
+ spec.license = "MIT"
20
+
21
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(tests)/}) }
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.require_paths = ["lib"]
25
+
26
+ spec.platform = Gem::Platform::RUBY
27
+ spec.required_ruby_version = '>=1.9.3'
28
+
29
+ spec.add_development_dependency "bundler", "~> 1.11"
30
+ spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency 'minitest_visible', ">= 0.1.0"
32
+ spec.add_development_dependency 'mini_readline', ">= 0.4.8"
33
+ end
data/rakefile.rb ADDED
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env rake
2
+ # coding: utf-8
3
+
4
+ require 'rake/testtask'
5
+ require 'rdoc/task'
6
+ require "bundler/gem_tasks"
7
+
8
+ #Generate internal documentation with rdoc.
9
+ RDoc::Task.new do |rdoc|
10
+ rdoc.rdoc_dir = "rdoc"
11
+
12
+ #List out all the files to be documented.
13
+ rdoc.rdoc_files.include("lib/**/*.rb", "license.txt", "README.md")
14
+
15
+ #Make all access levels visible.
16
+ rdoc.options << '--visibility' << 'private'
17
+ #rdoc.options << '--verbose'
18
+ #rdoc.options << '--coverage-report'
19
+
20
+ #Set a title.
21
+ rdoc.options << '--title' << 'Mystiko Internals'
22
+ end
23
+
24
+ #Run the mystiko unit test suite.
25
+ Rake::TestTask.new do |t|
26
+ #List out all the unit test files.
27
+ t.test_files = FileList['tests/**/*.rb']
28
+ t.verbose = false
29
+ t.warning = true
30
+ end
31
+
32
+ desc "Run a scan for smelly code!"
33
+ task :reek do |t|
34
+ `reek --no-color lib > reek.txt`
35
+ end
36
+
37
+ desc "What version of mystiko is this?"
38
+ task :vers do |t|
39
+ puts
40
+ puts "Mystiko version = #{Mystiko::VERSION}"
41
+ end
data/reek.txt ADDED
@@ -0,0 +1 @@
1
+ 0 total warnings
metadata ADDED
@@ -0,0 +1,111 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mystiko
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Peter Camilleri
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-05-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest_visible
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.1.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: mini_readline
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.4.8
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.4.8
69
+ description: A temp place holder. Work in progress.
70
+ email:
71
+ - peter.c.camilleri@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - Gemfile
78
+ - LICENSE.txt
79
+ - README.md
80
+ - crypto_101/part_01/README.md
81
+ - lib/mystiko.rb
82
+ - lib/mystiko/version.rb
83
+ - mystiko.gemspec
84
+ - rakefile.rb
85
+ - reek.txt
86
+ homepage: http://teuthida-technologies.com/
87
+ licenses:
88
+ - MIT
89
+ metadata: {}
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: 1.9.3
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubyforge_project:
106
+ rubygems_version: 2.2.2
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: A temp place holder.
110
+ test_files: []
111
+ has_rdoc: