当前位置: 首页 > wzjs >正文

做文案应该关注的网站推荐网站建设方案内容

做文案应该关注的网站推荐,网站建设方案内容,wordpress文章相关插件,南昌百度推广公司接下来我们将讨论目前大多数计算机和硬件基础设施所使用的最重要的加密算法,例如高级加密标准(AES)、里弗斯特-沙米尔-阿德曼算法(RSA)、椭圆曲线加密(ECC)、基于格的加密、(环&…

接下来我们将讨论目前大多数计算机和硬件基础设施所使用的最重要的加密算法,例如高级加密标准(AES)、里弗斯特-沙米尔-阿德曼算法(RSA)、椭圆曲线加密(ECC)、基于格的加密、(环)带错学习、同态加密。

2.2.3.1 高级加密标准 Advanced Encryption Standard(AES)
现代密码学围绕高级加密标准(AES)构建,在数字安全至关重要的时代,它至关重要。AES 旨在取代过时的数据加密标准(DES),如今已成为金融、电信和政府等多个行业数据加密的行业标准。

美国国家标准与技术研究院(NIST)于 2001 年创建了高级加密标准(AES),这是经过全面且竞争激烈的筛选程序的结果。由于数据加密标准(DES)存在弱点,主要是其 56 位的密钥长度相对较小,使其容易受到暴力破解攻击,因此需要一个新的加密标准。1997 年,NIST 发布了新加密标准的征集令,收到了来自世界各地的 15 份响应。比利时密码学家文森特·里杰门(Vincent Rijmen)和琼·达曼(Joan Daemen)创建的 Rijndael 算法经过全面评估后被选中,并被命名为高级加密标准(AES)。

由于 AES 使用对称密钥进行加密,因此加密和解密都需要同一个密钥。它支持 128 位、192 位和 256 位的密钥大小,为抵御可能的入侵提供了强大的保护。AES 的运作基于状态,即一个 4×4 列优先顺序的字节矩阵。该方法通过多轮处理将明文转换为密文,每轮处理都需要若干步骤。


AES 的主要步骤包括:

• 字节替换(SubBytes)。为了使密码具有非线性,使用一个替换盒(S 盒)将状态矩阵中的每个字节替换为不同的字节。

• 行移位(ShiftRows)。通过循环移位状态矩阵的行来实现密码中的扩散。

• 列混合(MixColumns)。为了进一步提高扩散性,通过线性变换将状态矩阵的列组合起来。

• 轮密钥加(AddRoundKey)。使用按位异或将状态矩阵与从主密钥中获得的轮密钥组合起来。

对于 128 位密钥,AES 算法有 10 轮;对于 192 位密钥,有 12 轮;对于 256 位密钥,有 14 轮。轮数随密钥大小而变化。将这两个过程结合起来,保证了 AES 具有强大的安全性和抵御各种加密攻击的能力。

由于其有效性和安全性,AES 经常被用于许多不同的应用中。它是 SSL/TLS 等安全通信协议的组成部分,这些协议保证了互联网上传输的数据的完整性和保密性,并构成了互联网安全的基础。

AES 还用于虚拟专用网络(VPN)中。虚拟专用网络(VPN)用于保护在互联网上远程站点之间传输的数据。高级加密标准(AES)在金融行业中用于保护信用卡处理和网上银行等系统中的敏感数据和交易。

Py示例代码,采用CBC模式和PKCS7填充方案(仅供学习参考):

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.primitives import padding
from cryptography.hazmat.backends import default_backend
import osdef aes_encrypt(plaintext: bytes, key: bytes) -> tuple:"""AES加密(CBC模式)"""# 生成随机初始化向量(IV)iv = os.urandom(16)# 设置加密器cipher = Cipher(algorithms.AES(key),modes.CBC(iv),backend=default_backend())encryptor = cipher.encryptor()# 应用PKCS7填充padder = padding.PKCS7(128).padder()padded_data = padder.update(plaintext) + padder.finalize()# 加密数据ciphertext = encryptor.update(padded_data) + encryptor.finalize()return ciphertext, ivdef aes_decrypt(ciphertext: bytes, key: bytes, iv: bytes) -> bytes:"""AES解密(CBC模式)"""# 设置解密器cipher = Cipher(algorithms.AES(key),modes.CBC(iv),backend=default_backend())decryptor = cipher.decryptor()# 解密数据padded_plaintext = decryptor.update(ciphertext) + decryptor.finalize()# 移除PKCS7填充unpadder = padding.PKCS7(128).unpadder()plaintext = unpadder.update(padded_plaintext) + unpadder.finalize()return plaintext# 示例用法
if __name__ == "__main__":# 生成32字节(256位)密钥 - 支持128/192/256位secret_key = os.urandom(32)original_message = b"Hello, Advanced Encryption Standard!"print("原始消息:", original_message.decode())# 加密encrypted_data, iv = aes_encrypt(original_message, secret_key)print("加密结果 (HEX):", encrypted_data.hex())# 解密decrypted_data = aes_decrypt(encrypted_data, secret_key, iv)print("解密消息:", decrypted_data.decode())

运行结果:
在这里插入图片描述

关键步骤

1、模逆计算修正:

行列式先转换为正数:det = det % mod

明确验证行列式是否可逆:if np.gcd(det, mod) != 1

正确计算伴随矩阵的符号:[[d, -b], [-c, a]]

2、数据类型强化:

密钥矩阵指定为整数类型:dtype=int

块操作后明确转换为列表:tolist()

3、验证结果:
加密"HELLOWOR"(数字序列:[7,4,11,11,14,22,14,17])

分块加密:

[7,4] × [[7,8],[11,11]] = [77+411, 78+411] = [93, 100] → [93%26=15(H), 100%26=22(W)]

[11,11] → [117+1111, 118+1111] = [198, 209] → [198%26=16(Q), 209%26=1(B)]

正确处理负数和模运算,确保加密/解密过程正确。

http://www.dtcms.com/wzjs/474429.html

相关文章:

  • 石狮建设银行网站百度搜索排行榜前十名
  • 做书评的网站有哪些抖音关键词排名查询
  • 建设局和住建局是一个部门吗搜索引擎优化实训心得
  • 帮别人做网站服务器站长统计官网
  • 阿甘网站建设网址之家大全
  • 广州一网通办注册公司流程鹤壁网站seo
  • 积极加强网站建设nba最新消息球员交易
  • 做餐饮网站建设微博关键词排名优化
  • 全国招聘网站排名百度推广服务费3000元
  • 定制网站开发技术百度推广平台收费标准
  • cms监控软件电脑版官方下载网站seo标题是什么意思
  • wordpress 屏蔽ftp网奇seo赚钱培训
  • 做网站必须要购买域名游戏app拉新平台
  • 胶州企业网站建设长沙互联网推广公司
  • 网站域名申请之后如何做网站十大培训机构教育培训机构哪家好
  • 免费网站站长推广拉新任务的平台
  • 秦皇岛做网站优化公司腾讯网网站网址
  • 重庆seo代理价格简单网站建设优化推广
  • 营销型网站建设公司易网拓企业网站营销
  • 所有网页游戏网址如何做网站优化
  • 如何做好网站内容优化北京网站sem、seo
  • 关于公司网站改版通知百度一下首页极简版
  • 电子商务书城网站建设方案他达那非副作用太强了
  • wordpress 移除侧边栏哈尔滨seo网络推广
  • 婴儿衣服做的网站好大数据营销的案例
  • 小说网站快速做排名网络营销主要做些什么
  • 专用主机网站建设外包公司的优势和劣势
  • 高新手机网站建设价格怎么线上推广自己的产品
  • 建网站联系站长之家素材
  • 网站怎么做淘宝客推广软件赚钱