吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 386|回复: 2
收起左侧

[其他原创] 轻量级加密算法 Trivium、Grain v1、Grain128-AEAD

  [复制链接]
风之暇想 发表于 2026-1-23 18:25

轻量级加密算法 Trivium、Grain v1、Grain128-AEAD,适合级联使用。

部分代码

const GRAIN128_INIT=0;
const GRAIN128_ADDKEY=1;
const GRAIN128_NORMAL=2;
const grain128_lfsr_fb=(lfsr)=>{
return lfsr[96]^lfsr[81]^lfsr[70]^lfsr[38]^lfsr[7]^lfsr[0];
};
const grain128_nfsr_fb=(nfsr)=>{
return nfsr[96]^nfsr[91]^nfsr[56]^nfsr[26]^nfsr[0]^(nfsr[84]&nfsr[68])^(nfsr[67]&nfsr[3])^(nfsr[65]&nfsr[61])^(nfsr[59]&nfsr[27])^(nfsr[48]&nfsr[40])^(nfsr[18]&nfsr[17])^(nfsr[13]&nfsr[11])^(nfsr[82]&nfsr[78]&nfsr[70])^(nfsr[25]&nfsr[24]&nfsr[22])^(nfsr[95]&nfsr[93]&nfsr[92]&nfsr[88]);
};
const grain128_h=(lfsr,nfsr)=>{
const x0=nfsr[12];
const x1=lfsr[8];
const x2=lfsr[13];
const x3=lfsr[20];
const x4=nfsr[95];
const x5=lfsr[42];
const x6=lfsr[60];
const x7=lfsr[79];
const x8=lfsr[94];
return(x0&x1)^(x2&x3)^(x4&x5)^(x6&x7)^(x0&x4&x8);
};
const shiftRegister=(fsr,fb)=>{
const out=fsr[0];
for(let i=0;i<fsr.length-1;i++){
fsr[i]=fsr[i+1];
}
fsr[fsr.length-1]=fb;
return out;
};
const authShift64=(sr,fb)=>{
for(let i=0;i<sr.length-1;i++){
sr[i]=sr[i+1];
}
sr[sr.length-1]=fb;
};
const accumulate=(state)=>{
for(let i=0;i<64;i++){
state.auth_acc[i]^=state.auth_sr[i];
}
};
const grain128_next_z=(state,keybit=0,keybit64=0)=>{
const lfsr_fb=grain128_lfsr_fb(state.lfsr);
const nfsr_fb=grain128_nfsr_fb(state.nfsr);
const h_out=grain128_h(state.lfsr,state.nfsr);
const A=[2,15,36,45,64,73,89];
let nfsr_tmp=0;
for(let i=0;i<7;i++){
nfsr_tmp^=state.nfsr[A[i]];
}

算法规格

算法 密钥长度 IV长度 认证
Trivium 10字节 10字节
Grain v1 10字节 8字节
Grain128-AEAD 16字节 12字节

级联建议

  • 虽然可以自由组合,但建议使用同为128位安全的算法,并且最后一层加密使用带验证的算法
    • 明文 → Trivium → Grain128-AEAD → 密文
    • 明文 → Trivium → Ascon-AEAD128 → 密文
    • 明文 → Aes-128 → Grain128-AEAD → 密文
    • 明文 → Aes-128 → ChaCha12 → Ascon-AEAD128 → 密文

开源地址

https://github.com/fzxx/Trivium-Grain

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
lgc81034 + 1 谢谢@Thanks!
开心熊猫741 + 1 + 1 我很赞同!
寂寞知己 + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xinxiu 发表于 2026-1-23 18:44
第一次离版主那么近,但思维又离得那么远
尛龍 发表于 2026-1-23 22:44
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-1-24 04:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表