Tải bản đầy đủ (.pdf) (12 trang)

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ã

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (323.67 KB, 12 trang )

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..p1 :
a := 1 :
b := 17 :


f := x ,y   y 2 x 3 a *x b  mod p;












TapDiem := seq 
 msolvex i, f x ,y , p ,i 0..p1 :
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 : 0A2  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 2A2 
lamda :
mod p;
B 1A 1







2

x : lamda  A1 B 1 mod p;






y : A 2  lamda * A1 x  mod p;
elif B 2  A 2  0 mod p then


3* A1 2 a 

 



lamda :
mod p;
2*A2









x : lamda  2 * A1  mod p;
2


17


Journal of Science – 2015, Vol. 8 (4), 10 – 21



Part D: Natural Sciences, Technology and Environment



y : A 2  lamda * A1x  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



×