Browse Source

readme

master
rafapolo 5 years ago
parent
commit
aa93fc3942
13 changed files with 6 additions and 22 deletions
  1. +0
    -0
      .gitignore
  2. +0
    -0
      Gemfile
  3. +0
    -17
      Gemfile.lock
  4. +6
    -5
      README.md
  5. BIN
      coffeescript/1.out.png
  6. BIN
      coffeescript/2.out.png
  7. BIN
      coffeescript/3.out.png
  8. BIN
      coffeescript/5.out.png
  9. BIN
      coffeescript/cypherpunks.pdf.out.png
  10. +0
    -0
      cypherpunks.pdf.png
  11. +0
    -0
      flickr-concat-alternative.rb
  12. +0
    -0
      output-sample.jpg
  13. +0
    -0
      steganos.dev.coffee

+ 0
- 0
.gitignore View File


+ 0
- 0
Gemfile View File


+ 0
- 17
Gemfile.lock View File

@ -1,17 +0,0 @@
GIT
remote: https://github.com/wvanbergen/oily_png.git
revision: 5b56e30124ae523a908fa07f806f3e887e550613
specs:
oily_png (1.1.1)
chunky_png (~> 1.3.1)
GEM
remote: https://rubygems.org/
specs:
chunky_png (1.3.1)
PLATFORMS
ruby
DEPENDENCIES
oily_png!

+ 6
- 5
README.md View File

@ -1,7 +1,8 @@
Steganos
=======
The concept is easy and creative: get the data from any file, encode into base64, compact and encode it again into hexadecimal, so get each three chunks of hexa values (ex: ff 12 d3) to compose the RGB pixels that represents the data as an encoded PNG image in such a way that you can reverse and decode it later as the original file.
=======
The concept is easy and creative: get the data from the file, encode into base64, compact and encode it again into hexadecimal, then get each chunks of hexa values (ex: ff 12 d3) to compose the RGB pixels (ex: #ff12d3) that represents the data as an encoded PNG image in such a way that it can be reversed and decoded as the original file.
This was a prove of concept written in Ruby (and parcially in Node.js) so I could upload 6GB of videos and PDFs to Flickr as images, and then get it back as the original files.
@ -12,12 +13,12 @@ Simple text encoding sample:
```
"extrapolo".to_b64.compact.to_hex
=> "78da8b8ac83048ce752b4f32aa28e302001fbe0464"
=> "78da8b8ac83048ce752b4f32aa28e302001fbe0464"
final 7 hexa color pixels to represent "extrapolo" data as image
=> #78da8b #8ac830 #48ce75 #2b4f32 #aa28e3 #02001f #be0464
and back to the original data,
and back to the original data,
"78da8b8ac83048ce752b4f32aa28e302001fbe0464".from_hex.unzip.from_b64
=> "extrapolo"


BIN
coffeescript/1.out.png View File

Before After
Width: 10  |  Height: 10  |  Size: 346 B

BIN
coffeescript/2.out.png View File

Before After
Width: 9  |  Height: 9  |  Size: 294 B

BIN
coffeescript/3.out.png View File

Before After
Width: 10  |  Height: 10  |  Size: 357 B

BIN
coffeescript/5.out.png View File

Before After
Width: 148  |  Height: 148  |  Size: 49 KiB

BIN
coffeescript/cypherpunks.pdf.out.png View File

Before After
Width: 2503  |  Height: 2503  |  Size: 4.6 MiB

+ 0
- 0
cypherpunks.pdf.png View File

Before After
Width: 1084  |  Height: 1084  |  Size: 3.8 MiB Width: 1084  |  Height: 1084  |  Size: 3.8 MiB

+ 0
- 0
flickr-concat-alternative.rb View File


+ 0
- 0
output-sample.jpg View File

Before After
Width: 712  |  Height: 711  |  Size: 453 KiB Width: 712  |  Height: 711  |  Size: 453 KiB

coffeescript/steganos.coffee → steganos.dev.coffee View File


Loading…
Cancel
Save