1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#! /bin/sh
# (*
exec ./top "$0"
*) directory "..";;
#load "cryptgps.cma";;
open Crypt_blowfish;;
open Cryptsystem;;
open Cryptmodes;;
let k = prepare "abcdefghijklmnop";;
let print s =
let l = String.length s in
for i = 0 to l/2-1 do
let j = 2*i in
print_char ' ';
print_int ((Char.code(s.[j]) lsl 8 ) lor (Char.code(s.[j+1])))
done
;;
let (x3,x2,x1,x0) = encrypt_ecb k (0x3132,0x3334,0x3536,0x3738);;
Printf.printf "Result ECB: %d %d %d %d\n" x3 x2 x1 x0;;
let (v, s) = encrypt_cbc k (0,0,0,0) "12345678abcdefgh";;
print_string "Result CBC:";
print s;
print_newline()
;;
let (v, s) = encrypt_cfb8 k (0,0,0,0) "12345678abcdefgh";;
print_string "Result CFB-8:";
print s;
print_newline()
;;
let (v, _, s) = encrypt_cfb64 k (0,0,0,0) 0 "12345678abcdefgh";;
print_string "Result CFB-64:";
print s;
print_newline()
;;
let (x3,x2,x1,x0) = decrypt_ecb k (0x3132,0x3334,0x3536,0x3738);;
Printf.printf "Result de-ECB: %d %d %d %d\n" x3 x2 x1 x0;;
let (v, s) = decrypt_cbc k (0,0,0,0) "12345678abcdefgh";;
print_string "Result de-CBC:";
print s;
print_newline()
;;
let (v, s) = decrypt_cfb8 k (0,0,0,0) "12345678abcdefgh";;
print_string "Result de-CFB-8:";
print s;
print_newline()
;;
let (v, _, s) = decrypt_cfb64 k (0,0,0,0) 0 "12345678abcdefgh";;
print_string "Result de-CFB-64:";
print s;
print_newline()
;;
let (v, _, s) = crypt_ofb k (0,0,0,0) 0 "12345678abcdefgh";;
print_string "Result OFB:";
print s;
print_newline()
;;
|