一种使用speck和hmac-sha256对相关数据进行认证加密的算法。

spectral-aead的Python项目详细描述


光谱AEAD

谱是对相关数据进行认证加密的算法; 它使用 SpeckCTR mode中 作为基础密码(具有128位块大小和128位密钥 尺寸)以及 HMAC-SHA256Encrypt-then-MAC中 建设。

这个包提供了经过测试的、性能良好的python 3cffi绑定到 谱的实现,包括 加密和解密。

安装

可以使用pip或包含的^{tt2}安装此包$ 脚本:

# Using pip
pip install spectral-aead

# Using setup.py
python setup.py install

用法

fromspectralimport*# Demonstration key, nonce, plaintext and associated datakey=b"\0"*spectral.KEY_SIZEnonce=b"\0"*spectral.NONCE_SIZEplaintext=b"\0"*16associated=b"\0"*16# Spectral simplified encryptionencrypted=encrypt(key,plaintext,associated)# Associated data is optional# Spectral simplified decryptioncomputed_plaintext=decrypt(key,encrypted,associated)# Raises RuntimeError if any parameter has been tampered withassertplaintext==computed_plaintext# Spectral disjoint encryptionciphertext,mac=encrypt_disjoint(key,nonce,plaintext,associated)# Associated data is optional# Spectral disjoint decryptioncomputed_plaintext=decrypt_disjoint(key,nonce,ciphertext,mac,associated)# Raises RuntimeError if any parameter has been tampered withassertplaintext==computed_plaintext

许可证

BSD 3-Clause License

Copyright (c) 2018, Phil Demetriou
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用EntityManager有没有更有效的习惯用法?   Android上的java Google应用程序引擎(GAE)响应代码和cookie   如何在Java中创建单元测试?   java从DB获取特定列的最新行   java替换所有悬空元字符   java使用Hibernate删除SQL表中的数据   swing显示JComponent对象Java   java在确认内容类型后如何将URL保存到文件?   javascript如何从段落中选择大量单词?(硒)   java在Linux上使用BundleEnableTiveCode不起作用   java使用日志似然性来比较不同的mallet主题模型?   java无法在Tomcat7上运行Spring Boot 2.0:“由于缺少ServletWebServerFactory bean,无法启动ServletWebServerApplicationContext。”   java有办法显式引用非静态内部类实例吗?   java如何使用Spring的NamedParameterJdbcTemplate在MySQL数据库中创建和删除表?