Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
CẤU TRÚC MÔĐUN CỦA TẬP ĐIỂM CÓ BẬC HỮU HẠN TRÊN ĐƯỜNG CONG
ELLIPTIC VÀ ỨNG DỤNG TRONG MẬT MÃ
Võ Anh Tuấn1
1
ThS. Trường Đại học An Giang
Thông tin chung:
Ngày nhận bài: 30/12/14
Ngày nhận kết quả bình duyệt:
15/02/15
Ngày chấp nhận đăng: 12/15
ABSTRACT
Title:
Module structure of the set of
points having finite order on
elliptic curve and application in
cryptography
Weierstrass form over
Từ khóa:
Đường cong elliptic khơng kỳ
dị, điểm có bậc hữu hạn, cấu
trúc module, mật mã
Keywords:
Nonsingular elliptic curve, the
point has finite order, the
module structure, cryptography
The main aim of this article is describing module structure of the set of the points
P on elliptic curve which satisfy nP=O. In this set, P is the point having finite
order on nonsingular elliptic curve E. The elliptic’s equation is given by
p
field (p is a prime number greater than 3) and O is
the point at infinity. The set of the points which satisfy this condition is a subgroup
and its structure is a
n module. Beside this new n module structure,
this article also describes a new encryption method based on this structure by
maple 13.0 software.
TÓM TẮT
Mục đích chính của bài báo này là mơ tả cấu trúc môđun của tập hợp những điểm
P nằm trên đường cong elliptic thỏa mãn điều kiện nP=O. Trong đó, P là điểm
có bậc hữu hạn trên đường cong elliptic E khơng kỳ dị, phương trình của đường
cong elliptic E được cho bởi dạng Weierstrass trên trường p (là số nguyên tố
lớn hơn 3), O là điểm tại vô cùng. Tập hợp những điểm mà nó thỏa mãn điều kiện
này là một nhóm con và cấu trúc của nó là n môđun. Bên cạnh cấu trúc
môđun mới này, bài báo cịn mơ tả một phương pháp mã hóa dựa trên cấu trúc
này bằng phần mềm maple 13.0.
p n là nhóm con của
1. GIỚI THIỆU
nP=O thì khi đó E
Ta ký hiệu tập điểm của đường cong elliptic E trên
p và cấu trúc của nhóm con này là một
trường p (p là số nguyên tố lớn hơn 3) là
E
p . Để tập điểm này trở thành nhóm aben ta
E
n module. Trong trường hợp n là một số
bổ sung vào điểm tại vô cùng O và quy tắc cộng
điểm. Một điểm P trên đường cong elliptic E được
gọi là có bậc n nếu nP O, mP O với mọi
nguyên tố ta sẽ có được một phương pháp mã hóa
dựa vào cấu trúc mơđun của nhóm con này.
Trong suốt bài báo này phương trình của đường
cong elliptic E được cho bởi dạng Weierstrass:
p n là tập
số nguyên 1 m n . Nếu gọi E
2
3
y x ax b
hợp những điểm trên đường cong elliptic thỏa mãn
3
2
4a 27b 0.
10
thỏa
mãn
điêu
kiện
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
2. CẤU TRÚC MÔĐUN CỦA TẬP ĐIỂM CÓ BẬC HỮU HẠN TRÊN ĐƯỜNG CONG ELLPTIC
2.1 Định nghĩa
Điểm P trên đường cong elliptic được gọi là điểm có bậc n nếu nP = O , mP O, với mọi số nguyên
1 m n và ký hiệu bậc của P là deg(P).
2.2 Mệnh đề
Cho P là điểm có bậc n trên đường cong elliptic E khơng kỳ dị. Khi đó, với mọi số nguyên k thì điểm
kP mP . Trong đó m là số dư trong phép chia k cho n. Hay nói cách khác với mọi
k m n , P E p thì kP mP .
n
Chứng minh. Với k m n thì tồn tại số nguyên a sao cho k m an . Khi đó với mọi
P E p ta có kP m an P . Bằng phương pháp quy nạp ta chứng minh kP mP .
n
Thật vậy, với a 0 kP mP hiển nhiên đúng.
+ Với a 1 kP m n P mP nP do cấu trúc mơđun và vì nP=O nên
kP mP .
+ Với a 2 kP m 2n P lý luận tương tự như trên ta được kP mP .
+ Giử sử đúng a l 1 ta chứng minh đúng với a l . Nghĩa là kP m l 1 n P mP
ta chứng minh kP m ln P mP . Thật vậy,
kP m l 1 1 n P kP m l 1 n n P m l 1 n P nP
Do giả thuyết quy nạp m l 1 n P mP
kP mP nP
Vì nP O nên ta thu được kP mP .
n . □
Dễ dàng chứng minh được điểm mP E p
2.3 Mệnh đề
Cho đường cong Elliptic E xác định trên trường p (p> 3) thỏa mãn điều kiện không kỳ dị. Khi đó,
E p
n
là một mơđun.
n
Chứng minh.
i. Trước tiên ta chứng minh E p
+ E p
n
n
là nhóm con của E p .
E p , điểm O E p
n
do đó E p
11
n
.
Journal of Science – 2015, Vol. 8 (4), 10 – 21
+ P , Q E p
n
Part D: Natural Sciences, Technology and Environment
.
ta chứng minh P Q E p
n
Thật vậy, ta xét điểm n(P Q ) nP nQ do tính chất của một môđun.
Mà P , Q E p
n
nên nP O, nQ O nP nQ O n (P Q ) O
P Q E p
n
+ Ta xét phần tử đối của P, giả sử Q là phần tử đối của P. Khi đó, ta có:
P Q O n(P Q ) O
Mặt khác, n(P Q ) nP nQ nP nQ O , mà nP O , do đó: nQ O . Từ đây
ta có được Q E p
Như vậy, E p
n
n
.
bảo tồn phép tốn cộng do đó nó là nhóm con của E p .
ii. Tiếp theo ta xây dựng phép nhân ngoài.
n E p
n
(m, P )
E p
n
mP
. Ta có: k (lP ) k (lP )
a. Tính chất kết hợp: k , l n , P E p
n
k (lP ) k (lP ) k (lP ) (kl )P k (lP ) (kl )P k (lP ) (kl )P .
. Ta có:
b. Tính chất phân phối: k , l n , P , Q E p
n
+ (k l )P (k l )P (k l )P (k l )P (k l )P (k l )P
(k l )P kP lP (k l )P kP lP .
+ k (P Q ) k (P Q ) k (P Q ) kP kQ k (P Q ) kP kQ .
c. Tính chất Unita. Ta có: 1P 1P P .
Rõ ràng đây là một mơđun.
n
3. ỨNG DỤNG
Ví dụ 1. Sử dụng giao thức trao đổi chìa khóa của Diffie-Hellman vào phương pháp mã hóa sử dụng điểm
có bậc hữu hạn. Giả sử T cần gởi văn bản mật cho C là:
“Mathematics is my favorite subject”.
12
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Giả sử khóa bí mật của T là
trong
ví dụ
Part D: Natural Sciences, Technology and Environment
k1 2 , khóa bí mật của B là k2 3 và u là phần tử được chọn ngẫu nhiên
u 7 . Khi đó: Khóa cơng khai của T là KSCKT 7k1 49 . Khóa cơng khai của
C là KSCKC 7
k2
343 .
* Tiến trình mã hóa: T muốn gởi văn bản cho C tiến hành như sau: T đặt tương ứng văn bản rõ với một
điểm P có bậc là một số nguyên tố n thuộc đường cong E và tính khóa bí mật cho phiên làm việc này là
k
K (KSCKC ) 1 117649 . T tiến hành mã hóa bằng cách tính điểm nhân K .P Q và gởi cho
C điểm Q.
* Tiến trình giải mã: C nhận được điểm Q tiến hành giải mã như sau:
k
C tính khóa của phiên làm việc này là M (KSCKT ) 2 và tìm bậc của Q.
C tìm
m n , tính nghịch đảo m
1
1
và giải mã bằng cách tính điểm m Q .
Chứng minh.
Vì n là một số nguyên tố. Khi đó, n là một trường. Với mọi m n , m 0 luôn tồn tại m
sao cho m.m
1
1
n
1 mà 1P 1P P .
Như vậy, với một số ngun k bất kỳ được chọn làm khóa thì luôn tồn tại m n sao cho
k m m n kP mP Q .
1
1
1
Để khôi phục lại được dữ liệu, ta lấy m Q m (mP ) (m m )P 1P .
Mà 1P 1P P . Kết luận: Dữ liệu được khơi phục.
4. MƠ TẢ PHƯƠNG PHÁP BẰNG PHẦN MỀM MAPLE 13.0
Bảng tương ứng số - ký tự - điểm.
Tương ứng hệ
thập phân
0
Đồ hoạ
(Hiển thị ra
được)
Khoảng
trống (␠)
Tương ứng với
điểm trên
đường cong E
Tương ứng hệ
thập phân
Đồ hoạ
(Hiển thị ra
được)
Tương ứng với
điểm trên
đường cong E
[19,67]
49
w
[116,160]
1
A
[22,91]
50
x
[120,93]
2
B
[23,99]
51
y
[124,190]
3
C
[26,100]
52
z
[125,40]
4
D
[27,67]
53
!
[126,195]
5
E
[28,194]
54
#
[135,60]
6
F
[30,135]
55
$
[138,139]
7
G
[33,52]
56
%
[140,142]
8
H
[34,154]
57
&
[142,198]
13
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
Tương ứng hệ
thập phân
Đồ hoạ
(Hiển thị ra
được)
Tương ứng với
điểm trên
đường cong E
Tương ứng hệ
thập phân
Đồ hoạ
(Hiển thị ra
được)
Tương ứng với
điểm trên
đường cong E
9
I
[35,45]
58
'
[143,26]
10
J
[37,132]
59
(
[144,48]
11
K
[38,191]
60
)
[145,80]
12
L
[40,52]
61
*
[146,124]
13
M
[41,85]
62
+
[147,155]
14
N
[43,13]
63
,
[148,59]
15
O
[45,42]
64
-
[150,87]
16
P
[46,93]
65
.
[155,19]
17
Q
[47,170]
66
/
[157,4]
18
R
[49,32]
67
0
[161,109]
19
S
[50,147]
68
1
[164,88]
20
T
[53,101]
69
2
[167,189]
21
U
[54,194]
70
3
[168,15]
22
V
[55,189]
71
4
[173,51]
23
W
[56,177]
72
5
[179,189]
24
X
[57,178]
73
6
[181,140]
25
Y
[58,200]
74
7
[183,47]
26
Z
[61,36]
75
8
[189,84]
27
a
[62,68]
76
9
[190,158]
28
b
[64,72]
77
:
[191,199]
29
c
[65,35]
78
;
[195,14]
30
d
[69,101]
79
<
[196,184]
31
e
[70,141]
80
=
[197,11]
32
f
[77,17]
81
>
[198,7]
33
g
[80,45]
82
?
[202,83]
34
h
[86,145]
83
@
[205,74]
35
i
[90,127]
84
[
[206,84]
36
j
[92,117]
85
]
[212,14]
37
k
[94,25]
86
{
[213,23]
38
l
[95,175]
87
}
[215,116]
39
m
[97,46]
88
^
[219,89]
40
n
[98,42]
89
_
[220,22]
41
o
[99,49]
90
`
[222,53]
42
p
[101,148]
91
|
[224,6]
43
q
[104,135]
92
~
[234,53]
44
r
[106,13]
93
Ñ
[238,82]
14
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
Tương ứng hệ
thập phân
Đồ hoạ
(Hiển thị ra
được)
Tương ứng với
điểm trên
đường cong E
Tương ứng hệ
thập phân
Đồ hoạ
(Hiển thị ra
được)
Tương ứng với
điểm trên
đường cong E
45
s
[107,61]
94
ä
[240,103]
46
t
[112,34]
95
đ
[247,82]
47
u
[113,71]
96
ỉ
[250,89]
48
v
[114,98]
* Ghi chú: Các điểm trong bảng tương ứng trên, đều là điểm có bậc là số nguyên tố 373, của đường cong elliptic E có
phương trình
2
3
y x x 17
trên trường
401.
Các bảng tương ứng: Ký tự - số, số - ký tự, điểm - số, số - điểm cần thiết trong q trình mã hóa.
Ứng dụng mã hóa.
[ BangKyTuSo : {" "=0,"A"=1,"B"=2,"C"=3,"D"=4,"E"=5,"F"=6,"G"=7,"H"=8,
"I"=9,"J"=10,"K"=11,"L"=12,"M"=13,"N"=14,"O"=15,"P"=16,"Q"=17,"R"=18,"S"=19,
"T"=20,"U"=21,"V"=22,"W"=23,"X"=24,"Y"=25,"Z"=26,"a"=27,"b"=28,"c"=29,
"d"=30,"e"=31,"f"=32,"g"=33,"h"=34,"i"=35,"j"=36,"k"=37,"l"=38,"m"=39,"n"=40,
"o"=41, "p"=42,"q"=43,"r"=44,"s"=45,"t"=46,"u"=47,"v"=48,"w"=49,"x"=50,"y"=51,
"z"=52,"!"=53,"#"=54,"$"=55,"%"=56,"&"=57,"'"=58,"("=59,")"=60,"*"=61,"+"=62,
","=63,"-"=64,"."=65,"/"=66,"0"=67,"1"=68,"2"=69,"3"=70,"4"=71,"5"=72,"6"=73,
"7"=74,"8"=75, " 9 " 76, " : " 77, "; " 78, " " 79, " " 80, " " 81,
"?" 82, "@" 83, " [ " 84, " ]" 85, " { " 86, " } " 87, "^ " 88, "_" 89,
"`" 90, " | " 91, " ~ " 92, " Ñ " 93, " ä " 94, " ñ " 95, " æ " 96 :
[ n1 : nop BangKyTuSo :
[ BangSoKyTu : {0=" ",1="A",2="B",3="C",4="D",5="E",6="F",7="G",8="H",
9="I",10="J",11="K",12="L",13="M",14="N",15="O",16="P",17="Q",18="R",19="S",
20="T",21="U",22="V",23="W",24="X",25="Y",26="Z",27="a",28="b",29="c",
30="d",31="e",32="f",33="g",34="h",35="i",36="j",37="k",38="l",39="m",40="n",
41="o", 42 "p",43="q",44="r",45="s",46="t",47="u",48="v",49="w",50="x",51="y",
52="z",53="!",54="#",55="$",56="%",57="&",58="'",59="(",60=")",61="*",62="+",
63=",",64="-",65=".",66="/",67="0",68="1",69="2",70="3",71="4",72="5",73="6",
74="7",75="8", 76 " 9 ", 77 " : ", 78 "; ", 79 " ", 80 " ", 81 " ",
82 "?", 83 "@", 84 " [ ", 85 " ]", 86 " { ", 87 " } ", 88 "^ ", 89 "_",
90 "`", 91 " | ", 92 " ~ ", 93 " Ñ ", 94 " ä ", 95 " ñ ", 96 " æ " :
[ n2 : nop BangSoKyTu :
[ BTUSoVoiD : {0=[19, 67],1=[22,91],2=[23,99],3=[26,100],4=[27,67],5=[28,94],
15
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
6=[30,135],7=[33,52],8=[34,154],9=[35,45],10=[37,132],11=[38,191],12=[40,52],
13=[41,85],14=[43,13],15=[45,42],16=[46,93],17=[47,170],18=[49,32],19=[50,147],
20=[35,101],21=[54,194],22=[55,189],23=[56,177],24=[57,178],25=[58,200],26=[61,36],
27=[62,68],28=[64,72],29=[65,35],30=[69,101],31=[70,141],32=[77,17],33=[80,45],
34=[86,145],35=[90,127],36=[92,117],37=[94,25],38=[95,175],39=[97,46],40=[98,42],
41=[99,49], 42 [101,148],43=[104,135],44=[106,13],45=[107,61],46=[112,34],
47=[113,71],48=[114,98],49=[116,106],50=[120,93],51=[124,190],52=[125,40],
53=[126,195],54=[135,60],55=[138,139],56=[140,142],57=[142,198],58=[143,26],
59=[144,48],60=[145,80],61=[146,124],62=[147,155],63=[148,59],64=[150,87],
65=[155,19],66=[157,4],67=[161,109],68=[164,88],69=[167,189],70=[168,115],
71=[173,51],72=[179,89],73=[181,140],74=[183,47],75=[189,84], 76 [190,158],
77 [191,199], 78 [195,14], 79 [196,184], 80 [197,11], 81 [198,7], 82 [202,83],
83 [205,74], 84 [206,84], 85 [212,14], 86 [213,23], 87 [215,116], 88 [219,89],
89 [220,22], 90 [222,53], 91 [224,6], 92 [234,53], 93 [238,82], 94 [240,103],
95 [247,82], 96 [250,89] :
[ n 3 : nop BTUSoVoiD :
[ BTUDVoiSo : {[19, 67]=0,[22,91]=1,[23,99]=2,[26,100]=3,[27,67]=4,[28,94]=5,
[30,135]=6,[33,52]=7,[34,154]=8,[35,45]=9,[37,132]=10,[38,191]=11,[40,52]=12,
[41,85]=13,[43,13]=14,[45,42]=15,[46,93]=16,[47,170]=17,[49,32]=18,[50,147]=19,
[35,101]=20,[54,194]=21,[55,189]=22,[56,177]=23,[57,178]=24,[58,200]=25,[61,36]=26,
[62,68]=27,[64,72]=28,[65,35]=29,[69,101]=30,[70,141]=31,[77,17]=32,[80,45]=33,
[86,145]=34,[90,127]=35,[92,117]=36,[94,25]=37,[95,175]=38,[97,46]=39,[98,42]=40,
[99,49]=41,[101,148]=42,[104,135]=43,[106,13]=44,[107,61]=45,[112,34]=46,
[113,71]=47,[114,98]=48,[116,106]=49,[120,93]=50,[124,190]=51,[125,40]=52,
[126,195]=53,[135,60]=54,[138,139]=55,[140,142]=56,[142,198]=57,[143,26]=58,
[144,48]=59,[145,80]=60,[146,124]=61,[147,155]=62,[148,59]=63,[150,87]=64,
[155,19]=65,[157,4]=66,[161,109]=67,[164,88]=68,[167,189]=69,[168,115]=70,
[173,51]=71,[179,89]=72,[181,140]=73,[183,47]=74,[189,84]=75,[190,158]=76,
[191,199]=77,[195,14]=78,[196,184]=79,[197,11]=80,[198,7]=81,[202,83]=82,
[205,74]=83,[206,84]=84,[212,14]=85,[213,23]=86,[215,116]=87,[219,89]=88,
[220,22]=89,[222,53]=90,[224,6]=91,[234,53]=92,[238,82]=93,[240,103]=94,
[247,82]=95,[250,89]=96 :
[ n 4 : nop BTUDVoiSo :
[ > Restart : with numtheory :
16
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
p := nextprime 10*40 ; p := seq i,i 0..p1 :
a := 1 :
b := 17 :
f := x ,y y 2 x 3 a *x b mod p;
TapDiem := seq
msolvex i, f x ,y , p ,i 0..p1 :
p := 401
f := x ,y y 2 x 3 ax b mod p
Chương trình con tìm điểm nghịch đảo.
[ DND : proc A ; local x , y ;
if A : infinity then return infinity ; end if ;
x : A[1] mod p;
y : 0A2 mod p;
return x ,y ;
end proc :
Chương trình con tìm điểm cộng.
[ DC : proc A,B ; local x , y, lamda ;
if A infinity then return B ; end if ;
if B infinity then return A; end if ;
if A DND B then return infinty ; end if ;
if B 1 A 1 0 mod p then
B 2A2
lamda :
mod p;
B 1A 1
2
x : lamda A1 B 1 mod p;
y : A 2 lamda * A1 x mod p;
elif B 2 A 2 0 mod p then
3* A1 2 a
lamda :
mod p;
2*A2
x : lamda 2 * A1 mod p;
2
17
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
y : A 2 lamda * A1x mod p;
end if ;
return x ,y ;
end proc :
Chương trình con tìm điểm nhân.
[ DN : proc A,k ; local i, P , Q ;
if A infinity then return A; end if ;
if k 0 then return infinity ; end if ;
P : infinity ;
Q : A;
for i from 1 by 1 while i k do
P : DC P ,Q ; end do;
return P ;
end proc :
Chương trình con tìm bậc của một điểm.
[ Bac : proc A ; local i, P ;
for i from 2 by 1 to 7919 do
P : DN A,i ;
if P infinity then P : DN A,i 1
elif return i;
end if ;
end do;
return i;
end proc :
Chương trình con tìm phần tử nghịch đảo của trường p .
[ PTND : proc n ; local x , y, i, k ;
x : n mod p;
if x 0 mod p then return infinity; end if;
for i from 1 by 1 to p 1 do
y : n * i mod p;
if y 1 mod p then y : n * i 1 mod p else return i; end if;
end do;
return i;
end proc :
[ VanBanRo : " Mathematics is my favorite subject " ;
18
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
L1 : length VanBanRo ;
DayVanBanRo : seq VanBanRo i ,i 1..L1 ;
DaySoRo : sub BangKyTuSo,DayVanBanRo ;
L2 : nop DaySoRo ;
DayDiemRo : sub BTUSoVoiD ,DaySoRo ;
L3 : nop DayDiemRo ;
VanBanRo := "Mathematics is my favorite subject"
L1 : 34
DayVanBanRo : [" M ", " a ", " t ", " h ", " e ", " m ", " a ", " t ", " i ", " c ", " s ", " ",
" i ", " s ", " ", " m ", " y ", " ", " f ", " a ", " v ", " o ", " r ", " i ", " t ", " e ", " ",
" s ", " u ", " b ", " j ", " e ", " c ", " t "]
DaySoRo : [13, 27, 46, 34, 31, 39, 27, 46, 35, 29, 45, 0, 35, 45, 0, 39, 51, 0, 32, 27, 48, 41, 44,
35, 46, 31, 0, 45, 47, 28, 36, 31, 29, 46]
L2 : 34
DayDiemRo : [ 41, 85 , 62, 68 , 112, 34 , 86.145 , 70,141 , 41, 85 , 97, 46 ,
62, 68 , 112, 34 , 90, 127 , 65, 35 , 107, 61 , 19, 67 , 90,127 , 107, 61 , 19, 67 ,
77,17 , 62, 68 , 114, 98 , 99, 49 , 106,13 , 90,127 , 112, 34 , 70, 141 , 90,127 ,
19, 67 , 107, 61 , 90, 127 , 113, 71 , 64, 72 , 92,117 , 70,141 , 65, 35 , 112, 34 ]
L3 : 34
[ k1 : 2; k2 : 3; u := 7;
k
KSCKT : u 1 ; KSCKC : u 2 ; K : KSCKC 1 ;
k
k
DayDiemMa : seq DN DayDiemRo i ,K ,i 1..L3 ;
k1 : 2
k2 : 3
u := 7
KSCKT : 49
KSCKC : 343
K : 117649
19
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
DayDiemMa : [ 13, 32 , 54, 194 , 157, 4 , 3.122 , 339, 369 , 388, 68 , 54,194 ,
157, 4 , 238, 319 , 224, 395 , 333, 312 , 310, 62 , 238, 319 , 333, 312 , 310, 62 ,
388, 68 , 90, 274 , 310, 62 , 27, 334 , 54, 194 , 395, 14 , 23, 302 , 61, 365 ,
157, 4 , 339, 369 , 310, 62 , 333, 312 , 142, 203 , 319, 207 , 219, 89 ,
339, 369 , 224, 395 , 157, 4 ]
Sau khi B nhận được dãy điểm mã này B tiến hành giải mã như sau:
[ M : KSCKT k2 mod 373;
if M 0 mod 373 then return infinity ; end if ;
for i from 1 by 1 to 372 do V : M * i mod 373;
if V 1 mod 373 then V : M * i 1 mod 373; else return i; end if ;
end do;
M : 154
109
[ N : nop DayDiemMa ;
DayDiemGiaiMa : seq DN DayDiemMa j ,109, j 1..N ;
N : 34
DayDiemGiaiMa : [ 41, 85 , 62, 68 , 112, 34 , 86.145 , 70, 141 , 41, 85 , 97, 46 ,
62, 68 , 112, 34 , 90, 127 , 65, 35 , 107, 61 , 19, 67 , 90,127 , 107, 61 , 19, 67 ,
77,17 , 62, 68 , 114, 98 , 99, 49 , 106,13 , 90,127 , 112, 34 , 70, 141 , 90,127 ,
19, 67 , 107, 61 , 90, 127 , 113, 71 , 64, 72 , 92,117 , 70,141 , 65, 35 , 112, 34 ]
[ L : nop DayDiemGiaiMa ;
DaySoGiaiMa : subs BTUDVoiSo,DayDiemGiaiMa ;
DayKyTuGiaiMa : subs BangSoKyTu,DaySoGiaiMa ;
VBGiaiMa : cat seq BangSoKyTu j , j 1..L ;
L : 34
DaySoGiaiMa : [13, 27, 46, 34, 31, 39, 27, 46, 35, 29, 45, 0, 35, 45, 0, 39, 51, 0, 32, 27,
48, 41, 44, 35, 46, 31, 0, 45, 47, 28, 36, 31, 29, 46]
DayKyTuGiaiMa : [" M ", " a ", " t ", " h ", " e ", " m ", " a ", " t ", " i ", " c ", " s ", " ",
" i ", " s ", " ", " m ", " y ", " ", " f ", " a ", " v ", " o ", " r ", " i ", " t ", " e ", " ",
" s ", " u ", " b ", " j ", " e ", " c ", " t "]
20
Journal of Science – 2015, Vol. 8 (4), 10 – 21
Part D: Natural Sciences, Technology and Environment
VBGiaiMa := "Mathematics is my favorite subject"
Ví dụ 2. Minh chứng cho việc khơng thể giải mã nếu khơng tìm được bậc của điểm thuộc đường cong.
Giả sử chọn điểm M=[41,85] tương ứng với ký tự M trong bảng tương ứng điểm, số, ký tự.
[ M : 41,85 ; DiemMa : DN M ,K ;
M : 41,85
DiemMa : 13,32
Giải mã khi tìm nghịch đảo của K trên trường p .
[ PTNDCuaKTrenZ p : PTND K ;
DiemGiaiMaTrenZ p : DN DiemMa,PTNDCuaKTrenZ p ;
PTNDCuaKTrenZ p : 18
DiemGiaiMaTrenZ p : 28,207
Giải mã trên trường n trong đó n 373 là bậc của M.
[ PTNDCuaKTrenZn : PTND K ;
DiemGiaiMaTrenZn : DN DiemMa,PTNDCuaKTrenZn ;
PTNDCuaKTrenZn : 109
DiemGiaiMaTrenZn : 41,85
5. KẾT LUẬN
TÀI LIỆU THAM KHẢO
Bài báo đã trình bày được cấu trúc môđun của tập
điểm thỏa mãn nP=O trên đường cong elliptic xác
Hà Huy Khoái. & Phạm Huy Điển. (2003). Số học
thuật toán. Hà Nội: NXB Đại học Quốc gia Hà
Nội.
định trên trường p và đưa ra được ứng dụng của
Phạm Huy Điển. (2002). Tính tốn, Lập trình và
Giảng dạy Tốn học trên Maple. Hà Nội: NXB
Khoa học và Kỹ thuật.
nó trong mã hóa thơng tin.
Điều khác biệt của phương pháp mã hóa này là mã
được lập trên trường p nhưng được giải trên
Silverman, J. H. & Tate, J. (1992). Rational Points
Elliptic Curves. USA: Springer Verlag New
York Inc.
trường n .
Cấu trúc môđun này đang được tác giả mở rộng
nghiên cứu đối với nhóm xoắn của tập điểm có bậc
hữu hạn trên đường cong elliptic và nghiên cứu
những ứng dụng của nó trong những lĩnh vực khác.
Silverman, J. H. (2009). Arithmetic Of Elliptic
Curves. USA: Springer Dordrecht Heidelberg
London New York.
Stinson, D. (1995). Cryptography: Theory and
Practice. USA: CRS press LLC.
21