1 {*******************************************************} 2 {FDL Declarations} 3 {Examiner Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039} 4 {Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.} 5 {*******************************************************} 6 7 8 {DATE : 29-NOV-2010 14:30:20.17} 9 10 {function RMD.Hash} 11 12 13title function hash; 14 15 function round__(real) : integer; 16 type interfaces__unsigned_32 = integer; 17 type block_index = integer; 18 type message_index = integer; 19 type chain = record 20 h0 : integer; 21 h1 : integer; 22 h2 : integer; 23 h3 : integer; 24 h4 : integer 25 end; 26 type block = array [integer] of integer; 27 type message = array [integer] of block; 28 const ca_init : integer = pending; 29 const cb_init : integer = pending; 30 const cc_init : integer = pending; 31 const cd_init : integer = pending; 32 const ce_init : integer = pending; 33 const message_index__base__first : integer = pending; 34 const message_index__base__last : integer = pending; 35 const block_index__base__first : integer = pending; 36 const block_index__base__last : integer = pending; 37 const word__base__first : integer = pending; 38 const word__base__last : integer = pending; 39 const interfaces__unsigned_32__base__first : integer = pending; 40 const interfaces__unsigned_32__base__last : integer = pending; 41 const x__index__subtype__1__first : integer = pending; 42 const x__index__subtype__1__last : integer = pending; 43 const message_index__first : integer = pending; 44 const message_index__last : integer = pending; 45 const message_index__size : integer = pending; 46 const block_index__first : integer = pending; 47 const block_index__last : integer = pending; 48 const block_index__size : integer = pending; 49 const chain__size : integer = pending; 50 const word__first : integer = pending; 51 const word__last : integer = pending; 52 const word__modulus : integer = pending; 53 const word__size : integer = pending; 54 const interfaces__unsigned_32__first : integer = pending; 55 const interfaces__unsigned_32__last : integer = pending; 56 const interfaces__unsigned_32__modulus : integer = pending; 57 const interfaces__unsigned_32__size : integer = pending; 58 var x : message; 59 var ca : integer; 60 var cb : integer; 61 var cc : integer; 62 var cd : integer; 63 var ce : integer; 64 var loop__1__i : integer; 65 function rmd_hash(message, integer) : chain; 66 function round_spec(chain, block) : chain; 67 function rounds(chain, integer, message) : chain; 68 var ce__1 : integer; 69 var cd__1 : integer; 70 var cc__1 : integer; 71 var cb__1 : integer; 72 var ca__1 : integer; 73 74end; 75