#! /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() ;;