Overview
Comment: | natools-gnat_hmac-*: new packages instances of Natools.HMAC with NAT-provided hash functions |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
20773f86edc4fa1f4d0ec10c1cbde824 |
User & Date: | nat on 2014-04-05 17:08:53 |
Other Links: | manifest | tags |
Context
2014-04-06
| ||
17:01 | hmac_tests: fully-covering test suite for HMAC check-in: 29a0283a2f user: nat tags: trunk | |
2014-04-05
| ||
17:08 | natools-gnat_hmac-*: new packages instances of Natools.HMAC with NAT-provided hash functions check-in: 20773f86ed user: nat tags: trunk | |
2014-04-04
| ||
21:18 | hmac: new package providing a generic HMAC implementation using a formal hash function check-in: 0f22d2b71f user: nat tags: trunk | |
Changes
Added src/natools-gnat_hmac-md5.ads version [6c2d5c71c4].
> > > > > > > > > > > > > > > > > > > > > > > > > | 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 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with GNAT.MD5; with Natools.HMAC; package Natools.GNAT_HMAC.MD5 is new Natools.HMAC (Hash_Context => GNAT.MD5.Context, Initial_Context => GNAT.MD5.Initial_Context, Update => GNAT.MD5.Update, Digest => Natools.GNAT_HMAC.Digest, Block_Size_In_SE => 64); |
Added src/natools-gnat_hmac-sha1.ads version [45f71dfa08].
> > > > > > > > > > > > > > > > > > > > > > > > > | 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 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with GNAT.SHA1; with Natools.HMAC; package Natools.GNAT_HMAC.SHA1 is new Natools.HMAC (Hash_Context => GNAT.SHA1.Context, Initial_Context => GNAT.SHA1.Initial_Context, Update => GNAT.SHA1.Update, Digest => Natools.GNAT_HMAC.Digest, Block_Size_In_SE => 64); |
Added src/natools-gnat_hmac-sha256.ads version [ada05ac64f].
> > > > > > > > > > > > > > > > > > > > > > > > > | 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 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with GNAT.SHA256; with Natools.HMAC; package Natools.GNAT_HMAC.SHA256 is new Natools.HMAC (Hash_Context => GNAT.SHA256.Context, Initial_Context => GNAT.SHA256.Initial_Context, Update => GNAT.SHA256.Update, Digest => Natools.GNAT_HMAC.Digest, Block_Size_In_SE => 64); |
Added src/natools-gnat_hmac.adb version [325d978ed3].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 49 50 51 52 53 54 55 56 57 58 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ with Natools.S_Expressions.Encodings; package body Natools.GNAT_HMAC is ---------------------------- -- Generic Implementation -- ---------------------------- function Generic_Digest (C : Context) return Ada.Streams.Stream_Element_Array is begin return S_Expressions.Encodings.Decode_Hex (S_Expressions.To_Atom (Hex_Digest (C))); end Generic_Digest; --------------------------- -- Specialized Instances -- --------------------------- function MD5_Digest is new Generic_Digest (GNAT.MD5.Context, GNAT.MD5.Digest); function Digest (C : GNAT.MD5.Context) return Ada.Streams.Stream_Element_Array renames MD5_Digest; function SHA1_Digest is new Generic_Digest (GNAT.SHA1.Context, GNAT.SHA1.Digest); function Digest (C : GNAT.SHA1.Context) return Ada.Streams.Stream_Element_Array renames SHA1_Digest; function SHA256_Digest is new Generic_Digest (GNAT.SHA256.Context, GNAT.SHA256.Digest); function Digest (C : GNAT.SHA256.Context) return Ada.Streams.Stream_Element_Array renames SHA256_Digest; end Natools.GNAT_HMAC; |
Added src/natools-gnat_hmac.ads version [31db0c7535].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | ------------------------------------------------------------------------------ -- Copyright (c) 2014, Natacha Porté -- -- -- -- Permission to use, copy, modify, and distribute this software for any -- -- purpose with or without fee is hereby granted, provided that the above -- -- copyright notice and this permission notice appear in all copies. -- -- -- -- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -- -- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -- -- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -- -- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -- -- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -- -- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -- -- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Natools.GNAT_HMAC is a root for HMAC instances using hash functions -- -- provided by GNAT. Is also provides glue functions. -- ------------------------------------------------------------------------------ with Ada.Streams; with GNAT.MD5; with GNAT.SHA1; with GNAT.SHA256; package Natools.GNAT_HMAC is generic type Context is private; with function Hex_Digest (C : Context) return String; function Generic_Digest (C : Context) return Ada.Streams.Stream_Element_Array; function Digest (C : GNAT.MD5.Context) return Ada.Streams.Stream_Element_Array; function Digest (C : GNAT.SHA1.Context) return Ada.Streams.Stream_Element_Array; function Digest (C : GNAT.SHA256.Context) return Ada.Streams.Stream_Element_Array; end Natools.GNAT_HMAC; |