File: PKG-INFO

package info (click to toggle)
pysha3 1.0.2-4.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 1,808 kB
  • sloc: ansic: 2,635; python: 467; pascal: 243; makefile: 47; sh: 16
file content (247 lines) | stat: -rw-r--r-- 8,489 bytes parent folder | download | duplicates (4)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
Metadata-Version: 1.1
Name: pysha3
Version: 1.0.2
Summary: SHA-3 (Keccak) for Python 2.7 - 3.5
Home-page: https://github.com/tiran/pysha3
Author: Christian Heimes
Author-email: christian@python.org
License: PSFL (Keccak: CC0 1.0 Universal)
Description: ======
        pysha3
        ======
        
        SHA-3 wrapper (keccak) for Python. The package is a wrapper around the
        optimized Keccak Code Package, https://github.com/gvanas/KeccakCodePackage .
        
        The module is a standalone version of my SHA-3 module from Python 3.6
        (currently under development). The code in sha3module.c has been modified to
        be compatible with Python 2.7 to 3.5. Python 2.6 and earlier are not
        supported.
        
        
        Updates since pysha 0.3
        =======================
        
        **pysha3 1.0 is not compatible with pysha3 0.3!**
        
        pysha3 < 1.0 used the old Keccak implementation. During the finalization of
        SHA3, NIST changed the delimiter suffix from 0x01 to 0x06. The Keccak sponge
        function stayed the same. pysha3 1.0 provides the previous Keccak hash, too.
        
        
        Platforms
        =========
        
        pysha3 has been successfully tested on several platforms:
        
         - Linux (GCC, clang) on X86, X86_64 and ARMv6 (little endian)
         - Windows (VS 2008, VS 2010, VS2015) on X86 and X86_64
        
        
        Usage
        =====
        
        The `sha3` module contains several constructors for hash objects with a
        PEP 247 compatible interface. The module provides SHA3, SHAKE and Keccak:
        
        * `sha3_228()`, `sha3_256()`, `sha3_384()`, and `sha3_512()`
        * `shake_128()`, `shake_256()`
        * `keccak_228()`, `keccak_256()`, `keccak_384()`, and `keccak_512()`
        
        The `sha3` module monkey patches the `hashlib` module . The monkey patch is
        automatically activated with the first import of the `sha3` module. The
        `hashlib` module of Python 3.6 will support the four SHA-3 algorithms and
        the two SHAKE algorithms on all platforms. Therefore you shouldn't use the
        sha3 module directly and rather go through the `hashlib` interface::
        
          >>> import sys
          >>> import hashlib
          >>> if sys.version_info < (3, 6):
          ...    import sha3
          >>> s = hashlib.sha3_512()
          >>> s.name
          'sha3_512'
          >>> s.digest_size
          64
          >>> s.update(b"data")
          >>> s.hexdigest()
          'ceca4daf960c2bbfb4a9edaca9b8137a801b65bae377e0f534ef9141c8684c0fedc1768d1afde9766572846c42b935f61177eaf97d355fa8dc2bca3fecfa754d'
        
          >>> s = hashlib.shake_256()
          >>> s.update(b"data")
          >>> s.hexdigest(4)
          'c73dbed8'
          >>> s.hexdigest(8)
          'c73dbed8527f5ae0'
          >>> s.hexdigest(16)
          'c73dbed8527f5ae0568679f30ecc5cb6'
        
          >>> import sha3
          >>> k = sha3.keccak_512()
          >>> k.update(b"data")
          >>> k.hexdigest()
          '1065aceeded3a5e4412e2187e919bffeadf815f5bd73d37fe00d384fe29f55f08462fdabe1007b993ce5b8119630e7db93101d9425d6e352e22ffe3dcb56b825'
        
        Changelog
        =========
        
        pysha3 1.0.2
        ------------
        
        *Release: 05-Feb-2017*
        
        - Rename internal C extension to _pysha3 to avoild conflict with Python 3.6'
          _sha3 extension.
        
        pysha3 1.0.1
        ------------
        
        *Release: 24-Jan-2017*
        
        - Fix github.org -> github.com (Pi Delport)
        
        - Fix endianness checks for Python 2 (William Grant)
        
        - Fix changelog, the Christmas release was 1.0.0, not 1.1.0
        
        pysha3 1.0.0
        ------------
        
        *Release date: 24-Dec-2016*
        
        - Synchronize with Python 3.6.0 release
        
        - Move all backport related additions to backport.inc
        
        - Fix flake8 violations
        
        
        pysha3 1.0b1
        ------------
        
        *Release date: 01-May-2016*
        
        - Update backend to use the latest Keccak Code Package. pysha3 now implements
          the official NIST standard. The old Keccak hashes are available with
          keccak prefix.
        
        - Add SHAKE support.
        
        - All sha3, shake and keccak variants are separate types instead of factory
          functions that return the same type.
        
        - Drop Python 2.6 and Python 3.0 to 3.3 support.
        
        - Fix typo that disabled threading optimization.
        
        - Add vector files for additional tests.
        
        - Add experimental HMAC support based on examples from
          http://wolfgang-ehrhardt.de/hmac-sha3-testvectors.html .
        
        - Test hashing of unaligned data.
        
        - Add ISO C11 memset_s() function as _Py_memset_s() in order to securely
          wipe memory that holds sensitive data. The page
          https://www.securecoding.cert.org/confluence/display/seccode/MSC06-C.+Be+aware+of+compiler+optimization+when+dealing+with+sensitive+data
          explains the motivation for memset_s().
        
        - Add tox support.
        
        - Add Travis and appveyor integration.
        
        - Add _capacity_bits, _rate_bits and _suffix attributes for diagnostic
          purposes.
        
        
        pysha3 0.3
        ----------
        
        *Release date: 14-Oct-2012*
        
        - Fix 64bit big endian support
        
        - Add workaround for alignment error on 64bit SPARC machine by using the opt32
          implementation.
        
        - block_size now returns NotImplemented to prevent users from using pysha3
          with the hmac module.
        
        
        pysha3 0.2.2
        ------------
        
        *Release date: 07-Oct-2012*
        
        - Re-add brg_endian.h to fix issue on Solaris (big endian platform)
        
        
        pysha3 0.2.1
        ------------
        
        *Release date: 06-Oct-2012*
        
        - Fix MANIFEST.in to include Makefile and tests.py
        
        - Add setup.py test command with hack for inplace builds
        
        - Enhance README.txt and fixed its markup
        
        
        pysha3 0.2
        ----------
        
        *Release date: 06-Oct-2012*
        
        - Change directory struct to use the same directory layout as Python 3.4.
        
        - Remove C++ comments from Keccak sources for ANSI C compatibility.
        
        - Declare all Keccak functions and globals as static to avoid name clashes.
        
        - Remove alias sha3() for sha3_512().
        
        - Add block_size attribute. Keccak has a internal sponge size of 1600 bits.
        
        - Release GIL around SHA3_update() calls.
        
        - Monkey patch the hashlib module to support, e.g. hashlib.sha3_512() and
          hashlib.new("sha3_512")
        
        - Release GIL around SHA3_update() when the data exceeds a certain size.
        
        - Fix build on platforms with an unsigned 64bit integer type (uint64_t). The
          module falls back to 32bit implementation of Keccak with interleave tables.
        
        
        pysha3 0.1
        ----------
        
        *Release date: 04-Oct-2012*
        
        - first release
        
        - based on KeccakReferenceAndOptimized-3.2.zip
        
        
Keywords: sha3 sha-3 keccak hash
Platform: POSIX
Platform: Windows
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Python Software Foundation License
Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: C
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Security :: Cryptography