初等数论 课堂笔记 第三章 -- 保密通讯与公开密钥
索引
- 保密通讯
- 仿射密码
- 例子
- 指数密码 ( Pohlig, Hellman, 1978 )
- 例子
- RSA公开密钥体制( Rivest, Shamir, Adleman, 1977; 英国情报部门的Cocks 1973年已发明 )
- 例子
保密通讯
保密通讯分为3步:
- 发送方使用密钥把明码转换成密码;
- 密码的传输;
- 接收方使用解钥把密码转换成明码。
在公开密钥体制中,密钥和加密程序是公开的;解钥不公开,仅信息接收方知道。
第三方若要破解收到的密码,首先要得到或者破解解钥。
仿射密码
概述
以明码为英语字母为例,将字母按照下表转化为数字xxx(明码的等价表示),通过
x↦(ax+bmod26):=yx\mapsto \left( ax+b\text{ }\bmod 26 \right)\text{ }:=yx↦(ax+b mod26) :=y
加密成密码(a,b∈Za,b\in \mathbb{Z}a,b∈Z未知,gcd(a,26)=1\gcd \left( a,26 \right)=1gcd(a,26)=1),再通过
y↦(a11(y−b)mod26)=xy\mapsto ({{a}^{11}}\left( y-b \right)\text{ }\bmod 26)=xy↦(a11(y−b) mod26)=x
解密出数字(明码),最后将数字按下表转换回字母。
0123456789101112ABCDEFGHIJKLM13141516171819202122232425NOPQRSTUVWXYZ\begin{matrix} 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\ A & B & C & D & E & F & G & H & I & J & K & L & M \\ 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 & 25 \\ N & O & P & Q & R & S & T & U & V & W & X & Y & Z \\ \end{matrix}0A13N1B14O2C15P3D16Q4E17R5F18S6G19T7H20U8I21V9J22W10K23X11L24Y12M25Z
注
- ax+bmod26ax+b\text{ }\bmod 26ax+b mod26表示取ax+bax+bax+b模掉(除以)26后剩下的余数ddd, d∈Z≥0,0≤d≤25d\in {{\mathbb{Z}}_{\ge 0}},\text{ }0\le d\le 25d∈Z≥0, 0≤d≤25。
- 要求gcd(a,26)=1\gcd \left( a,26 \right)=1gcd(a,26)=1,是因为A,B,⋯,Y,ZA,B,\cdots ,Y,ZA,B,⋯,Y,Z对应的数字0,1,⋯,24,250,1,\cdots ,24,250,1,⋯,24,25构成模262626的完全剩余系KKK。设xxx通过KKK,当gcd(a,26)=1\gcd \left( a,26 \right)=1gcd(a,26)=1时,ax+bax+bax+b (即yyy) 也才通过模262626的完全剩余系aK+baK+baK+b。
- 此时也才成立xxx到ax+bmod26ax+b\text{ mod26}ax+b mod26的单射关系,而不至于两个不同的明码加密成同一个密码。
- gcd(a,26)=1⇒gcd(a11,26)=1\gcd \left( a,26 \right)=1\text{ }\Rightarrow \text{ gcd}\left( {{a}^{11}},26 \right)=1gcd(a,26)=1 ⇒ gcd(a11,26)=1,也就有yyy到a11(y−b)=a11y−a11bmod26{{a}^{11}}\left( y-b \right)={{a}^{11}}y-{{a}^{11}}b\text{ }\bmod 26a11(y−b)=a11y−a11b mod26的单射关系,不至于两个不同的密码解密出同一个明码。
概括
- 密钥: a,b∈Z,gcd(a,26)=1a,b\in \mathbb{Z},\text{ }\gcd \left( a,26 \right)=1a,b∈Z, gcd(a,26)=1
- 解钥: a,b∈Z,gcd(a,26)=1a,b\in \mathbb{Z},\text{ }\gcd \left( a,26 \right)=1a,b∈Z, gcd(a,26)=1
- 加密: 明码r∈{0,1,⋯,25}r\in \left\{ 0,1,\cdots ,25 \right\}r∈{0,1,⋯,25}, ar+b≡s(mod26)ar+b\equiv s\left( \bmod 26 \right)ar+b≡s(mod26)
- 解密: 密码sss,a11(s−b)≡r(mod26){{a}^{11}}\left( s-b \right)\equiv r\left( \bmod 26 \right)a11(s−b)≡r(mod26)
解密式子的证明如下。
一方面,
gcd(a,26)=1φ(26)=φ(2×13)=φ(2)×φ(13)=12}⇒aφ(26)=a12≡1(mod26)\left. \begin{matrix} \gcd \left( a,26 \right)=1 \\ \varphi \left( 26 \right)=\varphi \left( 2\times 13 \right)=\varphi \left( 2 \right)\times \varphi \left( 13 \right)=12 \\ \end{matrix} \right\}\text{ }\Rightarrow \text{ }{{a}^{\varphi \left( 26 \right)}}={{a}^{12}}\equiv 1\left( \bmod 26 \right)gcd(a,26)=1φ(26)=φ(2×13)=φ(2)×φ(13)=12} ⇒ aφ(26)=a12≡1(mod26)
另一方面,
ar+b≡s(mod26)⇔ar≡s−b(mod26)ar+b\equiv s\left( \bmod 26 \right)\text{ }\Leftrightarrow \text{ }ar\equiv s-b\left( \bmod 26 \right)ar+b≡s(mod26) ⇔ ar≡s−b(mod26)
因此有
rmod26=1⋅r≡a12r=a11(ar)≡a11(s−b)mod26\begin{aligned} & \text{ }r\text{ }\bmod 26 \\ & =1\centerdot r \\ & \equiv {{a}^{12}}r \\ & ={{a}^{11}}\left( ar \right) \\ & \equiv {{a}^{11}}\left( s-b \right)\text{ }\bmod 26 \\ \end{aligned} r mod26=1⋅r≡a12r=a11(ar)≡a11(s−b) mod26
加密过程
例子
已知仿射密码用
x↦x+kmod26x\mapsto x+k\text{ }\bmod 26x↦x+k mod26
加密。现有一密码为LBSLYLBSLYLBSLY,请解密。
(注:这个加密方式并不好,解密只需减kmod26k\text{ mod26}k mod26。对于计算机,使用穷举法,很快就能完成)
解
英语中各字母出现频率从高到低依次为
etaoinsrhldcumfpgwybvkxjqze\text{ }t\text{ }a\text{ }o\text{ }i\text{ }n\text{ }s\text{ }r\text{ }h\text{ }l\text{ }d\text{ }c\text{ }u\text{ }m\text{ }f\text{ }p\text{ }g\text{ }w\text{ }y\text{ }b\text{ }v\text{ }k\text{ }x\text{ }j\text{ }q\text{ }ze t a o i n s r h l d c u m f p g w y b v k x j q z
而密码LBSLYLBSLYLBSLY中LLL出现次数最多,故猜想E→LE\to LE→L,即有k≡7mod26k\equiv 7\text{ }\bmod 26k≡7 mod26, 也就有解密
y↦y−kmod26y\mapsto y-k\text{ }\bmod 26y↦y−k mod26
下面解密:
LBSLY↔11,1,18,11,24−7mod26→4,20,11,4,17↔EULER\begin{aligned} & LBSLY \\ & \leftrightarrow 11,\text{ }1,\text{ }18,\text{ }11,\text{ }24 \\ & \underrightarrow{-7\text{ }\bmod 26\text{ }}\text{ }4,\text{ }20,\text{ }11,\text{ }4,\text{ }17 \\ & \leftrightarrow EULER \\ \end{aligned}LBSLY↔11, 1, 18, 11, 24−7 mod26 4, 20, 11, 4, 17↔EULER
已经有意义,如果合理,不需要进行其它尝试。已知某通讯使用仿射密码
x↦7x+3mod26x\mapsto 7x+3\text{ }\bmod 26x↦7x+3 mod26
请加密GAUSSGAUSSGAUSS和解密MFSJDGMFSJDGMFSJDG。
解- 对GAUSSGAUSSGAUSS加密过程如下。
GAUSS↔6,0,20,18,187x+3→45,3,143,129,129mod26→19,3,13,25,25↔TDNZZ\begin{aligned} & \text{ }GAUSS \\ & \leftrightarrow 6,\text{ }0,\text{ }20,\text{ }18,\text{ }18 \\ & \underrightarrow{\text{ }7x+3\text{ }}\text{ }45,\text{ }3,\text{ }143,\text{ }129,\text{ }129 \\ & \underrightarrow{\text{ }\bmod \text{ }26\text{ }}\text{ }19,\text{ }3,\text{ }13,\text{ }25,\text{ }25 \\ & \leftrightarrow TDNZZ \\ \end{aligned} GAUSS↔6, 0, 20, 18, 18 7x+3 45, 3, 143, 129, 129 mod 26 19, 3, 13, 25, 25↔TDNZZ - 首先解711mod26{{7}^{11}}\text{ }\bmod 26711 mod26如下。
711mod26=495×7≡(−3)5×7(∵49−26×2=−3)=92×(−21)≡3×5(∵−21+26=5,92=81=26×3+3)=15mod26\begin{aligned} & \text{ }{{7}^{11}}\bmod 26 \\ & ={{49}^{5}}\times 7 \\ & \equiv {{\left( -3 \right)}^{5}}\times 7\text{ }\left( \because 49-26\times 2=-3 \right) \\ & ={{9}^{2}}\times \left( -21 \right) \\ & \equiv 3\times 5\text{ }\left( \because -21+26=5,\text{ }{{9}^{2}}=81=26\times 3+3 \right) \\ & =15\text{ }\bmod 26 \\ \end{aligned} 711mod26=495×7≡(−3)5×7 (∵49−26×2=−3)=92×(−21)≡3×5 (∵−21+26=5, 92=81=26×3+3)=15 mod26
然后对MFSJDGMFSJDGMFSJDG解密如下。
MFSJDG↔12,5,18,9,3,6711(y−3)≡15(y−3)(mod26)→135,30,225,90,0,45mod26→5,4,17,12,0,19↔FERMAT\begin{aligned} & \text{ }MFSJDG \\ & \leftrightarrow 12,\text{ }5,\text{ }18,\text{ }9,\text{ }3,\text{ }6 \\ & \underrightarrow{\text{ }{{7}^{11}}\left( y-3 \right)\equiv 15\left( y-3 \right)\text{ }\left( \bmod 26 \right)\text{ }}\text{ }135,\text{ }30,\text{ }225,\text{ }90,\text{ }0,\text{ }45 \\ & \underrightarrow{\text{ }\bmod 26\text{ }}\text{ }5,\text{ }4,\text{ }17,\text{ }12,\text{ }0,\text{ }19 \\ & \leftrightarrow FERMAT \\ \end{aligned} MFSJDG↔12, 5, 18, 9, 3, 6 711(y−3)≡15(y−3) (mod26) 135, 30, 225, 90, 0, 45 mod26 5, 4, 17, 12, 0, 19↔FERMAT
- 对GAUSSGAUSSGAUSS加密过程如下。
指数密码 ( Pohlig, Hellman, 1978 )
概述
设ppp(可公开)是一个素数。
密钥; e∈Z>0e\in {{\mathbb{Z}}_{>0}}e∈Z>0(可公开),0≤e≤p−10\le e\le p-10≤e≤p−1, gcd(e,p−1)=1\gcd \left( e,p-1 \right)=1gcd(e,p−1)=1
解钥: d∈Z>0d\in {{\mathbb{Z}}_{>0}}d∈Z>0(保密),0≤d≤p−10\le d\le p-10≤d≤p−1, ed≡1mod(p−1)ed\equiv 1\text{ }\bmod \left( p-1 \right)ed≡1 mod(p−1)
加密过程: 设a∈Z>0a\in {{\mathbb{Z}}_{>0}}a∈Z>0是明码,0≤a≤p−10\le a\le p-10≤a≤p−1,通过ae≡bmodp{{a}^{e}}\equiv b\text{ }\bmod pae≡b modp得到密码bbb
解密过程: bd≡amodp{{b}^{d}}\equiv a\text{ }\bmod pbd≡a modp
证明
p是素数0≤a≤p−1}⇒gcd(a,p)=1⇒ap−1≡1(modp)\left. \begin{matrix} p是素数 \\ 0\le a\le p-1 \\ \end{matrix} \right\}\text{ }\Rightarrow \text{ }\gcd \left( a,p \right)=1\text{ }\Rightarrow \text{ }{{a}^{p-1}}\equiv 1\left( \bmod p \right)p是素数0≤a≤p−1} ⇒ gcd(a,p)=1 ⇒ ap−1≡1(modp)
ed≡1mod(p−1)⇔ed−1≡0mod(p−1)⇔(p−1)∣(ed−1)⇔∃k∈Z,s.t.ed−1=k(p−1)\begin{aligned} & ed\equiv 1\text{ }\bmod \left( p-1 \right)\text{ }\Leftrightarrow \text{ }ed-1\equiv 0\text{ }\bmod \left( p-1 \right)\text{ }\Leftrightarrow \text{ }\left. \left( p-1 \right) \right|\left( ed-1 \right) \\ & \Leftrightarrow \exists k\in \mathbb{Z},\text{ }s.t.\text{ }ed-1=k\left( p-1 \right) \\ \end{aligned}ed≡1 mod(p−1) ⇔ ed−1≡0 mod(p−1) ⇔ (p−1)∣(ed−1)⇔∃k∈Z, s.t. ed−1=k(p−1)
因此有
bd=(ae)d=aed=a1+k(p−1)=a⋅(ap−1)k≡amodp{{b}^{d}}={{\left( {{a}^{e}} \right)}^{d}}={{a}^{ed}}={{a}^{1+k\left( p-1 \right)}}=a\centerdot {{\left( {{a}^{p-1}} \right)}^{k}}\equiv a\text{ }\bmod pbd=(ae)d=aed=a1+k(p−1)=a⋅(ap−1)k≡a modp第三方破解: 已知p,ep,ep,e,未知解钥ddd,通过求解
ed≡1mod(p−1)ed\equiv 1\text{ }\bmod \left( p-1 \right)ed≡1 mod(p−1)
得到解钥(不难解),进而破解密码。
例子
已知某通讯使用指数密码,p=29p=29p=29,e=5e=5e=5。请加密999,解密111111。
解- 以下对999进行加密。
95mod29=812×9=(−6)2×9(∵21−29×3=−6)=36×9≡7×9(∵36=29×1+7)=63≡5mod29\begin{aligned} & \text{ }{{9}^{5}}\text{ }\bmod 29 \\ & ={{81}^{2}}\times 9 \\ & ={{\left( -6 \right)}^{2}}\times 9\text{ }\left( \because 21-29\times 3=-6 \right) \\ & =36\times 9 \\ & \equiv 7\times 9\text{ }\left( \because 36=29\times 1+7 \right) \\ & =63 \\ & \equiv 5\text{ }\bmod 29 \\ \end{aligned} 95 mod29=812×9=(−6)2×9 (∵21−29×3=−6)=36×9≡7×9 (∵36=29×1+7)=63≡5 mod29
因此999被加密成555。 - 未知解钥ddd,先求解ed=5d≡1mod(29−1=28)ed=5d\equiv 1\text{ }\bmod \left( 29-1=28 \right)ed=5d≡1 mod(29−1=28)
法一
gcd(5,28)=1φ(28)=φ(22×7)=12}⇒5φ(28)=512≡1mod28\left. \begin{matrix} \gcd \left( 5,28 \right)=1 \\ \varphi \left( 28 \right)=\varphi \left( {{2}^{2}}\times 7 \right)=12 \\ \end{matrix} \right\}\text{ }\Rightarrow \text{ }{{5}^{\varphi \left( 28 \right)}}={{5}^{12}}\equiv 1\text{ }\bmod \text{ }28gcd(5,28)=1φ(28)=φ(22×7)=12} ⇒ 5φ(28)=512≡1 mod 28
d=1⋅d≡512⋅d=511(5d)≡511=255×5≡(−3)5×5(∵25−28=−3)=92×(−15)=81×(−15)≡(−3)×(−15)(∵81−28×3=−3)=45≡17mod28\begin{aligned} & d=1\centerdot d \\ & \equiv {{5}^{12}}\centerdot d \\ & ={{5}^{11}}\left( 5d \right) \\ & \equiv {{5}^{11}} \\ & ={{25}^{5}}\times 5 \\ & \equiv {{\left( -3 \right)}^{5}}\times 5\text{ }\left( \because 25-28=-3 \right) \\ & ={{9}^{2}}\times \left( -15 \right) \\ & =81\times \left( -15 \right) \\ & \equiv \left( -3 \right)\times \left( -15 \right)\text{ }\left( \because 81-28\times 3=-3 \right) \\ & =45 \\ & \equiv 17\text{ }\bmod 28 \\ \end{aligned}d=1⋅d≡512⋅d=511(5d)≡511=255×5≡(−3)5×5 (∵25−28=−3)=92×(−15)=81×(−15)≡(−3)×(−15) (∵81−28×3=−3)=45≡17 mod28法二
问题等价于求解不定方程
5d+28y=15d+28y=15d+28y=1
gcd(5,28)=1∣1\gcd \left( 5,28 \right)=\left. 1 \right|1gcd(5,28)=1∣1,因此有解。
28=5×5+35=3×1+23=2×1+1P0=1,P1=5,P2=1×5+1=6,P3=1×6+5=11Q0=0,Q1=1,Q2=1,Q3=1×1+1=2\begin{matrix} \begin{aligned} & 28=5\times 5+3 \\ & 5=3\times 1+2 \\ & 3=2\times 1+1 \\ & \\ \end{aligned} \\ {{P}_{0}}=1,\text{ }{{P}_{1}}=5,\text{ }{{P}_{2}}=1\times 5+1=6,\text{ }{{P}_{3}}=1\times 6+5=11 \\ {{Q}_{0}}=0,\text{ }{{Q}_{1}}=1,\text{ }{{Q}_{2}}=1,\text{ }{{Q}_{3}}=1\times 1+1=2 \\ \end{matrix}28=5×5+35=3×1+23=2×1+1P0=1, P1=5, P2=1×5+1=6, P3=1×6+5=11Q0=0, Q1=1, Q2=1, Q3=1×1+1=2
因此5d+28y=15d+28y=15d+28y=1有特解((−1)3P3,(−1)2Q3)=(−11,2)\left( {{\left( -1 \right)}^{3}}{{P}_{3}},{{\left( -1 \right)}^{2}}{{Q}_{3}} \right)=\left( -11,\text{ }2 \right)((−1)3P3,(−1)2Q3)=(−11, 2),通解为
{d=−11−28t≡17mod28y=2+5t,∀t∈Z\left\{ \begin{aligned} & d=-11-28t\equiv 17\text{ }\bmod 28 \\ & y=2+5t \\ \end{aligned} \right.,\text{ }\forall t\in \mathbb{Z}{d=−11−28t≡17 mod28y=2+5t, ∀t∈Z在此基础上,解密111111如下。
1117mod29=1218×11≡58×11(∵121=29×4+5)=254×11≡(−4)4×11(∵25−29=−4)=256×11≡(−5)×11(∵256−29×9=−5)=−55≡3mod29\begin{aligned} & \text{ }{{11}^{17}}\text{ }\bmod 29 \\ & ={{121}^{8}}\times 11 \\ & \equiv {{5}^{8}}\times 11\text{ }\left( \because 121=29\times 4+5 \right) \\ & ={{25}^{4}}\times 11 \\ & \equiv {{\left( -4 \right)}^{4}}\times 11\text{ }\left( \because 25-29=-4 \right) \\ & =256\times 11 \\ & \equiv \left( -5 \right)\times 11\text{ }\left( \because 256-29\times 9=-5 \right) \\ & =-55 \\ & \equiv 3\text{ }\bmod 29 \\ \end{aligned} 1117 mod29=1218×11≡58×11 (∵121=29×4+5)=254×11≡(−4)4×11 (∵25−29=−4)=256×11≡(−5)×11 (∵256−29×9=−5)=−55≡3 mod29
因此111111被解密为333.
- 以下对999进行加密。
(离散对数问题)已知某通讯使用指数密码,p=29p=29p=29,设101010是明码,对应的密码是272727。求密钥eee和解钥ddd。
解先解出eee。
101010是明码,272727是对应的密码,因此有
10e≡27mod29{{10}^{e}}\equiv 27\text{ }\bmod 2910e≡27 mod29
其中0≤e≤28&gcd(e,28)=10\le e\le 28\text{ }\And \text{ }\gcd \left( e,28 \right)=10≤e≤28 & gcd(e,28)=1,即有
e∈{1,3,5,9,11,13,15,17,19,23,25,27}e\in \left\{ 1,3,5,9,11,13,15,17,19,23,25,27 \right\}e∈{1,3,5,9,11,13,15,17,19,23,25,27}
通过使用穷举法(多次使用100≡13mod29100\equiv 13\text{ }\bmod 29100≡13 mod29)得到正确的eee。有下表。
e1359111315171923252710emod29101481822619152111273\begin{matrix} e & 1 & 3 & 5 & 9 & 11 & 13 & 15 & 17 & 19 & 23 & 25 & 27 \\ {{10}^{e}}\text{ }\bmod 29 & 10 & 14 & 8 & 18 & 2 & 26 & 19 & 15 & 21 & 11 & 27 & 3 \\ \end{matrix}e10e mod2911031458918112132615191715192123112527273
具体计算如下。
101=10mod29{{10}^{1}}=10\text{ mod29}101=10 mod29
103=100×10≡13×10=29×4+14≡14mod29{{10}^{3}}=100\times 10\equiv 13\times 10=29\times 4+14\equiv 14\text{ }\bmod 29103=100×10≡13×10=29×4+14≡14 mod29
105=103×100≡14×13=182=29×6+8≡8mod29{{10}^{5}}={{10}^{3}}\times 100\equiv 14\times 13=182=29\times 6+8\equiv 8\text{ }\bmod 29105=103×100≡14×13=182=29×6+8≡8 mod29
109=105×1002≡8×132=1352=29×46+18≡18mod29{{10}^{9}}={{10}^{5}}\times {{100}^{2}}\equiv 8\times {{13}^{2}}=1352=29\times 46+18\equiv 18\text{ }\bmod 29109=105×1002≡8×132=1352=29×46+18≡18 mod29
1011=109×100≡18×13=234=29×8+2≡2mod29{{10}^{11}}={{10}^{9}}\times 100\equiv 18\times 13=234=29\times 8+2\equiv 2\text{ }\bmod 291011=109×100≡18×13=234=29×8+2≡2 mod29
1013=1011×100≡2×13=26mod29{{10}^{13}}={{10}^{11}}\times 100\equiv 2\times 13=26\text{ }\bmod 291013=1011×100≡2×13=26 mod29
1015=1013×100≡26×13≡(−3)×13=−39≡19mod29{{10}^{15}}={{10}^{13}}\times 100\equiv 26\times 13\equiv \left( -3 \right)\times 13=-39\equiv 19\text{ }\bmod 291015=1013×100≡26×13≡(−3)×13=−39≡19 mod29
1017=1015×100≡19×13=247=29×8+15≡15mod29{{10}^{17}}={{10}^{15}}\times 100\equiv 19\times 13=247=29\times 8+15\equiv 15\text{ }\bmod 291017=1015×100≡19×13=247=29×8+15≡15 mod29
1019=1017×100≡15×13=195=29×6+21≡21mod29{{10}^{19}}={{10}^{17}}\times 100\equiv 15\times 13=195=29\times 6+21\equiv 21\text{ }\bmod 291019=1017×100≡15×13=195=29×6+21≡21 mod29
1023=1019×1002≡21×132=21×169≡(−8)×(−5)=40≡11mod29{{10}^{23}}={{10}^{19}}\times {{100}^{2}}\equiv 21\times {{13}^{2}}=21\times 169\equiv \left( -8 \right)\times \left( -5 \right)=40\equiv 11\text{ }\bmod 291023=1019×1002≡21×132=21×169≡(−8)×(−5)=40≡11 mod29
1025=1023×100≡11×13=143=29×4+27≡27mod29{{10}^{25}}={{10}^{23}}\times 100\equiv 11\times 13=143=29\times 4+27\equiv 27\text{ }\bmod 291025=1023×100≡11×13=143=29×4+27≡27 mod29
1027=1025×100≡27×13≡(−2)×13=−26≡3mod29{{10}^{27}}={{10}^{25}}\times 100\equiv 27\times 13\equiv \left( -2 \right)\times 13=-26\equiv 3\text{ }\bmod 291027=1025×100≡27×13≡(−2)×13=−26≡3 mod29
因此有e=25e=25e=25。由于计算较多,再检查一遍。
1025mod29=10012×10≡1312×10(∵100=29×3+13)=1696×10≡(−5)6×10(∵169−29×6=−5)=253×10≡(−4)3×10(∵25−29=−4)=16×(−40)≡16×18(∵−40+29=−18)=288≡27mod29\begin{aligned} & {{10}^{25}}\text{ }\bmod 29 \\ & ={{100}^{12}}\times 10 \\ & \equiv {{13}^{12}}\times 10\text{ }\left( \because 100=29\times 3+13 \right) \\ & ={{169}^{6}}\times 10 \\ & \equiv {{\left( -5 \right)}^{6}}\times 10\text{ }\left( \because 169-29\times 6=-5 \right) \\ & ={{25}^{3}}\times 10 \\ & \equiv {{\left( -4 \right)}^{3}}\times 10\text{ }\left( \because 25-29=-4 \right) \\ & =16\times \left( -40 \right) \\ & \equiv 16\times 18\text{ }\left( \because -40+29=-18 \right) \\ & =288 \\ & \equiv 27\text{ }\bmod 29 \\ \end{aligned}1025 mod29=10012×10≡1312×10 (∵100=29×3+13)=1696×10≡(−5)6×10 (∵169−29×6=−5)=253×10≡(−4)3×10 (∵25−29=−4)=16×(−40)≡16×18 (∵−40+29=−18)=288≡27 mod29再通过解25d≡1mod29−1=2825d\equiv 1\text{ }\bmod 29-1=2825d≡1 mod29−1=28求解ddd
25d≡1mod28⇔−3d≡1mod2825d\equiv 1\text{ }\bmod 28\text{ }\Leftrightarrow -3d\equiv 1\text{ }\bmod 2825d≡1 mod28 ⇔−3d≡1 mod28法一
gcd(3,28)=1φ(28)=φ(22×7)=22−1×(2−1)×(7−1)=12}⇒3φ(28)=312≡1mod28\begin{aligned} & \left. \begin{matrix} \gcd \left( 3,28 \right)=1 \\ \varphi \left( 28 \right)=\varphi \left( {{2}^{2}}\times 7 \right)={{2}^{2-1}}\times \left( 2-1 \right)\times \left( 7-1 \right)=12 \\ \end{matrix} \right\} \\ & \Rightarrow {{3}^{\varphi \left( 28 \right)}}={{3}^{12}}\equiv 1\text{ }\bmod 28 \\ \end{aligned}gcd(3,28)=1φ(28)=φ(22×7)=22−1×(2−1)×(7−1)=12}⇒3φ(28)=312≡1 mod28
d=1⋅d≡312d=−311(−3d)≡−311=−95×3≡−812×27≡−(−3)2×(−1)(∵81−28×3=−3,27−28=−1)=9mod28\begin{aligned} & d=1\centerdot d \\ & \equiv {{3}^{12}}d \\ & =-{{3}^{11}}\left( -3d \right) \\ & \equiv -{{3}^{11}} \\ & =-{{9}^{5}}\times 3 \\ & \equiv -{{81}^{2}}\times 27 \\ & \equiv -{{\left( -3 \right)}^{2}}\times \left( -1 \right)\text{ }\left( \because 81-28\times 3=-3,\text{ }27-28=-1 \right) \\ & =9\text{ }\bmod 28 \\ \end{aligned}d=1⋅d≡312d=−311(−3d)≡−311=−95×3≡−812×27≡−(−3)2×(−1) (∵81−28×3=−3, 27−28=−1)=9 mod28法二:等价于解不定方程−3d−28y=1-3d-28y=1−3d−28y=1
28=3×9+1P0=0,P1=9;Q0=0,Q1=1\begin{matrix} 28=3\times 9+1 \\ {{P}_{0}}=0,\text{ }{{P}_{1}}=9;\text{ }{{Q}_{0}}=0,\text{ }{{Q}_{1}}=1 \\ \end{matrix}28=3×9+1P0=0, P1=9; Q0=0, Q1=1
因此−3d−28y=1-3d-28y=1−3d−28y=1有特解(d,y)=((−1)1+1P1,(−1)1−1+1Q1)=(9,−1)\left( d,y \right)=\left( {{\left( -1 \right)}^{1+1}}{{P}_{1}},\text{ }{{\left( -1 \right)}^{1-1+1}}{{Q}_{1}} \right)=\left( 9,-1 \right)(d,y)=((−1)1+1P1, (−1)1−1+1Q1)=(9,−1)通解为
{d=9+28t≡9y=−1−3t,∀t∈Z\left\{ \begin{aligned} & d=9+28t\equiv 9 \\ & y=-1-3t \\ \end{aligned} \right.,\text{ }\forall t\in \mathbb{Z}{d=9+28t≡9y=−1−3t, ∀t∈Z法三
−3d≡1mod28⇔−3d≡1−28mod28⇔−3d≡−27mod28⇔d≡9mod28(∵gcd(−3,28)=1)\begin{aligned} & \text{ }-3d\equiv 1\text{ }\bmod 28 \\ & \Leftrightarrow -3d\equiv 1-28\text{ }\bmod 28 \\ & \Leftrightarrow -3d\equiv -27\text{ }\bmod 28 \\ & \Leftrightarrow d\equiv 9\text{ }\bmod 28\text{ }\left( \because \gcd \left( -3,28 \right)=1 \right) \\ \end{aligned} −3d≡1 mod28⇔−3d≡1−28 mod28⇔−3d≡−27 mod28⇔d≡9 mod28 (∵gcd(−3,28)=1)
RSA公开密钥体制( Rivest, Shamir, Adleman, 1977; 英国情报部门的Cocks 1973年已发明 )
概述
设N∈Z>0N\in {{\mathbb{Z}}_{>0}}N∈Z>0(可公开),N=pqN=pqN=pq,p,qp,qp,q均为素数(保密),且p,qp,qp,q的位数很大,往往超过100位。
密钥: e∈Z>0e\in {{\mathbb{Z}}_{>0}}e∈Z>0(可公开)
解钥: d∈Z>0d\in {{\mathbb{Z}}_{>0}}d∈Z>0(保密), ed≡1mod(φ(N)=φ(pq)=(p−1)(q−1))ed\equiv 1\text{ }\bmod \left( \varphi \left( N \right)=\varphi \left( pq \right)=\left( p-1 \right)\left( q-1 \right) \right)ed≡1 mod(φ(N)=φ(pq)=(p−1)(q−1))
加密过程: 设a∈Z>0a\in {{\mathbb{Z}}_{>0}}a∈Z>0是明码(可选为4位数),0≤a≤N−10\le a\le N-10≤a≤N−1。通过
ae≡bmodN{{a}^{e}}\equiv b\text{ }\bmod Nae≡b modN
得到密码bbb。解密过程: 通过
bd≡amodN{{b}^{d}}\equiv a\text{ }\bmod Nbd≡a modN
得到明码aaa
证明
ed≡1modφ(N)⇔ed−1≡0modφ(N)⇔∃k∈Z,s.t.ed−1=kφ(N)\begin{aligned} & ed\equiv 1\text{ }\bmod \varphi \left( N \right)\text{ }\Leftrightarrow \text{ }ed-1\equiv 0\text{ }\bmod \varphi \left( N \right) \\ & \Leftrightarrow \exists k\in \mathbb{Z},\text{ }s.t.\text{ }ed-1=k\varphi \left( N \right) \\ \end{aligned}ed≡1 modφ(N) ⇔ ed−1≡0 modφ(N)⇔∃k∈Z, s.t. ed−1=kφ(N)
bd≡(ae)d=aed=a1+kφ(N)modN{{b}^{d}}\equiv {{\left( {{a}^{e}} \right)}^{d}}={{a}^{ed}}={{a}^{1+k\varphi \left( N \right)}}\text{ }\bmod Nbd≡(ae)d=aed=a1+kφ(N) modN若gcd(a,N)=1\gcd \left( a,N \right)=1gcd(a,N)=1,由欧拉定理有
aφ(N)≡1modN{{a}^{\varphi \left( N \right)}}\equiv 1\text{ }\bmod Naφ(N)≡1 modN
此时有
bd≡a1+kφ(N)=a⋅(aφ(N))k≡amodN{{b}^{d}}\equiv {{a}^{1+k\varphi \left( N \right)}}=a\centerdot {{\left( {{a}^{\varphi \left( N \right)}} \right)}^{k}}\equiv a\text{ }\bmod Nbd≡a1+kφ(N)=a⋅(aφ(N))k≡a modN若gcd(a,N)>1\gcd \left( a,N \right)>1gcd(a,N)>1,
若p∣a\left. p \right|ap∣a,则bd≡a1+kφ(N)≡0≡0+a=amodp{{b}^{d}}\equiv {{a}^{1+k\varphi \left( N \right)}}\equiv 0\equiv 0+a=a\text{ }\bmod pbd≡a1+kφ(N)≡0≡0+a=a modp
若p∣ap\cancel{|}ap∣a,则由费马小定理,有
ap−1≡1modp⇒bd≡a1+kφ(N)=a1+k(p−1)(q−1)=a(ap−1)k(q−1)≡amodp\begin{aligned} & \text{ }{{a}^{p-1}}\equiv 1\text{ }\bmod p \\ & \Rightarrow {{b}^{d}}\equiv {{a}^{1+k\varphi \left( N \right)}}={{a}^{1+k\left( p-1 \right)\left( q-1 \right)}}=a{{\left( {{a}^{p-1}} \right)}^{k\left( q-1 \right)}}\equiv a\text{ }\bmod p \\ \end{aligned} ap−1≡1 modp⇒bd≡a1+kφ(N)=a1+k(p−1)(q−1)=a(ap−1)k(q−1)≡a modp
因此一定有
bd≡amodp{{b}^{d}}\equiv a\text{ }\bmod pbd≡a modp
同理可得
bd≡amodq{{b}^{d}}\equiv a\text{ }\bmod qbd≡a modq
故有
bd≡amodlcm(p,q)=pq=N{{b}^{d}}\equiv a\text{ }\bmod \text{ }lcm\left( p,q \right)=pq=Nbd≡a mod lcm(p,q)=pq=N
第三方破解: 已知N,eN,eN,e,未知ddd。最关键的是快速猜出p,qp,qp,q。
例子
已知某通讯使用RSA密码,N=2537,e=13N=2537,\text{ }e=13N=2537, e=13,请加密PUBLICPUBLICPUBLIC,解密129912991299。
解
首先将PUBLICPUBLICPUBLIC转化为数字。
PUBLIC↔15,20,1,11,8,2PUBLIC\text{ }\leftrightarrow \text{ }15,\text{ }20,\text{ }1,\text{ }11,\text{ }8,\text{ }2PUBLIC ↔ 15, 20, 1, 11, 8, 2若直接对每个数字进行加密,则有
1513mod2537=(153)4×15≡8384×15(∵153=3375=2537×1+838)≡20322×15(∵8382=702244=2537×276+2032)≡(−505)2×15(∵2032−2537=−505)≡1325×15(∵5052=255025=2537×100+1325)≡2116mod2537\begin{aligned} & {{15}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{15}^{3}} \right)}^{4}}\times 15 \\ & \equiv {{838}^{4}}\times 15\text{ }\left( \because {{15}^{3}}=3375=2537\times 1+838 \right) \\ & \equiv {{2032}^{2}}\times 15\text{ }\left( \because {{838}^{2}}=702244=2537\times 276+2032 \right) \\ & \equiv {{\left( -505 \right)}^{2}}\times 15\text{ }\left( \because 2032-2537=-505 \right) \\ & \equiv 1325\times 15\left( \because {{505}^{2}}=255025=2537\times 100+1325 \right) \\ & \equiv 2116\text{ }\bmod 2537 \\ \end{aligned}1513 mod2537=(153)4×15≡8384×15 (∵153=3375=2537×1+838)≡20322×15 (∵8382=702244=2537×276+2032)≡(−505)2×15 (∵2032−2537=−505)≡1325×15(∵5052=255025=2537×100+1325)≡2116 mod2537
2013mod2537=(204)3×20≡1693×20(∵204=160000=2537×63+169)=1692×(169×20)≡654×843(∵1692=28561=2537×11+654169×20=3380=2537×1+843)≡793mod2537\begin{aligned} & {{20}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{20}^{4}} \right)}^{3}}\times 20 \\ & \equiv {{169}^{3}}\times 20\left( \because {{20}^{4}}=160000=2537\times 63+169 \right) \\ & ={{169}^{2}}\times \left( 169\times 20 \right) \\ & \equiv 654\times 843\left( \begin{aligned} & \because {{169}^{2}}=28561=2537\times 11+654 \\ & 169\times 20=3380=2537\times 1+843 \\ \end{aligned} \right) \\ & \equiv 793\text{ }\bmod 2537 \\ \end{aligned}2013 mod2537=(204)3×20≡1693×20(∵204=160000=2537×63+169)=1692×(169×20)≡654×843(∵1692=28561=2537×11+654169×20=3380=2537×1+843)≡793 mod2537
113mod2537=1mod2537{{1}^{13}}\bmod 2537=1\text{ }\bmod 2537113mod2537=1 mod2537
1113mod2537=(114)3×11≡19563×11(∵114=14641=2537×5+1956)≡(−581)3×11(∵1956−2537=−581)=5812×(−581×11)≡−140×1317(∵5812=337561=2537×133+140581×11=6391=2537×2+1317)≡−1716≡821mod2537\begin{aligned} & {{11}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{11}^{4}} \right)}^{3}}\times 11 \\ & \equiv {{1956}^{3}}\times 11\left( \because {{11}^{4}}=14641=2537\times 5+1956 \right) \\ & \equiv {{\left( -581 \right)}^{3}}\times 11\text{ }\left( \because 1956-2537=-581 \right) \\ & ={{581}^{2}}\times \left( -581\times 11 \right) \\ & \equiv -140\times 1317\left( \begin{aligned} & \because {{581}^{2}}=337561=2537\times 133+140 \\ & 581\times 11=6391=2537\times 2+1317 \\ \end{aligned} \right) \\ & \equiv -1716 \\ & \equiv 821\text{ }\bmod 2537 \\ \end{aligned}1113 mod2537=(114)3×11≡19563×11(∵114=14641=2537×5+1956)≡(−581)3×11 (∵1956−2537=−581)=5812×(−581×11)≡−140×1317(∵5812=337561=2537×133+140581×11=6391=2537×2+1317)≡−1716≡821 mod2537
813mod2537=(84)3×8≡15593×8(∵84=4096=2537×1+1559)≡(−978)3×8(∵1569−2537=−978)=9782×(−978×8)≡35×213(∵9782=956484=2537×377+35978×8=7824=2537×3+213)≡2381mod2537\begin{aligned} & {{8}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{8}^{4}} \right)}^{3}}\times 8 \\ & \equiv {{1559}^{3}}\times 8\left( \because {{8}^{4}}=4096=2537\times 1+1559 \right) \\ & \equiv {{\left( -978 \right)}^{3}}\times 8\text{ }\left( \because 1569-2537=-978 \right) \\ & ={{978}^{2}}\times \left( -978\times 8 \right) \\ & \equiv 35\times 213\left( \begin{aligned} & \because {{978}^{2}}=956484=2537\times 377+35 \\ & 978\times 8=7824=2537\times 3+213 \\ \end{aligned} \right) \\ & \equiv 2381\text{ }\bmod 2537 \\ \end{aligned}813 mod2537=(84)3×8≡15593×8(∵84=4096=2537×1+1559)≡(−978)3×8 (∵1569−2537=−978)=9782×(−978×8)≡35×213(∵9782=956484=2537×377+35978×8=7824=2537×3+213)≡2381 mod2537
213mod2537=212×2≡1559×2(∵212=4096=2537×1+1559)≡581mod2537\begin{aligned} & {{2}^{13}}\text{ }\bmod 2537 \\ & ={{2}^{12}}\times 2 \\ & \equiv 1559\times 2\left( \because {{2}^{12}}=4096=2537\times 1+1559 \right) \\ & \equiv 581\text{ }\bmod 2537 \\ \end{aligned}213 mod2537=212×2≡1559×2(∵212=4096=2537×1+1559)≡581 mod2537
因此密码为
2116,0793,0001,0821,2381,5812116,\text{ }0793,\text{ }0001,\text{ }0821,\text{ }2381,\text{ }5812116, 0793, 0001, 0821, 2381, 581若将数字按两个一组进行整理,即得
1520,0111,08021520,\text{ }0111,\text{ }08021520, 0111, 0802
在此基础上对整理后的数字进行加密。
152013mod2537=(15202)6×1520=23104006×1520≡17306×1520=(17302)3×1520=29929003×1520≡17773×1520=17772×(1777×1520)=3157729×2701040≡1701×1672=2844072≡95mod2537\begin{aligned} & {{1520}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{1520}^{2}} \right)}^{6}}\times 1520 \\ & ={{2310400}^{6}}\times 1520 \\ & \equiv {{1730}^{6}}\times 1520 \\ & ={{\left( {{1730}^{2}} \right)}^{3}}\times 1520 \\ & ={{2992900}^{3}}\times 1520 \\ & \equiv {{1777}^{3}}\times 1520 \\ & ={{1777}^{2}}\times \left( 1777\times 1520 \right) \\ & =3157729\times 2701040 \\ & \equiv 1701\times 1672 \\ & =2844072 \\ & \equiv 95\text{ }\bmod 2537 \\ \end{aligned}152013 mod2537=(15202)6×1520=23104006×1520≡17306×1520=(17302)3×1520=29929003×1520≡17773×1520=17772×(1777×1520)=3157729×2701040≡1701×1672=2844072≡95 mod2537
11113mod2537=(1112)6×111=123216×111≡21736×111=(21732)3×111=47219293×111≡5723×111=5722×(572×111)=327184×63492≡2448×67=164016≡1648mod2537\begin{aligned} & {{111}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{111}^{2}} \right)}^{6}}\times 111 \\ & ={{12321}^{6}}\times 111 \\ & \equiv {{2173}^{6}}\times 111 \\ & ={{\left( {{2173}^{2}} \right)}^{3}}\times 111 \\ & ={{4721929}^{3}}\times 111 \\ & \equiv {{572}^{3}}\times 111 \\ & ={{572}^{2}}\times \left( 572\times 111 \right) \\ & =327184\times 63492 \\ & \equiv 2448\times 67 \\ & =164016 \\ & \equiv 1648\text{ }\bmod 2537 \\ \end{aligned}11113 mod2537=(1112)6×111=123216×111≡21736×111=(21732)3×111=47219293×111≡5723×111=5722×(572×111)=327184×63492≡2448×67=164016≡1648 mod2537
80213mod2537=(8022)6×802=6432046×802≡13436×802=(13432)3×802=18036493×802≡23793×802=23792×(2379×802)=5659641×1907958≡2131×134=285554≡1410mod2537\begin{aligned} & {{802}^{13}}\text{ }\bmod 2537 \\ & ={{\left( {{802}^{2}} \right)}^{6}}\times 802 \\ & ={{643204}^{6}}\times 802 \\ & \equiv {{1343}^{6}}\times 802 \\ & ={{\left( {{1343}^{2}} \right)}^{3}}\times 802 \\ & ={{1803649}^{3}}\times 802 \\ & \equiv {{2379}^{3}}\times 802 \\ & ={{2379}^{2}}\times \left( 2379\times 802 \right) \\ & =5659641\times 1907958 \\ & \equiv 2131\times 134 \\ & =285554 \\ & \equiv 1410\text{ }\bmod 2537 \\ \end{aligned}80213 mod2537=(8022)6×802=6432046×802≡13436×802=(13432)3×802=18036493×802≡23793×802=23792×(2379×802)=5659641×1907958≡2131×134=285554≡1410 mod2537
因此得密码为
0095,1648,14100095,\text{ }1648,\text{ }14100095, 1648, 1410
想要解密129912991299,首先需要知道解钥ddd。
首先分解N=2537N=2537N=2537。
⌊2537⌋=50\left\lfloor \sqrt[{}]{2537} \right\rfloor =50⌊2537⌋=50
检查505050以下的素数是否为因子。
个位是777,因此不是2,52,52,5的倍数。
3∣(2+3+5+7=17)3\cancel{|}\left( 2+3+5+7=17 \right)3∣(2+3+5+7=17),因此非333倍数。
537−2=535=5×107537-2=535=5\times 107537−2=535=5×107,其中107107107是素数,所以不是7,11,137,11,137,11,13的倍数。
接下来,
2537=17×149+42537=19×133+102537=23×110+72537=29×87+142537=31×81+262537=37×68+212537=41×61+362537=43×59\begin{aligned} & 2537=17\times 149+4 \\ & 2537=19\times 133+10 \\ & 2537=23\times 110+7 \\ & 2537=29\times 87+14 \\ & 2537=31\times 81+26 \\ & 2537=37\times 68+21 \\ & 2537=41\times 61+36 \\ & 2537=43\times 59 \\ \end{aligned}2537=17×149+42537=19×133+102537=23×110+72537=29×87+142537=31×81+262537=37×68+212537=41×61+362537=43×59
所以有
φ(2537)=φ(43×59)=φ(43)φ(59)=42×58=2436\varphi \left( 2537 \right)=\varphi \left( 43\times 59 \right)=\varphi \left( 43 \right)\varphi \left( 59 \right)=42\times 58=2436φ(2537)=φ(43×59)=φ(43)φ(59)=42×58=2436通过求解13d≡1mod243613d\equiv 1\text{ }\bmod 243613d≡1 mod2436来求解ddd,此处通过求解等价不定方程
13d+2436y=113d+2436y=113d+2436y=1
来求解ddd。
gcd(13,2436)=1∣1\gcd \left( 13,2436 \right)=\left. 1 \right|1gcd(13,2436)=1∣1,因此有解。
2436=13×187+513=5×2+35=3×1+23=2×1+1P0=1,P1=187,P2=2×187+1=375,P3=1×375+187=562,P4=1×562+375=937Q0=0,Q1=1,Q2=2Q3=1×2+1=3,Q3=1×3+2=5\begin{matrix} \begin{aligned} & 2436=13\times 187+5 \\ & 13=5\times 2+3 \\ & 5=3\times 1+2 \\ & 3=2\times 1+1 \\ \end{aligned} \\ {{P}_{0}}=1,\text{ }{{P}_{1}}=187,\text{ }{{P}_{2}}=2\times 187+1=375, \\ \text{ }{{P}_{3}}=1\times 375+187=562,\text{ }{{P}_{4}}=1\times 562+375=937 \\ {{Q}_{0}}=0,\text{ }{{Q}_{1}}=1,\text{ }{{Q}_{2}}=2 \\ {{Q}_{3}}=1\times 2+1=3,\text{ }{{Q}_{3}}=1\times 3+2=5 \\ \end{matrix}2436=13×187+513=5×2+35=3×1+23=2×1+1P0=1, P1=187, P2=2×187+1=375, P3=1×375+187=562, P4=1×562+375=937Q0=0, Q1=1, Q2=2Q3=1×2+1=3, Q3=1×3+2=5
因此13d+2436y=113d+2436y=113d+2436y=1有特解((−1)4P4,(−1)4−1Q4)=(937,−5)\left( {{\left( -1 \right)}^{4}}{{P}_{4}},\text{ }{{\left( -1 \right)}^{4-1}}{{Q}_{4}} \right)=\left( 937,-5 \right)((−1)4P4, (−1)4−1Q4)=(937,−5),也就有
d≡937mod2436d\equiv 937\text{ }\bmod 2436d≡937 mod2436得知ddd可取937937937后,开始解密129912991299。
法一(直接解1299937mod2537{{1299}^{937}}\bmod 25371299937mod2537)
1299937mod2537=(12992)468×1299=1687401468×1299≡296468×1299=(2962)234×1299=87616234×1299≡1358234×1299=(13582)117×1299=1844164117×1299≡(−235)117×1299=−(2352)58×(235×1299)=−5522558×305265≡−194858×825=(19482)29×825=−379470429×825≡−188929×825=−(18892)14×(825×1889)=−356832114×1558425≡−129914×707=(12992)7×707≡−2967×707=−(2962)3×(296×707)≡−13583×209272≡−13583×1238=(−13582)×(1358×1238)≡235×1710=401850≡1004mod2537\begin{aligned} & {{1299}^{937}}\bmod 2537={{\left( {{1299}^{2}} \right)}^{468}}\times 1299 \\ & ={{1687401}^{468}}\times 1299 \\ & \equiv {{296}^{468}}\times 1299={{\left( {{296}^{2}} \right)}^{234}}\times 1299 \\ & ={{87616}^{234}}\times 1299 \\ & \equiv {{1358}^{234}}\times 1299={{\left( {{1358}^{2}} \right)}^{117}}\times 1299 \\ & ={{1844164}^{117}}\times 1299 \\ & \equiv {{\left( -235 \right)}^{117}}\times 1299=-{{\left( {{235}^{2}} \right)}^{58}}\times \left( 235\times 1299 \right) \\ & =-{{55225}^{58}}\times 305265 \\ & \equiv -{{1948}^{58}}\times 825={{\left( {{1948}^{2}} \right)}^{29}}\times 825 \\ & =-{{3794704}^{29}}\times 825 \\ & \equiv -{{1889}^{29}}\times 825=-{{\left( {{1889}^{2}} \right)}^{14}}\times \left( 825\times 1889 \right) \\ & =-{{3568321}^{14}}\times 1558425 \\ & \equiv -{{1299}^{14}}\times 707={{\left( {{1299}^{2}} \right)}^{7}}\times 707 \\ & \equiv -{{296}^{7}}\times 707=-{{\left( {{296}^{2}} \right)}^{3}}\times \left( 296\times 707 \right) \\ & \equiv -{{1358}^{3}}\times 209272 \\ & \equiv -{{1358}^{3}}\times 1238=\left( -{{1358}^{2}} \right)\times \left( 1358\times 1238 \right) \\ & \equiv 235\times 1710 \\ & =401850 \\ & \equiv 1004\text{ }\bmod 2537 \\ \end{aligned}1299937mod2537=(12992)468×1299=1687401468×1299≡296468×1299=(2962)234×1299=87616234×1299≡1358234×1299=(13582)117×1299=1844164117×1299≡(−235)117×1299=−(2352)58×(235×1299)=−5522558×305265≡−194858×825=(19482)29×825=−379470429×825≡−188929×825=−(18892)14×(825×1889)=−356832114×1558425≡−129914×707=(12992)7×707≡−2967×707=−(2962)3×(296×707)≡−13583×209272≡−13583×1238=(−13582)×(1358×1238)≡235×1710=401850≡1004 mod2537法二(解同余式组,推荐)
1299=43×30+9≡9mod43⇒1299937≡9937mod431299=59×22+1≡1mod59⇒1299937≡1mod59\begin{aligned} & 1299=43\times 30+9\equiv 9\text{ }\bmod 43\text{ }\Rightarrow \text{ }{{1299}^{937}}\equiv {{9}^{937}}\text{ }\bmod 43 \\ & 1299=59\times 22+1\equiv 1\text{ }\bmod 59\text{ }\Rightarrow \text{ }{{1299}^{937}}\equiv 1\text{ }\bmod 59 \\ \end{aligned}1299=43×30+9≡9 mod43 ⇒ 1299937≡9937 mod431299=59×22+1≡1 mod59 ⇒ 1299937≡1 mod59
进一步化简9937mod43{{9}^{937}}\text{ }\bmod 439937 mod43如下。
434343是素数且43∣943\cancel{|}943∣9,于是由费马小定理有
943−1=942≡1mod43⇒9937=942×22+13=(942)22⋅913≡913mod43\begin{aligned} & {{9}^{43-1}}={{9}^{42}}\equiv 1\text{ }\bmod 43 \\ & \Rightarrow {{9}^{937}}={{9}^{42\times 22+13}}={{\left( {{9}^{42}} \right)}^{22}}\centerdot {{9}^{13}}\equiv {{9}^{13}}\text{ }\bmod 43 \\ \end{aligned}943−1=942≡1 mod43⇒9937=942×22+13=(942)22⋅913≡913 mod43
再化简913mod43{{9}^{13}}\text{ mod43}913 mod43如下。
913mod43=816×9≡(−5)6×9=253×9=252×(25×9)=625×225≡23×10=230≡15mod43\begin{aligned} & {{9}^{13}}\text{ }\bmod 43 \\ & ={{81}^{6}}\times 9 \\ & \equiv {{\left( -5 \right)}^{6}}\times 9 \\ & ={{25}^{3}}\times 9 \\ & ={{25}^{2}}\times \left( 25\times 9 \right) \\ & =625\times 225 \\ & \equiv 23\times 10 \\ & =230 \\ & \equiv 15\text{ }\bmod 43 \\ \end{aligned}913 mod43=816×9≡(−5)6×9=253×9=252×(25×9)=625×225≡23×10=230≡15 mod43
于是我们得到了以下同余式组
{1299937≡15mod431299937≡1mod59⇔∃x0,y0∈Z,s.t.43x0+15=59y0+1=1299937\begin{aligned} & \left\{ \begin{aligned} & {{1299}^{937}}\equiv 15\text{ }\bmod 43 \\ & {{1299}^{937}}\equiv 1\text{ }\bmod 59 \\ \end{aligned} \right. \\ & \Leftrightarrow \exists {{x}_{0}},{{y}_{0}}\in \mathbb{Z},\text{ }s.t.\text{ }43{{x}_{0}}+15=59{{y}_{0}}+1={{1299}^{937}} \\ \end{aligned}{1299937≡15 mod431299937≡1 mod59⇔∃x0,y0∈Z, s.t. 43x0+15=59y0+1=1299937
这给出了一个不定方程
59y−43x=1459y-43x=1459y−43x=14
gcd(59,43)=1∣14\gcd \left( 59,43 \right)=\left. 1 \right|14gcd(59,43)=1∣14,因此有解。
59=43×1+1643=16×2+1116=11×1+511=5×2+1P0=1,P1=1,P2=2×1+1=3,P3=1×3+1=4,P4=2×4+3=11Q0=0,Q1=1,Q2=2,Q3=1×2+1=3,Q4=2×3+2=8\begin{matrix} \begin{aligned} & 59=43\times 1+16 \\ & 43=16\times 2+11 \\ & 16=11\times 1+5 \\ & 11=5\times 2+1 \\ \end{aligned} \\ {{P}_{0}}=1,\text{ }{{P}_{1}}=1,\text{ }{{P}_{2}}=2\times 1+1=3,\text{ }{{P}_{3}}=1\times 3+1=4,\text{ }{{P}_{4}}=2\times 4+3=11 \\ {{Q}_{0}}=0,\text{ }{{Q}_{1}}=1,\text{ }{{Q}_{2}}=2,\text{ }{{Q}_{3}}=1\times 2+1=3,\text{ }{{Q}_{4}}=2\times 3+2=8 \\ \end{matrix}59=43×1+1643=16×2+1116=11×1+511=5×2+1P0=1, P1=1, P2=2×1+1=3, P3=1×3+1=4, P4=2×4+3=11Q0=0, Q1=1, Q2=2, Q3=1×2+1=3, Q4=2×3+2=8
因此59y−43x=159y-43x=159y−43x=1有特解(y,x)=((−1)4−1Q4,(−1)4+1P4)=(−8,−11)\left( y,x \right)=\left( {{\left( -1 \right)}^{4-1}}{{Q}_{4}},\text{ }{{\left( -1 \right)}^{4+1}}{{P}_{4}} \right)=\left( -8,-11 \right)(y,x)=((−1)4−1Q4, (−1)4+1P4)=(−8,−11)
59y−43x=1459y-43x=1459y−43x=14有特解(y,x)=(−8×14,−11×14)=(−112,−154)\left( y,x \right)=\left( -8\times 14,-11\times 14 \right)=\left( -112,-154 \right)(y,x)=(−8×14,−11×14)=(−112,−154),通解为
{y=−112+43tx=−154+59t,∀t∈Z\left\{ \begin{aligned} & y=-112+43t \\ & x=-154+59t \\ \end{aligned} \right.,\text{ }\forall t\in \mathbb{Z}{y=−112+43tx=−154+59t, ∀t∈Z
因此∃t0∈Z,s.t.y0=−112+43t0\exists {{t}_{0}}\in \mathbb{Z},\text{ }s.t.\text{ }{{y}_{0}}=-112+43{{t}_{0}}∃t0∈Z, s.t. y0=−112+43t0,
1299937=59y0+1=59×(−112+43t0)+1≡−112×59+1=−6607≡−6607+2537×3=1004mod2537\begin{aligned} & {{1299}^{937}}=59{{y}_{0}}+1 \\ & =59\times \left( -112+43{{t}_{0}} \right)+1 \\ & \equiv -112\times 59+1 \\ & =-6607 \\ & \equiv -6607 + 2537 \times 3 \\ & = 1004\text{ }\bmod 2537 \\ \end{aligned}1299937=59y0+1=59×(−112+43t0)+1≡−112×59+1=−6607≡−6607+2537×3=1004 mod2537
注
(2537=43×592537=43\times 592537=43×59,434343和595959都是素数,这样子最终化简1299937=59y0+1{{1299}^{937}}=59{{y}_{0}}+11299937=59y0+1过程中才会出现含59×43=253759\times 43=253759×43=2537的形式,方便直接模掉253725372537。)法三
43∣1299⇒gcd(1299,43)=1⇒129942≡1mod4359∣1299⇒gcd(1299,59)=1⇒129958≡1mod59\begin{aligned} & 43\cancel{|}1299\text{ }\Rightarrow \text{ }\gcd \left( 1299,43 \right)=1\text{ }\Rightarrow \text{ }{{1299}^{42}}\equiv 1\text{ }\bmod 43 \\ & 59\cancel{|}1299\text{ }\Rightarrow \text{ }\gcd \left( 1299,59 \right)=1\text{ }\Rightarrow \text{ }{{1299}^{58}}\equiv 1\text{ }\bmod 59 \\ \end{aligned}43∣1299 ⇒ gcd(1299,43)=1 ⇒ 129942≡1 mod4359∣1299 ⇒ gcd(1299,59)=1 ⇒ 129958≡1 mod59
又lcm(42,58)=2lcm(21,29)=2×21×29=1218lcm\left( 42,58 \right)=2lcm\left( 21,29 \right)=2\times 21\times 29=1218lcm(42,58)=2lcm(21,29)=2×21×29=1218,因此有
12991218≡1mod4312991218≡1mod59}⇒12991218≡1modlcm(43,58)=2537\left. \begin{aligned} & {{1299}^{1218}}\equiv 1\text{ }\bmod 43 \\ & {{1299}^{1218}}\equiv 1\text{ }\bmod 59 \\ \end{aligned} \right\}\text{ }\Rightarrow \text{ }{{1299}^{1218}}\equiv 1\text{ }\bmod \text{ }lcm\left( 43,58 \right)=253712991218≡1 mod4312991218≡1 mod59} ⇒ 12991218≡1 mod lcm(43,58)=2537
设1299937≡amod2537{{1299}^{937}}\equiv a\text{ }\bmod 25371299937≡a mod2537,则有
1≡12991218=1299281×1299937≡1299281amod25371\equiv {{1299}^{1218}}={{1299}^{281}}\times {{1299}^{937}}\equiv {{1299}^{281}}a\text{ }\bmod 25371≡12991218=1299281×1299937≡1299281a mod2537
因此接下来可以先解1299281≡bmod2537{{1299}^{281}}\equiv b\text{ }\bmod 25371299281≡b mod2537解出bbb,然后再(用解不定方程法)解ba≡1mod27ba\equiv 1\text{ mod27}ba≡1 mod27解出amod2537a\text{ }\bmod 2537a mod2537。
后面过程省略。法四
同法二前面的过程,推出了
{1299937≡15mod431299937≡1mod59\left\{ \begin{aligned} & {{1299}^{937}}\equiv 15\text{ }\bmod 43 \\ & {{1299}^{937}}\equiv 1\text{ }\bmod 59 \\ \end{aligned} \right.{1299937≡15 mod431299937≡1 mod59
因此有
1299937∈A={x:{x≡1mod59x≡15mod43}{{1299}^{937}}\in A=\left\{ x:\left\{ \begin{aligned} & x\equiv 1\text{ }\bmod 59 \\ & x\equiv 15\text{ }\bmod 43 \\ \end{aligned} \right. \right\}1299937∈A={x:{x≡1 mod59x≡15 mod43}
令
B={x:x=59y×15+43z×1,{59y≡1mod4343z≡1mod59}B=\left\{ \text{ }x:x=59y\times 15+43z\times 1,\text{ }\left\{ \begin{aligned} & 59y\equiv 1\text{ }\bmod 43 \\ & 43z\equiv 1\text{ }\bmod 59 \\ \end{aligned} \right.\text{ } \right\}B={ x:x=59y×15+43z×1, {59y≡1 mod4343z≡1 mod59 }
为了严谨起见,现先证明
A=BA=BA=B
一方面,∀x∈B,∃y,z,s.t.\forall x\in B,\text{ }\exists y,z,\text{ }s.t.∀x∈B, ∃y,z, s.t.
x=59y×15+43z×1x=59y\times 15+43z\times 1x=59y×15+43z×1
59y≡1mod4343z≡1mod59}⇒{59y×15+43z×1≡0×15+1×1=1mod5959y×15+43z×1≡1×15+0×1=15mod43⇒{x≡1mod59x≡15mod43⇒x∈A,B⊆A\begin{aligned} & \left. \begin{aligned} & 59y\equiv 1\text{ }\bmod 43 \\ & 43z\equiv 1\text{ }\bmod 59 \\ \end{aligned} \right\}\text{ }\Rightarrow \text{ }\left\{ \begin{aligned} & 59y\times 15+43z\times 1\equiv 0\times 15+1\times 1=1\text{ }\bmod 59 \\ & 59y\times 15+43z\times 1\equiv 1\times 15+0\times 1=15\text{ }\bmod 43 \\ \end{aligned} \right. \\ & \\ & \Rightarrow \left\{ \begin{aligned} & x\equiv 1\text{ }\bmod 59 \\ & x\equiv 15\text{ }\bmod 43 \\ \end{aligned} \right.\text{ }\Rightarrow \text{ }x\in A,\text{ }B\subseteq A \\ \end{aligned}59y≡1 mod4343z≡1 mod59} ⇒ {59y×15+43z×1≡0×15+1×1=1 mod5959y×15+43z×1≡1×15+0×1=15 mod43⇒{x≡1 mod59x≡15 mod43 ⇒ x∈A, B⊆A
另一方面,∀x∈A\forall x\in A∀x∈A, 考虑关于y,zy,zy,z的二元一次方程
59y×15+43z×1=x59y\times 15+43z\times 1=x59y×15+43z×1=x
由于gcd(59×15,43×1)=1∣x\gcd \left( 59\times 15,43\times 1 \right)=\left. 1 \right|xgcd(59×15,43×1)=1∣x,因此方程有解。且有
{x≡1mod59x≡15mod43⇒{59y×15+43z×1≡1mod5959y×15+43z×1≡15mod43⇒{43z×1≡1mod5959y×15≡15mod43⇒{43z≡1mod5959y≡1mod43(∵gcd(1,59)=1,gcd(15,43)=1)\begin{aligned} & \left\{ \begin{aligned} & x\equiv 1\text{ }\bmod 59 \\ & x\equiv 15\text{ }\bmod 43 \\ \end{aligned} \right. \\ & \Rightarrow \left\{ \begin{aligned} & 59y\times 15+43z\times 1\equiv 1\text{ }\bmod 59 \\ & 59y\times 15+43z\times 1\equiv 15\text{ }\bmod 43 \\ \end{aligned} \right. \\ & \Rightarrow \left\{ \begin{aligned} & 43z\times 1\equiv 1\text{ }\bmod 59 \\ & 59y\times 15\equiv 15\text{ }\bmod 43 \\ \end{aligned} \right. \\ & \Rightarrow \left\{ \begin{aligned} & 43z\equiv 1\text{ }\bmod 59 \\ & 59y\equiv 1\text{ }\bmod 43 \\ \end{aligned} \right.\text{ }\left( \because \gcd \left( 1,59 \right)=1,\text{ }\gcd \left( 15,43 \right)=1 \right) \\ \end{aligned}{x≡1 mod59x≡15 mod43⇒{59y×15+43z×1≡1 mod5959y×15+43z×1≡15 mod43⇒{43z×1≡1 mod5959y×15≡15 mod43⇒{43z≡1 mod5959y≡1 mod43 (∵gcd(1,59)=1, gcd(15,43)=1)
因此有x∈B,A⊆Bx\in B,\text{ }A\subseteq Bx∈B, A⊆B。
综上有A=BA=BA=B。
基于此,我们可考虑通过解
{59y≡1mod4343z≡1mod59\left\{ \begin{aligned} & 59y\equiv 1\text{ }\bmod 43 \\ & 43z\equiv 1\text{ }\bmod 59 \\ \end{aligned} \right.{59y≡1 mod4343z≡1 mod59
间接解出
1299937=59y0×15+43z0×1mod2537(∃y0,z0){{1299}^{937}}=59{{y}_{0}}\times 15+43{{z}_{0}}\times 1\text{ }\bmod 2537\left( \exists {{y}_{0}},{{z}_{0}} \right)1299937=59y0×15+43z0×1 mod2537(∃y0,z0)
59y≡1mod43⇔(59−43)y=16y≡1mod43⇔16y≡1+43=44mod43⇔4y≡11mod43(∵gcd(4,43)=1)⇔4y≡11+43=54mod43⇔2y≡27mod43(∵gcd(2,43)=1)⇔2y≡27+43=70mod43⇔y≡35mod4343z≡1mod59⇔(43−59)z=−16z≡1mod59⇔−16z≡1+59=60mod59⇔−4z≡15mod59(∵gcd(4,59)=1)⇔−4z≡(15−59)=−44mod59⇔z≡11mod59\begin{matrix} \begin{aligned} & 59y\equiv 1\text{ }\bmod 43 \\ & \Leftrightarrow \left( 59-43 \right)y=16y\equiv 1\text{ }\bmod 43 \\ & \Leftrightarrow 16y\equiv 1+43=44\text{ }\bmod 43 \\ & \Leftrightarrow 4y\equiv 11\text{ }\bmod 43\text{ }\left( \because \gcd \left( 4,43 \right)=1 \right) \\ & \Leftrightarrow 4y\equiv 11+43=54\text{ }\bmod 43 \\ & \Leftrightarrow 2y\equiv 27\text{ }\bmod 43\text{ }\left( \because \gcd \left( 2,43 \right)=1 \right) \\ & \Leftrightarrow 2y\equiv 27+43=70\text{ }\bmod 43 \\ & \Leftrightarrow y\equiv 35\text{ }\bmod 43 \\ \end{aligned} & {} & \begin{aligned} & 43z\equiv 1\text{ }\bmod 59 \\ & \Leftrightarrow \left( 43-59 \right)z=-16z\equiv 1\text{ }\bmod 59 \\ & \Leftrightarrow -16z\equiv 1+59=60\text{ }\bmod 59 \\ & \Leftrightarrow -4z\equiv 15\text{ }\bmod 59\text{ }\left( \because \gcd \left( 4,59 \right)=1 \right) \\ & \Leftrightarrow -4z\equiv \left( 15-59 \right)=-44\text{ }\bmod 59 \\ & \Leftrightarrow z\equiv 11\text{ }\bmod 59 \\ \end{aligned} \\ \end{matrix}59y≡1 mod43⇔(59−43)y=16y≡1 mod43⇔16y≡1+43=44 mod43⇔4y≡11 mod43 (∵gcd(4,43)=1)⇔4y≡11+43=54 mod43⇔2y≡27 mod43 (∵gcd(2,43)=1)⇔2y≡27+43=70 mod43⇔y≡35 mod4343z≡1 mod59⇔(43−59)z=−16z≡1 mod59⇔−16z≡1+59=60 mod59⇔−4z≡15 mod59 (∵gcd(4,59)=1)⇔−4z≡(15−59)=−44 mod59⇔z≡11 mod59
于是对于1299937∈A=B{{1299}^{937}}\in A=B1299937∈A=B,∃y0≡35mod43,z0≡11mod59\exists {{y}_{0}}\equiv 35\text{ }\bmod 43,\text{ }{{z}_{0}}\equiv 11\text{ }\bmod 59∃y0≡35 mod43, z0≡11 mod59,使得
1299937mod2537≡59y0×15+43z0×1≡59×35×15+43×11×1=31448≡1004mod2537\begin{aligned} & \text{ }{{1299}^{937}}\text{ }\bmod 2537 \\ & \equiv 59{{y}_{0}}\times 15+43{{z}_{0}}\times 1 \\ & \equiv 59\times 35\times 15+43\times 11\times 1 \\ & =31448 \\ & \equiv 1004\text{ }\bmod 2537 \\ \end{aligned} 1299937 mod2537≡59y0×15+43z0×1≡59×35×15+43×11×1=31448≡1004 mod2537上面不同的方法都将129912991299解密为1004↔10,04↔K,E1004\leftrightarrow 10,\text{ }04\text{ }\leftrightarrow \text{ }K,E1004↔10, 04 ↔ K,E。
初等数论 课堂笔记 第三章 -- 保密通讯与公开密钥相关推荐
- 初等数论 课堂笔记 第三章 --同余及其一些有趣的应用
索引 同余性质 定理: ∀a,b∈Z\forall a,b\in \mathbb{Z}∀a,b∈Z,有a≡b(modm)⇔m∣(a−b)⇔∃t∈Z,a=b+mta\equiv b\left( \bmo ...
- 管理系统中计算机应用第四章重点,管理系统中计算机应用课堂笔记第四章(4)...
管理系统中计算机应用课堂笔记第四章(4) 分类:自考 | 更新时间:2016-07-08| 来源:转载 这个分析和抽象工作可分以下三步进行: 5.2.1数据流程图的绘制 数据流程图既是对原系统进行分析 ...
- 深入理解 C 指针阅读笔记 -- 第三章
Chapter3.h #ifndef __CHAPTER_3_ #define __CHAPTER_3_/*<深入理解C指针>学习笔记 -- 第三章*//*它们都保存在栈中的什么位置?*/ ...
- 《Go语言圣经》学习笔记 第三章 基础数据类型
<Go语言圣经>学习笔记 第三章 基础数据类型 目录 整型 浮点数 复数 布尔型 字符串 常量 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记, ...
- 计算机系统导论第九章,计算机系统导论 -- 读书笔记 -- 第三章 程序的机器级表示 (持续更新)...
计算机系统导论 -- 读书笔记 -- 第三章 程序的机器级表示 (持续更新) 第三章 程序的机器级表示 3.1 历史观点 3.2 程序编码 1. 命令行 (1)编译 Linux> gcc -Og ...
- Android群英传笔记——第三章:Android控件架构与自定义控件讲解
Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...
- java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略
java虚拟机读书笔记 第三章 垃圾收集器和内存分配策略 GC需要完成的三件事情:哪些内存需要回收.什么时候回收.如何回收 垃圾回收器在对堆进行回收前,首先要确定那些对象存活,哪些对象已经死去,判断的 ...
- Android群英传神兵利器读书笔记——第三章:Android Studio奇技淫巧
Android群英传神兵利器读书笔记--第三章:Android Studio奇技淫巧 这篇文章篇幅较长,可以使用版权声明下面的目录,找到感兴趣的进行阅读 目录 3.1 Android Studio使用 ...
- 《金融学》笔记 第三章 信用、利息和利率
<金融学>笔记 第三章 信用.利息和利率 前言 在<<金融学>笔记>中开了一个头,现在完善具体细节. 金融范畴篇 第一章 货币的本质 第二章 货币制度 第三章 信用 ...
最新文章
- 怎么讲iso镜像文件使用ultroISO写入到空白的光盘中?
- windows平台下vlc编译之六:vlc-0.9.8a的编译
- 如何攻击Java Web应用【转载】
- VTK:提取可见细胞用法实战
- How to configure a different backend system for OData consumption
- flex label 换行
- mysql申请审核系统_Mysql审核工具archery
- 【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)
- 混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践
- 阿里云自带的mysql_阿里云Centos使用自带mysql
- clickhouse MergeTree系列引擎
- php api 在线编辑导出,api在线管理,调试,文档生成工具之Apizza
- cf. ConneR and the A.R.C. Markland-N
- 【云驻共创】华为云助力加速构建企业数据资产和数据治理生产线
- 基于matlab的运动模糊图像处理,基于matlab运动模糊图像处理
- [GXOI/GZOI2019]宝牌一大堆
- SSL在线生成地址惠存
- python统计小说人物_python统计喜欢的小说主角出场次数
- MySQL数据库:创建一个表,并执行插入、修改和删除数据操作
- Altium Designer 20 安装方法及步骤