网安笔记04 公钥密码体制

news2024/11/14 17:03:54

公钥密码体制

公钥密码体制的基本概念

保密性:确保信息只被授权的人访问
认证:确认某实体/数据源的真实性

保密性需要考虑到

  • 不可否认性
  • 数据完整性

保密系统要考虑

  1. 达到实际上不可破
  • 接获密文、某些明文密文对,决定密钥或者明文是不可行的
  1. Kerckhoff原则 保密性不依赖于加密体制或算法的保密,而是密钥

  2. 加密和解密算法适用于所有密钥空间中的元素

  3. 便于实现、使用方便

在这里插入图片描述
保密系统模型

( M , C , K 1 , K 2 , E k 1 , D k 2 ) (M,C,K_1,K_2,E_{k1}, D_{k2}) (M,C,K1,K2,Ek1,Dk2)

  1. 明文消息空间 M M M
  2. 密文消息空间 C C C
  3. 密钥空间 K 1 K1 K1 K 2 K2 K2:在单钥体制下 K 1 = K 2 = K K1 =K2 =K K1=K2=K,此时密钥 k ∈ K k ∈ K kK 需经安全的密钥信道由发方传给收方
  4. 加密变换: E k 1 ∈ E , m → c = E k 1 ( m ) E_{k1} ∈E, m→c=E_{k1}(m) Ek1Emc=Ek1(m),其中 k 1 ∈ K 1 , m ∈ M , c ∈ C k_1∈K_1, m∈M, c∈C k1K1mM,cC 由加密器完成。
  5. 解密变换: D k 2 ∈ D , c → m = D k 2 ( c ) D_{k2}∈D,c→m= D_{k2}(c) Dk2Dcm=Dk2(c),其中 k 2 ∈ K 2 , m ∈ M , c ∈ C k_2∈K_2, m∈M, c∈C k2K2mM,cC, 由解密器实现。

密码体制分类

单钥加密

  • 流密码 STREAM CIPHER
  • 分组密码 BLOCK CIPHER

在这里插入图片描述

双钥加密体制
m = D k B 2 ( c ) = D k B 2 ( E k B 1 ( m ) ) m = D_{kB2}(c) = D_{kB2}(E_{kB1}(m)) m=DkB2(c)=DkB2(EkB1(m))

公开密钥 k B 1 k_{B1} kB1与密文 c c c推出明文 m m m与密钥 k B 2 k_{B2} kB2是不可行的

在这里插入图片描述

双钥认证体制

Alice吧自己密钥 k A 2 k_{A2} kA2对消息m进行 A A A的专用变换 D k A 2 D_{kA2} DkA2.A 计算密文 c = D k A 2 ( m ) c = D_{kA2}(m) c=DkA2(m)给用户B。B验证 m = E K A 1 ( c ) = E k A 1 ( D k A 2 ( m ) ) m = E_{KA1}(c) = E_{kA1}(D_{kA2}(m)) m=EKA1(c)=EkA1(DkA2(m))是否成立

k A 2 kA2 kA2保密,无法伪造密文 c c c,所以可以认证A的身份

在这里插入图片描述

对称密码公钥密码
一般要求相同密钥 共享密钥加密解密算法相同 密钥不同
发送方有加密or解密密钥,接收方有另一个密钥
安全要求密钥保密
无密钥无法解密
知道算法和密文无法确定密钥
保密其中一个密钥
无密钥无法解密
知道算法、密文、其中一个密钥无法确定另一个密钥
思路简单相互推导出密钥 K e K_e Ke公钥无法推断 K d K_d Kd私钥

理论上可以推断,实际上计算量太大,难以实施

构造公钥算法的考虑

  1. 对称算法: 混乱替换
  2. 数学特性:公钥可推导私钥,但难以实现
  3. 单向函数

公钥密码学

基础

单向函数

定义 1. f是A集合到B集合的映射 f : A → B f:A\rightarrow B f:AB,并且是单射,1-1映射或可逆函数

定义 2:可逆函数 f : A → B f:A\rightarrow B f:AB 若满足

  1. ∀ x , x ∈ A \forall x , x \in A x,xA
  2. 几乎所有 x ∈ A 几乎所有x\in A 几乎所有xA,难以由 f ( x ) f(x) f(x)求出 x x x

定义 3: 陷门单向函数是一类满足下述条件的单向函数

f z : A z → B z , z ∈ Z f_z:A_z\rightarrow B_z, z\in Z fz:AzBz,zZ

Z是陷门信息集合
对所有的 z ∈ Z z\in Z zZ 给定z容易找到一对算法 E z , D z E_z,D_z Ez,Dz,有如下性质

f z ( x ) = E z ( x ) D z ( f z ( x ) ) = x f_z(x) = E_z(x) \\ D_z(f_z(x))=x fz(x)=Ez(x)Dz(fz(x))=x
并且 ∀ z ∈ Z \forall z \in Z zZ 给定 E z 和 D z E_z和D_z EzDz 对所有 x ∈ A x\in A xA很难从 f z ( x ) f_z(x) fz(x)算出x

单向函数

  1. 多项式球根
  2. Discrete Logarithm
  3. Factorization Problem
  4. Knapsack problem
  5. Diffie-Hellman
  6. Quadratic Residue
  7. SQROOT

公钥、密钥体制密钥管理

  1. 公钥可公开,只需要保留私钥
  2. 发送方可以用人人皆知的接受方公开密钥对发送的信息进行加密,安全的传送给该接受方,然后由接受方用自己的私有密钥进行解密

公钥分发
公钥加密
数字签名

安全性:

  1. 困难
  2. 理论能破解,实际难破解
  3. 足够长密钥 > 512bits
  4. 密钥太长导致速度慢。多用于对称密钥传递

RSA公钥密码算法

密码分析者尚不能证明其安全性,但也不能否定其安全性
—— 特殊的可逆模指数运算
—— 加密/数字签名
—— 比DES慢100-1000倍

其安全性依赖于大整数分解的难度(integer fact orization problem)

参数

  • n = p q n = pq n=pq
  • ϕ ( n ) = ( p − 1 ) ( q − 1 ) \phi(n) = (p-1)(q-1) ϕ(n)=(p1)(q1)
  • 公钥e ( e , ϕ ( n ) ) = 1 (e, \phi(n)) = 1 (e,ϕ(n))=1
  • 私钥d d = e − 1   m o d   ϕ ( n ) d = e^{-1} \ mod\ \phi(n) d=e1 mod ϕ(n)
  • encryption m → c = m e   m o d   n m\rightarrow c = m^e\ mod\ n mc=me mod n
  • decryption c → c d = m   m o d   n c\rightarrow c^d = m\ mod\ n ccd=m mod n

算法说明

  1. q和p是两个奇素数。 n = p q n = pq n=pq
  2. 计算n的欧拉函数 ϕ ( n ) = ( p − 1 ) ( q − 1 ) \phi(n) = (p-1)(q-1) ϕ(n)=(p1)(q1)
  3. 选择一个整数e,e满足 1 ≤ e < ϕ ( n ) ∧ ( e , ϕ ( n ) ) = 1 1\le e < \phi(n) \land (e,\phi(n)) = 1 1e<ϕ(n)(e,ϕ(n))=1
  4. 得到mod ϕ ( n ) \phi(n) ϕ(n)下e的逆元 d = e − 1   m o d   ϕ ( n ) d = e^{-1}\ mod\ \phi(n) d=e1 mod ϕ(n)
  5. 公钥是n,e 密钥是d(p和q不能泄露)

E p u b ( x ) = x e   m o d   n D p r i ( y ) = y d   m o d   n E_{pub}(x) = x^e\ mod\ n\\ D_{pri}(y) = y^d\ mod\ n Epub(x)=xe mod nDpri(y)=yd mod n

作用

加解密
和A不相识,B知道A的公钥也可以保密通讯。要保护公开密钥,防止修改与替换??

数字签名、身份认证

  1. A公开密钥 ( e , n ) (e, n) (e,n),私钥 d d d,于是A对消息m签名 s = H ( m ) d   m o d   n s = H(m)^d\ mod\ n s=H(m)d mod n 其中 H ( m ) H(m) H(m)为杂凑函数(hash函数)
  2. 如何验证A对m签名的有效性? H ( m ) = s e   m o d   n H(m) = s^e \ mod\ n H(m)=se mod n, 进行比对
  3. 针对 篡改,伪造、抵赖(否认)、假冒
  4. 对公开密钥“保护” —— 不能修改

加密和数字签名(上述两种方法)同时使用

  1. A公钥 : ( e 1 , n 1 ) (e_1, n_1) (e1,n1); A私钥: d 1 d_1 d1
  2. B公钥 : ( e 2 , n 2 ) (e_2, n_2) (e2,n2); B私钥: d 2 d_2 d2
  3. A发消息m给B,签名
  4. A算出 c = ( ( m e 2    m o d    n 2 ) ) d 2   m o d   n 1 c = (( m^{e_2}\ \ mod \ \ n_2))^{d_2}\ mod\ n_1 c=((me2  mod  n2))d2 mod n1
  5. A发c给B
  6. B验证 m = ( ( c e 1    m o d    n 1 ) d 2    m o d    n 2 m = ((c^{e_1}\ \ mod\ \ n_1)^{d_2}\ \ mod\ \ n_2 m=((ce1  mod  n1)d2  mod  n2

密钥交换

  1. A和B使用堆成密钥(IDEA or DES)加密消息m
  2. 用RSA交换单钥加密体制密钥
  3. B产生工作密钥k,找到A的公开密钥 ( e , n ) (e,n) (e,n)
  • B 计算 c = k e    m o d    n c = k^e\ \ mod \ \ n c=ke  mod  n
  • A 计算 k = c d    m o d    n k = c^d\ \ mod\ \ n k=cd  mod  n

example

p1 = 47
p2 = 71
n = 47 * 71 = 3337
\phi(n) = 46 * 70 = 3220

设置e = 79
d   = e^{-1} mod 3220
    = e^(\phi(3220) - 1) mod 3220
    = 1019

明文x = 688 232 687 966 688 3
分组
arr = [688, 232, 687, 966, 3]

for i in arr:
    i = i ^ (e) mod n;

解密 
for i in arr
    i = i ^ (d) mod n;

原理

欧拉定理
M k ϕ ( n ) + 1 = M    m o d    n M^{k\phi(n) + 1} = M\ \ mod\ \ n Mkϕ(n)+1=M  mod  n

上式中
n = p × q n = p\times q n=p×q
ϕ ( n ) = ( p − 1 ) ( q − 1 ) \phi(n) = (p - 1)(q - 1) ϕ(n)=(p1)(q1)
选择 e , d 使得 e × d = 1    m o d    ϕ ( n ) 选择e,d使得 e\times d = 1\ \ mod\ \ \phi(n) 选择ed使得e×d=1  mod  ϕ(n)
存在 k 使得 e × d = 1 + k × ϕ ( n ) 存在k使得e\times d = 1 + k\times \phi(n) 存在k使得e×d=1+k×ϕ(n)
得到
C d = ( M e ) d = M 1 + k ϕ ( n ) = M    m o d    n C^d = (M^e)^d = M ^{1 + k\phi(n)} = M \ \ mod \ \ n Cd=(Me)d=M1+kϕ(n)=M  mod  n

安全性?

  1. RSA的安全性取决于模n分解的困难性。人们完全可以设想有另外的途径破译RSA,如求解密指数d或找到(p1-1)(p2-1)等。

但这些途径都不比分解n来得容易 —— 从RSA加密的密文恢复某些bit的困难性也和恢复整组明文一样困难

  1. 其他途径:从n求出 ϕ ( n ) \phi(n) ϕ(n) 得到 p , q p, q p,q
    n − ϕ ( n ) + 1 = p q − ( p − 1 ) ( q − 1 ) + 1 = p + q n - \phi(n) + 1 = pq -(p - 1)(q-1)+1=p + q nϕ(n)+1=pq(p1)(q1)+1=p+q
    但求出它的欧拉函数等价于分解n。然而还是不知道其他方法能破解RSA且不等价于大数分解

  2. 迭代攻击
    给定
    ( n , e , y ) = ( 35 , 17 , 3 ) (n,e,y) = (35,17,3) (n,e,y)=(35,17,3)
    由于
    y 0 = y = 3 y_0=y=3 y0=y=3
    计算出
    y 1 = 3 17 = 33   m o d   35 y_1=3^{17}=33\ mod\ 35 y1=317=33 mod 35
    再计算
    y 2 = y 1 17 = 33   m o d   35 y_2 = y_1^{17}=33\ mod \ 35 y2=y117=33 mod 35
    对x加密多次可以再现。但当n足够大的时候,攻击方法成功概率为0

  3. 选择明文
    攻击者收集用户A的密文(以密钥e加密)
    y = x e   m o d   n y=x^e\ mod\ n y=xe mod n

为了分析消息x。选择随机数
r < n r < n r<n
计算
y 1 = r e   m o d   n y 2 = y 1 × y   m o d   n y_1=r^e\ mod \ n \quad y_2 = y_1\times y\ mod\ n y1=re mod ny2=y1×y mod n

攻击者 A A A请A对消息 y 2 y_2 y2进行解密得到

s = y 2 d   m o d   n s=y_2^d\ mod\ n s=y2d mod n

攻击者计算
s r   m o d   n = x \frac{s}{r} \ mod\ n = x rs mod n=x
得到明文 x x x

(攻击者找了个明文r,用e和n把r变成y1, y1和y处理变成y2,让A解密y2得到s。s/r mod n得到明文x)

  1. 共用模
    多人共用同一模数 n n n, 各自选择 e , d e,d e,d。 简单但不安全。 共用模秦广下,两个密钥互素,可用任意密钥恢复明文 —— 概率方法可分解n和用确定性
    算法可计算某一用户密钥而不需要分解n

  2. 低加密指数攻击
    加密钥e选择得太小,则容易受到攻击

e e e选择3, 模为 n 1 , n 2 , n 3 n_1,n_2,n_3 n1,n2,n3 密文如下
y 1 = x 3   m o d   n 1 x < n 1 y 2 = x 3   m o d   n 2 x < n 2 y 3 = x 3   m o d   n 3 x < n 3 y_1 = x^3\ mod\ n_1\quad x<n_1\\ y_2 = x^3\ mod\ n_2\quad x<n_2\\ y_3 = x^3\ mod\ n_3\quad x<n_3\\ y1=x3 mod n1x<n1y2=x3 mod n2x<n2y3=x3 mod n3x<n3
n 1 , n 2 , n 3 n_1,n_2,n_3 n1,n2,n3互质,可以使用中国剩余定理,用 y 1 , y 2 , y 3 y_1, y_2, y_3 y1,y2,y3求出 y = x 3   m o d   ( n 1 , n 2 , n 3 ) y = x^3 \ mod\ (n_1,n_2,n_3) y=x3 mod (n1,n2,n3)
x比三个模校,于是有 x 3 < n 1 n 2 n 3 x^3 < n_1n_2n_3 x3<n1n2n3
y 3 = x \sqrt[3]y = x 3y =x

  1. 定时攻击
    测定RSA解密所进行的模指数运算的时间来估计解密指数d,而后再精确定出d 的取值

还可采用盲化技术,即先将数据进行盲化,再进行加密运算,而后做去盲运算 —— 计算时间被随机化而难于推测解密所进行的指数运算的时间

RSA参数选择

  1. n

n = p × q n = p\times q n=p×q,p和q要足够大,为强素数。p 与q差要大(否则可以从n的开方入手),p-1, q-1最大公因子要小

  1. e

( e , ϕ ( n ) ) = 1 (e,\phi(n)) = 1 (e,ϕ(n))=1条件满足,两个随机数互素概率约为 3 / 5 3/5 3/5。 但e太小,x小, y = x e   m o d   n y = x^e\ mod\ n y=xe mod n,当 x e < n x^e < n xe<n的时候未取模。 且容易遭受低指数攻击

  1. d
    Euclidean算法在多项式时间内求出d。 d > n 1 / 4 d > n ^{1/4} d>n1/4. d小,签字和解密运算快,d不能太小,会被已知明文攻击

RSA实现中,建议用e = 3, 17, 65537这种二进制只有两位1的数据

对称算法/公钥算法

对称公钥
速度
密钥管理额外的安全信道证书中心CA

安全性?无法简单比较

混合密码:

  1. 公钥算法用于签名认证
  2. 公钥算法传输密会话密钥
  3. 会话密钥(对称密钥)加密数据
  4. 避免密钥分配麻烦

ElGamal公钥签名算法

ElGamal,Schnorr和DSA都是基于离散对数问题的三个例子

一个既可用于数字签名又可用于加密的密码体制。

安全性依赖于 离散对数问题 discrete logarithms problem

  1. 参数 G F ( n ) GF(n) GF(n)的本原元 g g g

GF为有限域,p为素数, G F ( p ) GF(p) GF(p)中的加乘与普通加法区别为结果要mod p

本原元:当a模n的阶为 ϕ ( n ) \phi(n) ϕ(n),当且仅当x时 ϕ ( n ) \phi(n) ϕ(n)使得 a x = 1   m o d   n a^{x} = 1\ mod\ n ax=1 mod n成立,这时候a时n的本原元

  1. 秘密钥 x ∈ ( G F ( p ) ∗ − 0 ) x\in (GF(p)^* - 0) x(GF(p)0)
  2. 公钥 y = g x   m o d   p y = g^x\ mod \ p y=gx mod p
  3. 随机数:k

加密
m → ( g k , m y k )   m o d   p = ( r , s ) m\rightarrow(g^k, my^k)\ mod\ p = (r,s) m(gk,myk) mod p=(r,s)

解密
m = s r − x   m o d   p m = sr^{-x}\ mod\ p m=srx mod p

Others

  1. Rabin密码
  2. 背包密码
  3. McEliece 体制
  4. LUC密码
  5. DH算法
  6. 有限自动机
  7. 概率加密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

没计算机基础,就是评职称用的,软考中级哪个好考啊?

那必须把系统集成项目管理工程师安排上&#xff01; 题目也不难&#xff0c;主要弄清楚47个过程的输入输出&#xff0c;还有工具的使用&#xff0c;几乎很多题都是按照这逻辑来的。 建议可以去网上、刷题APP上&#xff0c;多薅点资料和真题&#xff0c;集成是热门科目&#x…

Centos7.6华为云服务器安装FineBI

一、首先申请一个云端服务器 配置可根据自己需求申请,建议内存在16G以上 CPU 4核 内存 8GiB 系统盘 40GiB 带宽 1Mbit/s 二、在FineBI官网上查看安装方法,截图如下 下载后,直接根据上述步骤安装即可,一般不需要添加其余软件 在安装中遇到问题有以下几点 1.解压后,文件夹名…

一个网站引发的程序猿的牢骚,哈哈哈

2013年大学毕业后&#xff0c;参加工作做的第一个前端项目&#xff0c;北京服装学院&#xff0c;今天调研一个关于iframe的需求&#xff0c;突然想试试&#xff0c;以前那些做IE6兼容的项目是否还在使用&#xff0c;就默默的点开了。十年了&#xff0c;他们没有换网站&#xff…

Python中因为软拷贝导致调用face_recognition.encodings(img)出现的典型问题

问题描述 在使用face_recognition时&#xff0c;在对np.array格式图片使用形如new_img img[x:y, a:b]进行裁剪后&#xff0c;因为是软拷贝&#xff0c;导致前后图片其实引用了同一个face_locations, 从而导致莫名其妙的错误。 问题代码 检测一张照片里的人脸&#xff0c;并…

深度解耦:使用Jetpack新技术Hilt实现依赖注入

注入解耦是一种软件设计模式&#xff0c;旨在将应用程序的不同组件解耦。通过采用依赖注入、控制反转、面向接口编程等技术&#xff0c;注入解耦模式可以帮助开发人员将应用程序分解为可重用和可扩展的组件。这样做可以减少代码的耦合度&#xff0c;提高模块化和可测试性&#…

Java并发编程实践学习笔记(三)——共享对象之发布和异常

目录 1 公共静态变量逸出 2 非私有方法逸出私有变量 3 this引用逸出 4 构造函数中的可覆盖方法调用逸出 发布&#xff08;publishing&#xff09;一个对象的意思是&#xff1a;使对象能够在当前作用域之外的代码中使用。例如&#xff0c;将一个指向该对象的引用保存到其他代…

奖品收到了

质量一流&#xff01;物流速度快&#xff01;下次继续努力&#xff01; 开心

抽象、封装、继承、多态

抽象 抽象是从众多的事物中抽取出共同的、本质性的特征&#xff0c;而舍弃其非本质的特征的过程。 下面是抽象到封装的过程 如果不考虑实际的情况下 人的定义&#xff1a;有嘴、有脚、有眼睛、有耳朵、会吃饭、会跑。 动物的定义&#xff1a;有嘴、有脚、有眼睛、有耳朵、会…

2023年网红经济研究报告

第一章 行业概况 随着社交媒体和移动互联网的普及&#xff0c;网红经济迅速崛起。网红经济&#xff0c;是指以网络为平台&#xff0c;通过网红的影响力、热度和传播力&#xff0c;形成的一种以流量变现为主的商业模式。网红经济涉及到的行业非常广泛&#xff0c;如美妆、时尚、…

ai聊天机器人chatgpt收费版

AI聊天机器人的功能通常包括以下几个方面&#xff1a; 自然语言理解。该功能可以识别并理解用户输入的自然语言&#xff0c;如文本、语音等&#xff0c;以便进行后续的处理和回复。 对话管理。该功能可以管理对话的上下文和流程&#xff0c;并根据用户的输入和意图来产…

Linux系统查看CPU信息命令cat /proc/cpuinfo详细说明

Linux操作系统服务器如何查看CPU处理器信息&#xff1f;使用命令cat /proc/cpuinfo可以查看CPU详细信息&#xff0c;包括CPU核数、逻辑CPU、物理CPU个数、CPU是否启用超线程等&#xff0c;阿里云服务器网分享Linux服务器查看CPU信息命令&#xff1a; 目录 Linux服务器查看CPU…

JavaWeb12-三大组件之监听器-Listener

1. 官方文档 文档&#xff1a;java_ee_api_中英文对照版.chm 2. Listener 监听器介绍 Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是&#xff1a;Servlet 程序、Listener 监听器、Filter 过滤器Listener 是 JavaEE 的规范&#xff0c;就是接口监听…

(附源码)计算机毕业设计Java动物在线领养网站

项目运行 &#x1f345;包售后&#xff0c;包调试&#xff0c;包讲解&#x1f345; &#x1f345;获取方式1:文章末尾获取联系&#x1f345; &#x1f345;获取方式2:点我进入&#xff0c;文章末尾获取联系&#x1f345; &#x1f345;包售后&#xff0c;包调试&#xff0c;包讲…

WX小程序 - 2

条件渲染&#xff1a; wx:if "{{ newlist.length 0 }}" wx:else 跳路由&#xff1a;绑定点击事件&#xff0c;执行跳转页面 bindtap data-id"{{ item.id }}" 添加id wx.navigateTo 跳路由并传参&#xff0c; 下一个路由 onLoad生命周期可以获得参数…

每周一算法:前缀和

前缀和 前缀和可以理解为数列的前 n 项的和。它通过预处理的方式&#xff0c;能够快速查询序列中从第L个数到到第R个数的和。 算法思想 其基本思想是在原序列的基础上预处理一个前缀和数组 s [ ] s[] s[]&#xff0c;其中 s [ i ] s[i] s[i]表示序列前 i i i个数的和。通过前…

Exception in thread “main“ java.lang.UnsupportedClassVersionError

java MainDemo执行main方法报错 Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: MainDemo has been compiled by a more recent version of the Java Runtime…

多台电脑共享鼠标键盘软件

背景 最近接手了2个不同base的项目&#xff0c;由于2个base的不同代码加密管理&#xff0c;必须要用两台电脑进行分别开发。于是&#xff0c;我不大的办公桌上要摆上2个键盘和2个鼠标&#xff0c;一下子就显得桌面特别杂乱&#xff0c;办公心情都不舒畅了。 我跟朋友吐槽了这件…

用LeangooScrum敏捷工具做缺陷管理和迭代规划和迭代执行

上一篇我们介绍了如何管理产品路线图&#xff08;用Leangoo领歌Scrum敏捷开发工具管理产品路线图&#xff1f;_哆啦B梦_的博客-CSDN博客)和敏捷需求管理&#xff08;使用敏捷开发工具做敏捷需求管理流程_哆啦B梦_的博客-CSDN博客&#xff09; 这一篇我们介绍下如何用Scrum敏捷…

纷享销客携手百捷、锐之旗走进湖南竞网,探索互联网营销创新

近日&#xff0c;《互联网营销创新增长路径-高管面对面闭门会》在长沙成功举办&#xff0c;活动邀请武汉百捷集团股份有限公司、河南锐之旗信息技术有限公司&#xff0c;两家互联网营销服务头部企业的高层走进湖南竞网数字科技集团有限公司&#xff08;以下简称“竞网”&#x…

[CSDN] 512创作纪念日,大处着眼,小处着手,乐观进取

大家好&#xff0c;我是一名程序员&#xff0c;也是一名CSDN博客作者&#xff0c;今天是我成为CSDN博客作者的512天纪念日&#xff0c;我想借此机会和大家分享一下我的创作历程。 初心与动力 从事IT行业多年&#xff0c;我深深感受到这个行业变化的速度非常之快&#xff0c;需…