avatar
文章
114
标签
533
分类
34

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Diffie-Hellman密钥交换算法
发表于2022-10-29|信息安全
简介 Diffie和Hellman在1976年发表的论文中提出了公钥密码思想,但没有给出具体的方案,原因在于没有找到单向函数,但在该文中给出了通信双方通过信息交换协商密钥的算法,即Diffie-Hellman密钥交换算法,这是第一个密钥协商算法,用于密钥分配,不能用于加密或解密信息。 算法描述 算法描述:Diffie-Hellman算法的安全性基于离散对数问题,设p是一个满足要求的大素数,并且g(0< g < p)是循环群Zp的生成元,g和p公开。 用户A选取一个大的随机数 α(2≤α≤p−2)α(2≤α≤p-2)α(2≤α≤p−2), 计算SA=gαmod p)S_A=g^α mod \space p)SA​=gαmod p), 并且把SAS_ASA​发送给用户B 用户B选取一个大随机数β(2≤β≤p−2)β(2≤β ≤p-2)β(2≤β≤p−2),计算SB=gβmod p),并且把S_B=g^β mod \space p),并且把SB​=gβmod p),并且把S_B$发送给用户A 用户A收到SBS_BSB​后,计算K=SBαmod pK={S_B}^α mo ...
RSA算法
发表于2022-10-28|信息安全
RSA算法简介 RSA密码算法是美国麻省理工学院的Rivest、Shamir和Adleman三位学者于1978年提出的。RSA密码算法方案是唯一被广泛接受并实现的通用公开密码算法,目前已经成为公钥密码的国际标准。它是第一个既能用于数据如密,也能通用数字签名的公开密钥密码算法。在Internet中,电子邮件收、发的加密和数字签名软件PGP就采用了RSA密码算法。 RSA的理论基础 RSA的理论基础是大整数因数分解的困难性质。 RSA加解密过程 密钥生成 选取两个大素数p,qp,qp,q 计算n=p⋅qn=p \cdot qn=p⋅q 计算欧拉函数 ϕ(n)=(p−1)⋅(q−1)\phi (n) = (p-1)\cdot(q-1)ϕ(n)=(p−1)⋅(q−1) 随机选取一个整数e(1<e<ϕ(n))e(1 < e < \phi(n))e(1<e<ϕ(n)),使满足gcd(e,ϕ(n))=1gcd(e,\phi(n))=1gcd(e,ϕ(n))=1 由扩展欧几里得算法计算d使得e⋅d mod ϕ(n)=1e \cdot d \space mo ...
积分推导中的双曲函数与三角函数的联系
发表于2022-10-22|数学
积分公式引发的思考 从积分公式中我们会发现以下有意思的情景 ∫11−x2dx=arcsinx+C1=−arccosx+C2\int \frac 1 {\sqrt{1-x^2}} dx = arcsinx+C_1= -arccosx+C_2 ∫1−x2​1​dx=arcsinx+C1​=−arccosx+C2​ ∫1x2+1dx=arcsinhx+C\int \frac 1 {\sqrt{x^2+1}} dx = arcsinhx+C ∫x2+1​1​dx=arcsinhx+C ∫1x2−1dx=x∣x∣arccosh∣x∣+C\int \frac 1 {\sqrt{x^2-1}} dx = \frac x {|x|} arccosh|x|+C ∫x2−1​1​dx=∣x∣x​arccosh∣x∣+C ∫11+x2dx=arctanx+C\int \frac 1 {1+x^2} dx = arctanx+C ∫1+x21​dx=arctanx+C ∫1x2−1dx=x∣x∣arctanhx+C\int \frac 1 {x^2-1} dx = \frac x {|x|} arctanh ...
积分公式数形结合辅助记忆
发表于2022-10-20|数学
以下公式仅用于辅助记忆,不可用于证明题,求积分公式本身的题目。 公式1 ∫a2−x2dx=x2a2−x2+a22arcsinxa+C\int \sqrt{a^{2}-x^{2}} d x = \frac x 2 \sqrt{a^2-x^2} + \frac{a^2}2 arcsin \frac x a + C ∫a2−x2​dx=2x​a2−x2​+2a2​arcsinax​+C 如图,函数y=a2−x2y=\sqrt{a^2-x^2}y=a2−x2​ 为上图的半圆,则原函数可表示为S=∫axa2−x2dxS=\int ^x _a \sqrt {a^2-x^2} dxS=∫ax​a2−x2​dx,不妨设a=0a=0a=0,x=xCx=x_{C}x=xC​,则SSS为如图阴影部分的面积。 阴影部分可拆分成两部分S1,S2S_1, S_2S1​,S2​, 三角形部分的S2S_2S2​可表示如下 S2=12xCyC=x2a2−x2S_2 = \frac 1 2 x_C y_C=\frac x 2 \sqrt{a^2-x^2} S2​=21​xC​yC​=2x​a2−x2​ 扇形部分的S1 ...
S-DES加密过程
发表于2022-09-26|信息安全
加密模型 输入输出 算法流程 密钥生成流程 已知10位的种子密钥k=(k0,k1,...,k9)k=(k_0,k_1,...,k_9)k=(k0​,k1​,...,k9​) 执行P10P10P10置换变换得到m1=P10(k)m_1=P10(k)m1​=P10(k) 5位一组分割成两组,每组内循环左移s位记作变换SLsSL_sSLs​,对m1m_1m1​进行5位一组分割的循环左移1位变换,得m2=SL1(m1)m_2=SL_1(m_1)m2​=SL1​(m1​) 执行10位变8位的P8置换变换得到k1=P8(m2)k_1=P8(m_2)k1​=P8(m2​) 对m2m_2m2​进行5位一组分割的循环左移2位变换,得m3=SL2(m2)m_3=SL_2(m_2)m3​=SL2​(m2​) 执行10位变8位的P8置换变换得到k2=P8(m3)k_2=P8(m_3)k2​=P8(m3​) 加密流程 先来看加密算法,已知明文ppp 对ppp执行初始变换IPIPIP得到IP(p)IP(p)IP(p) 对IP(p)IP(p)IP(p)执行依赖密钥k1k ...
Hill密码
发表于2022-09-13|信息安全
Hill密码 已知明文“Thank  you”,密钥为 K=[1203]K=\begin{bmatrix} 1 & 2\\ 0 & 3 \end{bmatrix} K=[10​23​] 加密公式为C=KmC=KmC=Km ,试用Hill密码算法进行加密,并求出K−1K^{-1}K−1,用你得到的密文进行解密验算。 手算过程 加密过程 将消息划分为m1,m2,…,m8 = t,h,…,u [c1c2]=K⋅[m1m2]=[1203]⋅[197]=[3321]mod 26=[721]=[hv]\begin{bmatrix} c_1 \\ c_2 \end{bmatrix} = K \cdot \begin{bmatrix} m_1 \\ m_2 \end{bmatrix} = \begin{bmatrix} 1 & 2\\ 0 & 3 \end{bmatrix} \cdot \begin{bmatrix} 19 \\ 7 \end{bmatrix} = \begin{bmatrix} 33 \\ 21 \end{bmatrix} mod \ ...
Vigenere密码
发表于2022-09-13|信息安全
Vigenere密码 设明文为“visit  beijing  tomorrow”,密钥为“enjoy”,试用Vigenere算法进行加密。 手动实现 a b c d e f g h i j 0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t 10 11 12 13 14 15 16 17 18 19 u v w x y z 20 21 22 23 24 25 c1 = (v+e) % 26 = (21+4) % 26 = 25 = z c2 = (i+n) % 26 = (8+13) % 26 = 21 = v 同理c = zvbwr onwhmap rszxfpsj 代码实现 1234567891011121314151617181920212223242526272829303132333435#include <iostream>using namespace std;char getTableElement(char a, char b) { a -= & ...
Playfair密码
发表于2022-09-13|信息安全
Playfair密码 Playfair密码出现于1854年,它将明文中的双字母组合作为一个单元对待,并将这些单元转换为密文双字母组合。Playfair密码基于一个字母矩阵,该矩阵使用一个关键词(密钥)来构造。 字母矩阵 其构造方法是:从左至右、从上至下依次填入关键词的字母(去除重复的字母),然后再以字母表顺序依次填入其他字母。字母I和J被算为一个字母(即J被当做I处理)。 如密钥为monarchy,则构造字母矩阵如下: 当密钥串有重复字符出现时,需要去重,否则矩阵将无法覆盖26个字母。 我们可以方便地实现字母矩阵的数据结构的代码如下, 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#include <iostream>#include <sstream>#include ...
密码学基本术语
发表于2022-09-13|信息安全
基本术语 (1)明文(Plaintext/Message):指待加密的信息,用P或M表示。明文可以是文本文件、图形、数字化存储的语音流或数字化的视频图像的比特流等。 (2)密文(Cipertext):指明文经过加密处理后的形式,用C表示。 (3)加密(Encryption):指用某种方法伪装消息以隐藏它的内容的过程。 (4)加密算法(Encryption Algorithm):指将明文变换为密文的变换函数,通常用E表示。 (5)解密(Decryption):指把密文转换成明文的过程。 (6)解密算法(Decryption Algorithm):指将密文变换为明文的变换函数,通常用D表示。 (7)密钥(Key):变换函数所用的一个控制参数。加密和解密算法的操作通常是在一组密钥控制下进行的,分别称为加密密钥和解密密钥,通常用K表示。 (8)密码分析(Cryptanalysis):指截获密文者试图通过分析截获的密文从而推断出原来的明文或密钥的过程。 (9)被动攻击(Passive Attack):指对一个保密系统采取截获密文并对其进行分析和攻击。这种攻击对密文没有破坏作用。 (10)主动攻 ...
凯撒密码及其变种
发表于2022-09-13|信息安全
凯撒密码 凯撒密码是把字母表中的每个字母用该字母后面第3个字母进行替代,如表3-2所示。为便于区分,我们用小写字母表示明文,大写字母表示密文。 明文:this is a book。 密文:WKLV LV D ERRN。 明文和密文空间是26个字母的循环,所以z后面的字母是a。如果为每个字母分配一个数值(a=0,b=l,…,z=25),则该算法能够表示如下: C=EK(p)=(p+3)%26C=E_K(p) = (p+3) \% 26 C=EK​(p)=(p+3)%26 变种 我们可以把每个字母用该字母后面第k个字母进行替代,即 C=EK(p)=(p+k)%26C=E_K(p) = (p+k) \% 26 C=EK​(p)=(p+k)%26 便得到凯撒密码的变种加密方式了。 代码实现 123456789101112131415161718192021222324// 凯撒密码的加密// key为加密字符相对原字符的向后偏移量string encrypt(string message, int key) { // 加密后的字符串长度应该和原字符串相同 stri ...
1…345…12
avatar
Zhangzqs
一个分享与记录的个人空间
文章
114
标签
533
分类
34
Follow Me
最新文章
图形学-光线追踪5(路径追踪)2025-10-15
图形学-光线追踪4(概率论)2025-10-14
图形学-光线追踪(渲染方程)2025-10-12
图形学-Animation动画22025-10-07
图形学-Animation动画2025-10-05
分类
  • Android7
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
  • Rust1
  • 信息安全9
  • 各种日常踩坑小技巧4
标签
汇编语言 Ubuntu20.04 斯涅耳定律推导 泰勒展开公式 W模型 MapReduce 概率论 左递归 Node-Exporter C++线段求交 遗传算法 阴影部分面积求解 公钥密码算法 Docker部署 FAT文件系统 拉格朗日余项 容器化技术 Golang编码规范 罗德里格斯旋转公式 解析几何方法 虚拟硬盘创建 ElasticSearch环境搭建 依赖倒置原则 流体模拟 SQLite Random Variable 纹理映射 远程交互式白板 Scrum框架 HBase数据读写 Hive数据库操作 Scrum角色 数学符号 海龟爬行问题 直线去重 Hadoop集群启动与关闭 随机数索引 因果图法 Matlab 2D绘图 Makefile编译
归档
  • 十月 20255
  • 八月 20254
  • 四月 20255
  • 六月 20241
  • 五月 20241
  • 四月 20244
  • 三月 20241
  • 二月 20242
网站资讯
文章数目 :
114
已运行时间 :
本站总字数 :
199.8k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中