X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=blobdiff_plain;f=crypto%2Fcrypto.tct;h=b63f42740b56aca91c911bb5a8d9e58a4882db18;hp=fa9de22e34481a11d162fe9f7b6049712676b259;hb=ca8b96bf81245f21fe3906c71dc2994bfc5e516f;hpb=82f88c53ddb84e42c770c23feb9bb0ee18341188 diff --git a/crypto/crypto.tct b/crypto/crypto.tct index fa9de22..b63f427 100644 --- a/crypto/crypto.tct +++ b/crypto/crypto.tct @@ -1,26 +1,63 @@ -Table hbcrypto_SubCommand +# crypto - Tcl bindings for parts of the `nettle' crypto library +# Copyright 2006-2012 Ian Jackson +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +# 02110-1301, USA. + + +Table *hbcryptotoplevel TopLevel_Command + hbcrypto + dispatch(HBCrypto/_SubCommand, "hbcrypto subcommand") + +Table hbcrypto HBCrypto_SubCommand pad - op enum(PadOp, "hbytes pad subcommand") + op enum(PadOp/, "hbcrypto pad subcommand") v hbv blocksz obj - meth enum(PadMethodInfo, "pad method") + meth enum(PadMethodInfo/, "pad method") ... methargs blockcipher - op enum(BlockCipherOp, "op") + op enum(BlockCipherOp/, "op") ... obj hash - alg enum(HashAlgInfo, "hash alg") + alg enum(HashAlgInfo/, "hash alg") message hb => hb + hash-init + alg enum(HashAlgInfo/, "hash alg") + => iddata(&cht_hash_states) + hash-update + stateh iddata(&cht_hash_states) + message hb + hash-final + stateh iddata(&cht_hash_states) + => hb + hash-discard + stateh iddata(&cht_hash_states) + hash-clonestate + stateh iddata(&cht_hash_states) + => iddata(&cht_hash_states) hmac - alg enum(HashAlgInfo, "hash alg for hmac") + alg enum(HashAlgInfo/, "hash alg for hmac") message hb key obj ?maclen obj => hb hash-prop - prop enum(HashAlgPropInfo, "prop") - alg enum(HashAlgInfo, "alg") + prop enum(HashAlgPropInfo/, "prop") + alg enum(HashAlgInfo/, "alg") => int Table padmethodinfo PadMethodInfo @@ -33,28 +70,28 @@ Table padmethodinfo PadMethodInfo Table blockcipherop BlockCipherOp e 1 v hbv - alg enum(BlockCipherAlgInfo, "alg") + alg enum(BlockCipherAlgInfo/, "alg") key obj - mode enum(BlockCipherModeInfo, "mode") + mode enum(BlockCipherModeInfo/, "mode") ?iv hb => hb d 0 v hbv - alg enum(BlockCipherAlgInfo, "alg") + alg enum(BlockCipherAlgInfo/, "alg") key obj - mode enum(BlockCipherModeInfo, "mode") + mode enum(BlockCipherModeInfo/, "mode") ?iv hb => hb mac -1 msg hb - alg enum(BlockCipherAlgInfo, "alg") + alg enum(BlockCipherAlgInfo/, "alg") key obj - mode enum(BlockCipherModeInfo, "mode") + mode enum(BlockCipherModeInfo/, "mode") iv hb => hb prop -1 - prop enum(BlockCipherPropInfo, "prop") - alg enum(BlockCipherAlgInfo, "alg") + prop enum(BlockCipherPropInfo/, "prop") + alg enum(BlockCipherAlgInfo/, "alg") => int EntryExtra BlockCipherOp