配置一键博客备份并上传
本文介绍了hexo博客,如何一键备份到仓库并上传 hexo是只把生成好的页面上传,这就导致了不可逆。也就是说原文没有,就恢复不了了,所以配置了一下git保存。这样算下来就一共六条指令了,很费劲,然后写了个一键运行 原理上挺简单的,不过真正实践起来有些bug,好在最终优雅的实现了 由于我的博客有些是需要加锁的,所以不能上传到同一博客的不同分支,索性直接创建一个新的私有仓库来保存源文件 然后把新仓库的git文件,放在原来的博客里 然后进行测试,发现hexo g出现报错,经查验是因为themes里面也有一个.git文件;这个文件对咱们用途不大(应该说是基本用不到),所以可以直接删掉 然后测试一下git和hexo,不出意外可以正常运行了 下面写一个一键运行脚本,拓展名是.sh,具体代码如下: 1234567891011121314#!/bin/bashhexo cleangit add .git commit -m "Update blog content"git pushhexo generate #最后generate可以节约流量hexo deployif...
katz密码学教材v3阅读笔记
本篇笔记用于记录阅读 introduction to modern cryptography (3rd Edition) 一书的阅读 重点在于公钥密码部分 本文尽量通俗讲解,但是不能代替阅读原著 目录第一章介绍了一些引入,包括公钥加密,历史和现代密码学设计原则 第二章介绍了一些完美加密,也算引入部分(还有信息论的香农定理,很前段时间读论文在[OB22]遇到了) 以上是第一部分,用于引入 第三章介绍了对称加密,然后我打算跳了~ 第四章讲消息认证码MAC(等我有钱了也要买MAC(不是这个mac)) 第五章讲CCA安全,CCA也就是选择明文攻击 第六章讲哈希函数,目录看起来是区块链的基础(有默克尔树之类的) 第七章讲流密码之类的~不懂,后面再看看 第八章是...
Beaver三元组用于乘法共享
Beaver 三元组(Beaver triples)是安全多方计算(MPC)中一个超级聪明、实用的技巧,用来安全地做乘法 通俗类比:就好像你和朋友要乘两个私密数字,但你们提前准备了一个万能“乘法模板”,可以安全又正确地偷偷算出结果。 Motivation在安全多方计算里: 加法很容易做:每个人把自己数据碎片加一下就行。 但乘法就麻烦了,因为: 两个秘密数的乘积不能直接从碎片算 又不能暴露真实数值 所以需要巧妙地”绕过去“ Beaver 三元组应运而生 DefinationBeaver 三元组表示为: (a, b, c) \quad \text{where} \quad c = a \cdot b 所有参与方各自拿到这些数的“碎片”,但不知道完整的值。 它跟我们真正要计算的 $x \cdot y$ 没有关系,只是一个通用的乘法工具。 Algorithm假设两位参与方想计算: x \cdot y但每人都只知道自己的秘密($x$ 或 $y$),又不想泄露给别人。 步骤如下: 每人拿到 $x$ 和 $y$ 的秘密共享,还有一个 Beaver 三元组 $(a,...
PCS简要介绍
之前听师兄讲PCS(多项式承诺方案),听不懂一点,甚至有一次差点睡着(bushi 今天看Siniel,又遇到PCS了,故而通俗理解记录一下,也没时间看相关论文了~浅学一下,够用即可~~ Motivation:证明者有一个多项式 $p()$,验证者指定一个数 $z$ 来验证,通过承诺确保原多项式不会改变 这里,我们介绍 KZG。更具体的: KZG 方案是基于双线性对(bilinear pairing)和加法同态加密(homomorphic encryption)的密码学技术。它允许一个发送方承诺(commit)一个多项式,并稍后提供证明(proof),以便验证者确认多项式在某个点的值是否正确。 前置知识:双线性映射 设 $G_1,G_2$ 是两个循环群,阶为素数 $p$ 设 $e:G_1\times G_2\rightarrow G_T$,满足 $e(g^a,h^b)=e(g,h)^{ab}$ 对所有 $a,b\in\mathbb{Z}_p$ 成立,其中 $g,h$ 是群 $G_1$ 和 $G_2$ 的生成元 KGC的四个步骤:(对应图二) Setup(设置):...
rust study
本文记录了rust的学习 环境搭建vscode配置rust环境 vscode内配置快速打开Terminal,绑定openInIntegratedTerminal即可 然后下载rust依赖 因为我们都是喜家家糕守(电脑里有cpp环境),所以可以管理员运行下载这个东东即可 (没有cpp的环境我就不管了(光速逃)) 然后一路回车 安装好后,cmd里输入rustup --version & rustc --version & cargo --version测试安装成功 然后打开vscode,下载相关依赖 1234567RustRust-analyzerCodeLLDBcratesRust SyntaxRust Test LensEven Better TOML(Better TOML已弃用) 后面就可以正常使用了 新建项目 cargo new hellowrold 打开项目 cd .\helloworld\(TAB键补全) 运行项目 cargo run
窝补药橙味算法竞赛掉大分糕守
2025年2月21日周五晚这场牛客,掉大分了 A题快速切出来,后面就开始坐牢了(还好记得开ll了) B题憋了半天,感觉要开不止一对堆,然后一看榜C出的人多,就去看C了 然后C挂了两发,和21年csp-s差点ce的原因一样( 当时是数组开到N,但是i也遍历到N 这次学聪明了,数据开到N+10,然后扫到N;结果忘了后面用到i+1了 然后挂了两发才发现 B题就有意思了,开了四个堆最终,调了好半天过样例了,结果一直WA 赛后找评论区的hack数据也找不出一点问题 最终对拍了下下,记录最大值的初始值是0,但是最大值有可能是负数··· 最终成绩 虽然没掉大分,不过这场也打得挺抽象的
量子安全的概念
昨天组会,导师跟我说量子安全和后量子安全不是同一个东西,我此前一直将他们混为一谈,故今日作以区分 量子安全:指加密方法在量子计算机下仍保持安全。 反量子安全:通过增强现有算法对抗量子计算机的能力,通常是过渡性措施。 后量子安全:指完全为抵抗量子计算机的攻击而设计的新的加密算法。 UPD250910 上述内容并非完全正确,今天看了一个构造,通过量子计算机去优化一个ai算法,于是我想到 1后量子密码学是用传统计算机加密,量子计算机无法解密,但是效率低下;有没有用量子计算机加密的密码学 后面得到答案 首先,反量子这个词并不正式,故而很少见 量子密码学 (Quantum Cryptography) 定义:利用量子物理规律(如叠加态、测不准原理、不可克隆定理)来实现安全通信。 代表:量子密钥分发(QKD, BB84 协议)。 特点: 安全性基于物理定律,而不是数学难题。 窃听会留下“痕迹”,因此可以检测。 需要量子信道(光纤或自由空间),成本和距离受限。 后量子密码学 (Post-Quantum Cryptography, PQC) 定义:运行在 传统计算机...
二元不等式串引发的思考
...
牛客寒假2025题解
本文用于记录牛客寒假赛的六场比赛的赛时解题和赛后补题 笔者水平:CF绿上蓝下 第一场 打红温了,头一次连打五个小时~ 题本身不难,就是实现上遇到比较多的障碍 A题签到题,如果没有1就输出1e9+7即可 D题也是直接模拟即可 G题排序后计算a[i]-i,就是每个点需要操作的次数了 B题一开始以为是有向图浪费了很多时间,树存在简单路径的充要条件是它是链 M题也属于思路很简单但是写起来比较困难的题 就拓扑排序一下,然后逐步拓展,取最优解即可 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include<iostream>#include<algorithm>#define int long longusing namespace std;const int N = 1e5;int n , a[N+10];struct...