ripemd160(3trf)


NAME

   ripemd-160 - Message digest "ripemd-160"

SYNOPSIS

   package require Tcl  ?8.2?

   package require Trf  ?2.1.3?

   ripemd-160 ?options...? ?data?

DESCRIPTION

   The  command  ripemd-160  is one of several message digests provided by
   the package trf. See trf-intro for an overview of the whole package.

   ripemd-160 ?options...? ?data?
          The options listed below are understood by  the  digest  if  and
          only  if  the  digest  is  attached  to  a channel.  See section
          IMMEDIATE  versus  ATTACHED  for  an  explanation  of  the  term
          attached.

          -mode absorb|write|transparent
                 This  option  has  to  be present. The specified argument
                 determines the behaviour of the digest in attached mode.

                 Beyond  the  argument  values  listed  above  all  unique
                 abbreviations   are  recognized  too.  Their  meaning  is
                 explained below:

                 absorb All  data  written  to  the  channel  is  used  to
                        calculate the value of the message digest and then
                        passed unchanged to the next level in the stack of
                        transformations  for  the  channel  the  digest is
                        attached to.   When  the  channel  is  closed  the
                        completed  digest  is written out too, essentially
                        attaching the  vlaue  of  the  diggest  after  the
                        information actually written to the channel.

                        When  reading  from  the  channel  a value for the
                        digest is computed too, and after closing  of  the
                        channel compared to the digest which was attached,
                        i.e. came behind  the  actual  data.   The  option
                        -matchflag  has to be specified so that the digest
                        knows  where  to  store   the   result   of   said
                        comparison.  This  result  is  a string and either
                        "ok", or "failed".

                 write  All data read from or written to the  channel  the
                        digest  is attached to is ignored and thrown away.
                        Only a  value  for  the  digest  of  the  data  is
                        computed.  When the channel is closed the computed
                        values are stored as ordered through  the  options
                        -write-destination,       -write-type,      -read-
                        destination, and -read-type.

                 transparent
                        This mode is a mixture of both  absorb  and  write
                        modes.  As  for  absorb all data, read or written,
                        passes through the digest unchanged. The generated
                        values  for  the digest however are handled in the
                        same way as for write.

          -matchflag varname
                 This option can be used if and only if the option  "-mode
                 absorb" is present. In that situation the argument is the
                 name of a global or namespaced variable. The digest  will
                 write the result of comparing two digest values into this
                 variable. The option will be ignored if  the  channel  is
                 write-only,  because  in  that  case  there  will  be  no
                 comparison of digest values.

          -write-type variable|channel
                 This option can be used for  digests  in  mode  write  or
                 transparent.  Beyond  the  values  listed above all their
                 unique abbreviations are also allowed as argument values.
                 The  option determines the type of the argument to option
                 -write-destination. It defaults to variable.

          -read-type variable|channel
                 Like  option   -write-type,   but   for   option   -read-
                 destination.

          -write-destination data
                 This  option  can  be  used  for digests in mode write or
                 transparent.  The value data is  either  the  name  of  a
                 global  (or  namespaced)  variable  or  the  handle  of a
                 writable  channel,  dependent  on  the  value  of  option
                 -write-type. The message digest computed for data written
                 to the attached channel is  written  into  it  after  the
                 attached  channel  was  closed.  The option is ignored if
                 the channel is read-only.

                 Note that using a variable may  yield  incorrect  results
                 under tcl 7.6, due to embedded \0's.

          -read-destination data
                 This  option  can  be  used  for digests in mode write or
                 transparent.  The value data is  either  the  name  of  a
                 global  (or  namespaced)  variable  or  the  handle  of a
                 writable channel, dependent on the value of option -read-
                 type.  The message digest computed for data read from the
                 attached channel is written into it  after  the  attached
                 channel was closed.  The option is ignored if the channel
                 is write-only.

                 Note that using a variable may  yield  incorrect  results
                 under tcl 7.6, due to embedded \0's.

   The  options listed below are always understood by the digest, attached
   versus immediate does not matter. See section IMMEDIATE versus ATTACHED
   for explanations of these two terms.

          -attach channel
                 The  presence/absence  of this option determines the main
                 operation mode of the transformation.

                 If present the transformation will be  stacked  onto  the
                 channel  whose  handle was given to the option and run in
                 attached mode.  More  about  this  in  section  IMMEDIATE
                 versus ATTACHED.

                 If  the  option  is  absent the transformation is used in
                 immediate  mode  and  the  options   listed   below   are
                 recognized.  More  about this in section IMMEDIATE versus
                 ATTACHED.

          -in channel
                 This options is legal if and only if  the  transformation
                 is  used in immediate mode. It provides the handle of the
                 channel the data to transform has to be read from.

                 If the transformation  is  in  immediate  mode  and  this
                 option is absent the data to transform is expected as the
                 last argument to the transformation.

          -out channel
                 This options is legal if and only if  the  transformation
                 is  used in immediate mode. It provides the handle of the
                 channel the generated transformation  result  is  written
                 to.

                 If  the  transformation  is  in  immediate  mode and this
                 option is absent the generated data is  returned  as  the
                 result of the command itself.

NOTES

   See    http://www.esat.kuleuven.ac.be/%7Ebosselae/ripemd160.html    for
   additional information.

IMMEDIATE VERSUS ATTACHED

   The transformation distinguishes between two main  ways  of  using  it.
   These are the immediate and attached operation modes.

   For  the  attached  mode  the  option  -attach is used to associate the
   transformation with an existing channel. During the  execution  of  the
   command  no transformation is performed, instead the channel is changed
   in such a way, that from then on all data written to or  read  from  it
   passes  through  the  transformation and is modified by it according to
   the definition above.  This attachment can be revoked by executing  the
   command unstack for the chosen channel. This is the only way to do this
   at the Tcl level.

   In the second mode, which can be detected  by  the  absence  of  option
   -attach,  the  transformation  immediately  takes  data from either its
   commandline or a channel, transforms it, and returns the result  either
   as  result  of  the  command, or writes it into a channel.  The mode is
   named after the immediate nature of its execution.

   Where the data is taken from, and delivered  to,  is  governed  by  the
   presence  and  absence of the options -in and -out.  It should be noted
   that this ability to immediately read from and/or write to a channel is
   an  historic  artifact  which  was introduced at the beginning of Trf's
   life when Tcl version 7.6 was current as this and earlier versions have
   trouble  to  deal  with  \0  characters  embedded  into either input or
   output.

SEE ALSO

   adler, crc, crc-zlib, haval, md2, md5, md5_otp, ripemd-128, ripemd-160,
   sha, sha1, sha1_otp, trf-intro

KEYWORDS

   authentication, hash, hashing, mac, message digest, ripemd, ripemd-160

COPYRIGHT

   Copyright (c) 1996-2003, Andreas Kupries <andreas_kupries@users.sourceforge.net>





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.