! 
! 
! 
yoshiko
! 
! 
K=3
K
! 
abcdefghijklmnopqrstuvwxyz
BRVKLNR
abcdefghijklmnopqrstuvwxyz
DEFGHIJKLMNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUVWXYZABC
3
K=3
yoshiko
! 
K=3
BRVKLNR
abcdefghijklmnopqrstuvwxyz
DEFGHIJKLMNOPQRSTUVWXYZABC
3
! 
! 
M
K = 0 M−1
BRVKLNR
! 
K= 0 25
0:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
BRVKLNR
brvklnr
aqujkmq
zptijlp
yoshiko
xnrghjn
wmqfgim
vlpefhl
ukodegk
tjncdfj
simbcei
rhlabdh
qgkzacg
pfjyzbf
! 
K=0
13: BRVKLNR
14: BRVKLNR
15: BRVKLNR
16: BRVKLNR
17: BRVKLNR
18: BRVKLNR
19: BRVKLNR
20: BRVKLNR
321: BRVKLNR
yoshiko"
22:
BRVKLNR
23: BRVKLNR
24: BRVKLNR
25: BRVKLNR
oeixyae
ndhwxzd
mcgvwyc
lbfuvxb
kaetuwa
jzdstvz
iycrsuy
hxbqrtx
gwapqsw "
fvzoprv
euynoqu
dtxmnpt
cswlmos
25
JYREWWCM
! 
K
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
!  F :
!  F-1
:F
F(a) = b
! 
F-1(b)
=a
F-1
M
! 
M!
! 
F
! 
M = 26
M!
10
120
F-1
! 
! 
Wikipedia
4
1000
! 
! 
! 
! 
! 
! 
! 
! 
! 
B
B
! 
! 
A
B
B
! 
! 
1977 MIT
Rivest, Shamir, Adleman
! 
x
x mod m
m
! 
35 mod 3 = 2
8292
77
59417
136
!  74
mod 12 = 7×7×7×7 mod 12 = 2401 mod 12 = 1
!  74
!  716
mod 12
mod
mod
!  74
mod 12
= ((72 mod 12) × (72 mod 12) ) mod 12
= ((49 mod 12) × (49 mod 12)) mod 12
= (1 × 1) mod 12 = 1
xy+z mod m = ((xy mod m)×(xz mod m)) mod m
(E, N)
D
0
7
13
17
(E, N) = (3, 33)
D=7
N-1
24
17
y = xE mod N
x = yD mod N
173 mod 33 = 4913 mod 33 = 29
13
19
29
30
D
29
(E, N) = (3, 33)
D=7
(E, N) = (3, 33)
1. 
8
,
2. 
17
D=7
8
297 mod 33
= ((293 mod 33)2 × (29 mod 33)) mod 33
= ((24389 mod 33)2 ×29) mod 33
= (22 × 29) mod 33
= 116 mod 33 = 17
29
(E, N)
 
D
N
p
q
N = p×q
 
E
D
E × D = k × LCM(p−1,q−1) + 1
E, D, k
p=3, q=11
N = 33
LCM(p−1, q−1)
=LCM(2,10)
=10
k=2, E=3, D=7
LCM:"
! 
! 
(E, N)
D
p, q
(E, N)
D
p, q
! 
D
! 
D
! 
D
! 
z
D
x
x = zD mod N
! 
D
D
1, 2, ...
p
! 
! 
! 
! 
D
D
N
q
512
21024
(E, N)
D
N
! 
E×D = k×LCM(p−1, q−1) + 1
! 
! 
p
q
k = 1, 2, ...
! 
! 
!  Rivest
p
D
N
p
q
N = p×q
q
(1970)
(129
)
114381625757888867669235779976146
612010218296721242362562561842935
706935245733897830597123563958705
058989075147599290026879543541
! 
!  1600
3490529510847650949147849619903898
133417764638493387843990820577
"
"
"
"×
3276913299326670954996198819083446
1413177642967992942539798288533
! 
N
10
! 
10
! 
...