-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added bitmap encryption sample (#28)
- Loading branch information
Showing
21 changed files
with
266 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
magma_samples/src/samples/encrypt_block.rs → magma_samples/src/encrypt_block.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
use cipher_magma::{CipherMode, MagmaStream}; | ||
use image; | ||
use std::env; | ||
use std::path::PathBuf; | ||
|
||
/// Bitmap image encryption sample | ||
pub fn encrypt_bmp(filename: &str, cipher_mode: CipherMode) { | ||
|
||
// sample files are located in the /tests directory of the package root (magma_samples) | ||
let source_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests"); | ||
|
||
// let target_dir = env::temp_dir(); | ||
// target directory is /tests/out of the package root (magma_samples) | ||
let target_dir = source_dir.join("out"); | ||
|
||
let source_filepath = source_dir.join(filename); | ||
|
||
println!("Opening the image file: {:?} ...", source_filepath); | ||
let img = image::open(source_filepath).unwrap(); | ||
|
||
let buf = img.as_bytes(); | ||
assert!(buf.len() % 8 == 0); | ||
|
||
let key = [ | ||
0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa, 0x99, 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11, | ||
0x00, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, | ||
0xfe, 0xff, | ||
]; | ||
|
||
let mut magma = MagmaStream::new(key, cipher_mode); | ||
|
||
println!("Encrypting..."); | ||
let enc_buf = magma.encrypt(&buf); | ||
assert_eq!(buf.len(), enc_buf.len()); | ||
|
||
let enc_filename = format!( | ||
"encrypted_{}.{}", | ||
magma.get_mode().to_string().to_lowercase(), | ||
filename | ||
); | ||
let enc_filepath = target_dir.join(enc_filename); | ||
|
||
println!("Saving the encrypted image as: {:?}", enc_filepath); | ||
image::save_buffer( | ||
enc_filepath, | ||
&enc_buf, | ||
img.width(), | ||
img.height(), | ||
img.color(), | ||
) | ||
.unwrap(); | ||
|
||
println!("Completed."); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
magma_samples/src/samples/encrypt_text.rs → magma_samples/src/encrypt_text.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Lorem Ipsum | ||
|
||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus at faucibus risus. Praesent scelerisque venenatis purus, vitae molestie ligula porta in. Nam nec augue ac magna venenatis iaculis ac vitae tellus. Quisque quis mollis elit. Mauris lobortis libero et scelerisque sagittis. Praesent sed sollicitudin arcu. Cras ut orci eget nisi posuere malesuada. | ||
|
||
Curabitur nibh mauris, tincidunt id urna vitae, faucibus posuere turpis. Phasellus nibh arcu, vestibulum sit amet enim vel, iaculis elementum leo. Suspendisse vulputate, libero a aliquet cursus, lacus massa aliquam sapien, quis aliquet nulla felis vitae elit. Sed euismod velit est, ac scelerisque lectus volutpat non. Nullam molestie pellentesque erat, vel pharetra quam. Fusce facilisis scelerisque maximus. Integer ac dui sit amet mauris tincidunt commodo eu dapibus sem. In eget pretium quam. Ut mollis a lorem quis elementum. In vitae purus iaculis, pharetra tortor a, accumsan justo. Quisque magna ipsum, finibus eu gravida nec, gravida sed orci. Pellentesque convallis pharetra diam, ut mollis diam tristique a. | ||
|
||
Proin vulputate massa ligula, id lobortis nisl venenatis ac. Quisque eleifend ligula dolor, vel ultricies enim dignissim ut. Donec convallis mi et elit molestie tempor. Nullam facilisis elit arcu, at varius est sodales vel. Sed dignissim id eros at tincidunt. Mauris non lorem hendrerit, fringilla velit sit amet, tempus nibh. Sed interdum cursus ante vel convallis. | ||
|
||
Praesent eget mollis urna. Curabitur eget dolor non magna fermentum hendrerit eu et nisl. Suspendisse volutpat finibus massa, eu eleifend libero viverra a. Suspendisse aliquet vulputate turpis, vitae gravida sapien mollis sed. Ut porttitor, arcu eu auctor suscipit, risus enim pellentesque dolor, eu congue erat lorem imperdiet ligula. Suspendisse placerat feugiat purus, aliquam faucibus nisi facilisis laoreet. Aenean a pellentesque orci. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc ac tristique orci, quis iaculis elit. | ||
|
||
Nullam turpis diam, ultricies sit amet pellentesque eu, semper et felis. Vivamus id orci a nulla semper laoreet id in odio. Donec quis dolor eros. Phasellus laoreet massa id blandit fringilla. Etiam bibendum dolor et ultrices pharetra. Ut varius semper scelerisque. Vivamus ullamcorper libero justo, porta commodo ex lobortis vel. In a purus vel justo facilisis fermentum. | ||
|
||
## Maritum et et illum epulis premente ac | ||
|
||
Lorem markdownum bracchia ferventi spargit? Sua quas, cornua? Pisce manere ligno | ||
et vaporibus sede animoque fidum. Quod atque, et et parabat cacumina facta, | ||
viisque [iam mutatus mihi](http://ut.com/eratunum.php) ait lacerta vanos. | ||
|
||
1. Audiri media fusum inducere igitur civilibus caput | ||
2. Egi refert unca moderator ipsamque | ||
3. In unum sepulchro volat caelestibus cornibus | ||
4. Venti repugnat nostrum geminaque tepidisque est adacto | ||
5. Pelago amnicolaeque divis tale Nec | ||
6. Iam dimovit | ||
|
||
AI in non. Undique premit tormento residens et non, e, mihi, agitasse adgreditur | ||
ignorans leti. Felices Neptune ingens? Adiutrixque viva, monte campo peto | ||
lacrimaeque debere Graium, ea pulcherrime auras nam mirata. | ||
|
||
> Me comes, dicta illis Ilithyiam lacrimis manus se stridore volui curvamine | ||
> luminis: pectora et. Typhoea Ceres oraque domos origo vobis factos medio | ||
> finita piscosamque inulti sollertius velox locatas illa. Nescitve quis, mihi | ||
> ille vale armo constituis, eque. Magnoque undas, Atque armos et decolor, | ||
> modicisque dignam quae cetera et passis, et. | ||
## Hic nate quis fecit | ||
|
||
Tegens quodque deum: vera: cum Eryx cristati. Astris cum illis Magnetas mihi, | ||
per orbem, simul *viva ad*, sed munere *umeris antiquo*, statuit. Sumptis | ||
gemmata [Meleagros illas](http://quoque-patria.com/frenataqueet), sequitur | ||
molliter; [tibi](http://saxea.net/) errans Diana procul et. Caligine gaudet, | ||
[init suos](http://agna.com/satis-corpus.php) tempus! Ieiunia haec acceptaque | ||
ipsum rursus qui esse; fictos sub invia deum quater. | ||
|
||
1. Dea sperat ac aethera volucresque iacui umbra | ||
2. Pronus ades leto pavet posuitque | ||
3. Audet ut musco potest neve | ||
4. At rediit fusus | ||
5. Coniurata cantusque | ||
|
||
Ignes reppulit inania quotiensque perdere *praecipue pallor* alis defensae | ||
dixit. Nescioquam [flamma decipienda](http://veniret-vultu.com/lacrimaeque) erat | ||
est *sati ipse qua*. Eat aevi querellae facto incurvo atria utque quis mediis | ||
atram. | ||
|
||
> Et est fuerant. Umbrosum errorem, coniunctis; eminet humano calidis, situs, | ||
> reseratis nunc maesta deae, Hectoris, victor. Sceleris qui vino astra cadat | ||
> errat nimium tributum, ut cacumina repercusso. Tela similis adversaque *toto | ||
> plura* superat tempore tenui fuit lympha iussae. Traxit fulminibus glaciali | ||
> studio, esses saepibus, et *e puerum*. | ||
Serae da cursus mecum cursus cognosci et adhaesit tantique, funera exstinctos | ||
Curetas tenuit! Hos nec inferna; multas alto arduus, undas utimur! *Veniunt ubi | ||
Threicio* sacra in lacrimas cortice procorum, pecus? Proserpina rector levati; | ||
qui terra repetemus terra postquam opus *trahuntur* amplexa. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.