1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Mật Mã và An Toàn Dữ Liệu Vấn Đề Tính Toán Với Các Số Lớn

13 345 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 551 KB

Nội dung

Báo cáo Mật Mã và An Toàn Dữ Liệu Vấn Đề Tính Toán Với Các Số Lớn Một số bài toán liên quan tới việc tính toán với các số lớn thường gặp là: Kiểm tra tính nguyên tố của một số lớn Khai căn bậc hai của số lớn Vấn đề tính lũy thừa với số mũ lớn, theo Modulo Vấn đề tính phần tử nghịch đảo các số lớn, theo Modulo. Vấn đề tính giai thừa số lớn Vấn đề các phép toán trên số lớn ( cộng, trừ, nhân, chia)

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đề tài: Vấn Đề Tính Toán Với Các Số Lớn Môn h c: M t Mã và An Toàn D Li u Giáo viên h  ng d n: PGS.TS Tr nh Nh t Ti n Ng  i th c hi n: Tr n Th Mùi 1 Gi i Thi uớ ệ  M t s bài toán liên quan t i vi c tính toán v i ộ ố ớ ệ ớ các s l n th ng g p là:ố ớ ườ ặ - Ki m tra tính nguyên t c a m t s l nể ố ủ ộ ố ớ - Khai căn b c hai c a s l nậ ủ ố ớ - V n đ tính lũy th a v i s mũ l n, theo Moduloấ ề ừ ớ ố ớ - V n đ tính ph n t ngh ch đ o các s l n, theo ấ ề ầ ử ị ả ố ớ Modulo. - V n đ tính giai th a s l nấ ề ừ ố ớ - V n đ các phép toán trên s l n ( c ng, tr , ấ ề ố ớ ộ ừ nhân, chia) 2 N i Dung Trình Bàyộ 3 Phát bi u bài toán ể 1 2 4 6 Ch ng trình Demo ươ T t ng th c hi n ư ưở ự ệ 3 1. Phát bi u bài toánể Cho hai s nguyên l n a và b có đ dài l n l t là m và ố ớ ộ ầ ượ n (ch a m và n ch s ). Th c hi n hai nhi m v :ứ ữ ố ự ệ ệ ụ - X lý d li u v i hai s nguyên l n a và bử ữ ệ ớ ố ớ - Th c hi n các phép toán: c ng , tr , nhân, chia.ự ệ ộ ừ 4 2. T t ng th c hi nư ưở ự ệ  Vi c h tr ki u d li u s nguyên và các phép toán ệ ỗ ợ ể ữ ệ ố s h c đ i v i các s có s các ch s l n trong các ố ọ ố ớ ố ố ữ ố ớ ngôn ng l p trình c p cao nh pascal, C# v n còn b ữ ậ ấ ư ẫ ị gi i h n ớ ạ 1 m c nào đó nên đ gi i quy t bài toán này ở ứ ể ả ế ta c n xây d ng riêng cho mình m t c u trúc d li u có ầ ự ộ ấ ữ ệ th l u tr đ c s l n và các phép toán s h c trên ể ư ữ ượ ố ớ ố ọ c u trúc d li u đó.ấ ữ ệ 5 2.1.X Lý D Li u ử ữ ệ - Đ a d li u v các ki u ư ữ ệ ề ể s nguyên đã có mà máy ố h tr s n đ t o ra ỗ ợ ẵ ể ạ ki u s l n.ể ố ớ - Th c hi n bi u di n ự ệ ể ễ thành các kh i, m i kh i ố ỗ ố g m 4 byteồ - Th c hi n đ a các ch ự ệ ư ữ s vào trong các kh iố ố - Xác đ nh b i công th c: ị ở ứ - result = result + (multiplier * posVal); - multiplier = multiplier *radix; Ví d : ụ A=…345 - result= 0+(1*a[0])=5 multiplier= 1*10=10 - result=5+(10*4)=45 multiplier= 10*10=100 6 2.2. Phép C ngộ Xác đ nh công th c:ị ứ Ví d :ụ  long sum = (long)bi1.data[i] + (long)bi2.data[i] + carry;  carry = sum >> 32;  result.data[i] = (uint)(sum & 0xFFFFFFFF);  a= 19 10011  b= 151111  Sum=a[0]+b[0]+0=1+1+0= 0  carry=1  Data[0]=(0&0xFFFFFFFF) =0 7 2.3. Phép Trừ Công th c:ứ Ví d : ụ - long diff = (long)bi1.data[i] - (long)bi2.data[i] -carry; - result.data[i] = (uint)(diff & 0xFFFFFFFF); - N u diff<0: carry=1ế - Ng c l i: carry=0ượ ạ  a= 19 10011  b= 151111 - diff= a[0]-b[0]-0=1-1- 0=0; data[0]=0; carry=0; 8 2.3. Phép Nhân Công th c:ứ Ví d :ụ - Ulong Val= bi1.data[i]*bi2.data[j]+ result.data[k]+mcarry; - Result.data[k]= (unit) (Val&0xFFFFFFFF) - Mcarry=(val>>32)  a= 123; b= 12  i=0, j=0,k=0(k=i,k++) Val=a[0]*b[0]+data[0]+0=2* 3+0+0=6; Data[0]=6. mcarry=0;  i=0,j=j,k=1 Val=a[0]*b[1]+data[1]+0=1* 3+0+0=3; Data[1]=3; 9 2.4. Phép Chia - B c 1ướ : Khi i< đ dài m ng (a) -1ộ ả +N u xâu t a[0] đ n a[i] v n còn nh h n b thì i++(n u ế ừ ế ẫ ỏ ơ ế i v t quá đ dài m ng (a) -1 thì du=a[0]…a[i], d ng ượ ộ ả ừ ch ng trình. Xu ng b c 2.ươ ố ướ  Bi n tam đ l u tr th ng c a các ph n nh ( đây ế ể ư ữ ươ ủ ầ ỏ ở chính là xâu : a[0]… a[i]) cho b. Khi ph n nh v n còn ầ ỏ ẫ l n h n b thi tr d n ph n nh đã xét v i b, l u s ớ ơ ừ ầ ở ầ ỏ ớ ư ố l n tr đ c vào bi n tam. Đó là k t qu m i ch s ầ ừ ượ ế ế ả ỗ ữ ố trong th ng m i l n chia. M ng du = ph n nh .ươ ở ỗ ầ ả ầ ỏ 10 [...]...2.4 Phép Chia + Thêm vào c giá trị của tam + Loại bỏ hết chữ số từ a[0] đến a[i] Sau đó ghép mảng du vào trước mảng a + Đặt lại i=0 du=“”, tam=0 - Bước 2: Kiểm tra và xóa các chữ số 0 vô nghĩa ở số dư và cho ra mảng kết quả c 11 3 Chương Trình Demo 12 13 . ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đề tài: Vấn Đề Tính Toán Với Các Số Lớn Môn h c: M t Mã và An Toàn D Li u Giáo viên h  ng d n: PGS.TS Tr nh Nh t Ti n Ng. t s bài toán liên quan t i vi c tính toán v i ộ ố ớ ệ ớ các s l n th ng g p là:ố ớ ườ ặ - Ki m tra tính nguyên t c a m t s l nể ố ủ ộ ố ớ - Khai căn b c hai c a s l nậ ủ ố ớ - V n đ tính lũy. n a và bử ữ ệ ớ ố ớ - Th c hi n các phép toán: c ng , tr , nhân, chia.ự ệ ộ ừ 4 2. T t ng th c hi nư ưở ự ệ  Vi c h tr ki u d li u s nguyên và các phép toán ệ ỗ ợ ể ữ ệ ố s h c đ i v i các

Ngày đăng: 25/10/2014, 22:17

TỪ KHÓA LIÊN QUAN

w