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

怎么样做一个自己的网站网站建设西安哪里好

怎么样做一个自己的网站,网站建设西安哪里好,做app+的模板下载网站,网站网站平台建设方案1. 引言 前序博客: ASCON:以“慢而稳”赢得NIST轻量级加密算法标准密码学中的AEAD(authenticated encryption with associated data) 对称密钥加密过去数年来已发生改变,具体为: 当今主要使用stream ciphers,因其比…

1. 引言

前序博客:

  • ASCON:以“慢而稳”赢得NIST轻量级加密算法标准
  • 密码学中的AEAD(authenticated encryption with associated data)

对称密钥加密过去数年来已发生改变,具体为:

  • 当今主要使用stream ciphers,因其比block ciphers要快得多。
  • 经常会使用AEAD(Authenticated Encryption with Additional Data)。
  • 在加密过程中常使用sponge函数,进而支持使用sponge函数来创建对称密钥和哈希函数。
  • Rust现在正在成为一种事实上的软件语言,它在编码方面提高了健壮性。

ASCON代码示例见:

  • ASCON AEAD - Light-weight cipher
  • https://github.com/usnistgov/Lightweight-Cryptography-Benchmarking(C)
  • https://github.com/meichlseder/pyascon/blob/master/ascon.py(Python)
  • https://github.com/itzmeanjan/ascon(C++)
  • https://github.com/NomanNasirMinhas/ASCON_Benchmark(Rust)
  • https://github.com/sebastinas/isap-aead(Rust)
  • https://github.com/neoilir/Simple-ascon-hash-implementation-rust(Rust)
  • https://github.com/sebastinas/ascon-aead(Rust)
  • https://github.com/IAIK/ascon_hardware(VHDL,硬件实现)
  • https://github.com/ascon/ascon-c(C和汇编)
  • https://github.com/ascon/ascon-hardware(Python和VHDL,硬件实现)
  • https://github.com/RustCrypto/sponges/tree/master/ascon(Rust)
  • https://github.com/RustCrypto/AEADs/tree/master/ascon-aead(Rust)

2. AEAD(Authenticated Encryption with Additional Data)

所谓对称密钥加密,是指使用相同的密钥来加解密:
在这里插入图片描述
但是这样的对称密钥加密存在重放攻击问题,如:

  • Bob用对称密钥加密了一条消息给Alice,Alice收到密文用相同的对称密钥解密后,获得“你明天可休假一天”,于是Alice第二天休假了。
  • 但是,Eve窃听了上述消息,在第二天将相同的密文再次发送给Alice,Alice解密后,第三天又休假了一天。
  • Bob会很奇怪,为啥Alice连休了2天假。

原因就在于Eve对密文进行了重放攻击。因此,需要将加密过程与某网络连接或session绑定,使得Eve无法重构相同的场景。

通过增强的加密方法,使得既可认证加密,也可证明其完整性。这被称为关联数据的身份验证加密(AEAD)。为此,提供额外的数据来认证加密过程,并可识别密文已被修改因其无法被加密:
在这里插入图片描述
大多数传统的AEA方法为创建一个nonce值,并添加认证但不加密的额外数据(Additional Data, AD)。额外数据AD可为:

addresses, ports, sequence numbers, protocol version numbers, and other fields that indicate how the plaintext or ciphertext should be handled, forwarded, or processed

这样就可将网络包与加密数据绑定,提供了完整性,使得入侵者无法复制粘贴其它通道的密文来形成攻击。如,若绑定包序号和端口号,使用另一序号或端口号将认证失败。

可以用于AEAD的主要方法是AES GCM、AES SIV、AES CCM、ChaCha20/Poly1305和AES OCB3。每一个都是流密码,避免了CBC和ECB的块方法模式。

3. 基于ASCON的AEAD

如以https://github.com/RustCrypto/sponges/tree/master/ascon(Rust)实现的AEAD为例:

cargo new arc

相应的cargo.toml文件为:

[package]
name = "arc"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]
ascon = "0.1.4"
rand="0.8.3"
hex="0.4.3"

相应的main.rs源代码为:

use ascon;
use rand::thread_rng;
use rand::Rng;
use hex::{self};
use std::env;fn get_random_key16() ->  [u8; 16]{let mut arr = [0u8; 16];thread_rng().try_fill(&mut arr[..]).expect("Ooops!");return arr;
}fn main() {let mut msg="hello";let mut aad1="test";let args: Vec<String> = env::args().collect();if args.len() >1 { msg = args[1].as_str();}if args.len() >2 { aad1 = args[2].as_str();}let randkey128=get_random_key16(); //为128字节let iv=get_random_key16(); //用作saltlet plaintext=msg.as_bytes();let aad=aad1.as_bytes();let (ciphertext,tag) = ascon::aead_encrypt(&randkey128, &iv, plaintext, aad); //tag也为128字节let pt=ascon::aead_decrypt(&randkey128, &iv,&ciphertext[..], &aad, &tag);let s = String::from_utf8(pt.unwrap()).expect("Found invalid UTF-8");println!("Message:\t{}\n",msg);println!("AAD:\t\t{}\n",aad1);println!("Key:\t\t{}\n",hex::encode(randkey128));println!("Cipher:\t\t{}\n",hex::encode(ciphertext));println!("Tag:\t\t{}\n",hex::encode(tag));println!("Decryped:\t{}", s);
}

运行结果为:

Message:        helloAAD:            testKey:            6680811197f36de07227b8f08ae31c33Cipher:         01e0d0d020Tag:            6e90b3a9790c28188172d5bd8041555dDecryped:       hello

参考资料

[1] Prof Bill Buchanan OBE 2023年9月博客 ASCON, Rust and AEAD: Is ASCON better than AES?

http://www.yayakq.cn/news/184506/

相关文章:

  • 电子商务网站的网络营销策略分析长沙有什么好玩的室内
  • 小馋网站建设书qq是用什么软件开发的
  • 百度只更新快照不收录网站网页设计需要什么技术
  • 网页制作网站沈阳妇科医生哪个好
  • 做用户名和密码网站页面如何看那个网站是那个公司做的
  • 做网站功能的框架结构图邢台哪儿专业做网站
  • 站外seo推广热点新闻事件及点评
  • 台州网站建设公司wordpress音频播放
  • 怎么样自己建设网站公司注册写10万还是50万好
  • 代理做减肥网站蚌埠市做家教网站
  • 宜昌需要做网站建设的公司在线推广是网站推广
  • 网站建设 问卷调查中国十大网络安全龙头
  • 看过的网站做记号建盏茶杯知识
  • 网站内容发布平台源码wordpress 4.4 下载
  • 密云石家庄网站建设谷歌优化
  • 百度建站多少钱wordpress关闭某个分类
  • 河北建设厅网站开通账号什么是营销
  • 温州做网站哪家比较好wordpress搜索功能性能
  • 什么是无主体新增网站建设网站域名备案查询
  • 广州网站推广多少钱网站产品推广
  • 荆州网站建设荆州如何建立和设计公司网站
  • 自己做的网站如何在网络上展示中文 wordpress 主题
  • 网站开发专业职业规划北京企业建站公司
  • 网站制作要多长时间外贸网站建站用什么意思
  • 网站建设柚子网络科技宜宾seo快速排名
  • 营销型网站开发指的是什么wordpress更新配置文件
  • 国外电商网站有哪些遵义县住房和城乡建设局网站
  • 安徽建设厅证书查询网网站淘宝详情页制作
  • 商城网站建设制作实名域名购买
  • WordPress禁用评论回收站WordPress网站404公益页面