File: des.timing

package info (click to toggle)
tcllib 1.8-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 13,628 kB
  • ctags: 4,897
  • sloc: tcl: 88,012; sh: 7,856; ansic: 4,174; xml: 1,765; yacc: 753; perl: 84; f90: 84; makefile: 60; python: 33; ruby: 13; php: 11
file content (48 lines) | stat: -rw-r--r-- 1,661 bytes parent folder | download
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
# timing.tcl - Copyright (C) 2005 Pat Thoyts <patthoyts@users.sourceforge.net>
#
# $Id: des.timing,v 1.2 2005/09/26 09:16:59 patthoyts Exp $

package forget tclDES
catch {namespace delete ::des}
set desfile [file join [file dirname [info script]] tcldes.tcl]
#set desfile /opt/tcl/src/TclDES/source/des.tcl
if {[catch {source $desfile} msg]} {
    puts "skipped [file tail [info script]]: $msg"
}
package forget des
catch {namespace delete ::DES}
if {[catch {source [file join [file dirname [info script]] des.tcl]} msg]} {
    puts "skipped [file tail [info script]]: $msg"
}

puts "- des [package provide des] (TclDES [package provide tclDES])"

 
set k [binary format H* FEDCBA9876543210]
set i [binary format H* 0000000000000000]
set p [binary format H* 0123456789ABCDEF0123456789ABCDEF]]
set c [binary format H* ED39D950FA74BCC4ED39D950FA74BCC4]

puts "des enc [time {DES::des -mode ecb -dir enc -key $k -iv $i $p} 200]"
puts "des dec [time {DES::des -mode ecb -dir dec -key $k -iv $i $c} 200]"

set key [DES::Init ecb $k $i]
puts "des core enc [time {DES::Encrypt $key $p} 500]"
puts "des core dec [time {DES::Decrypt $key $c} 500]"
DES::Final $key

if {[llength [package provide tclDES]] != 0} {
    set k [binary format H* FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210]
    
    puts "3des enc [time {DES::des -mode ecb -dir enc -key $k -iv $i $p} 200]"
    puts "3des dec [time {DES::des -mode ecb -dir dec -key $k -iv $i $c} 200]"
    
    set key [DES::Init ecb $k $i]
    puts "3des core enc [time {DES::Encrypt $key $p} 500]"
    puts "3des core dec [time {DES::Decrypt $key $c} 500]"
    DES::Final $key
}

# Local variables:
# mode: tcl
# End: