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
|
#! /bin/sh
# (*
exec ocaml "$0"
*) directory "..";;
#load "cryptgps.cma";;
open Crypt_3des;;
open Cryptsystem;;
open Cryptmodes;;
let k = prepare (set_parity "abcdefghijklmnopqrstuvwx");;
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_cfb64 k (0,0,0,0) 0 "12345678abcdefgh";;
print_string "Result 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()
;;
|