1. Trang chủ
  2. » Trung học cơ sở - phổ thông

So do chu ki RaBin

20 2 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 20
Dung lượng 432,2 KB

Nội dung

Như sơ đồ chữ kí RSA dựa trên hệ mật mã RSA, sơ đồ chữ kí Elgamal dựa trên hệ mã Elgamal… Và sơ đồ chữ kí Rabin cũng không ngoại lệ, nó được dựa trên nên tảng của hệ mật mã công khai [r]

(1)

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 

BÀI TẬP LỚN

MÔN: AN NINH MẠNG

Đề bài: SƠ ĐỒ CHỮ KÝ RABIN

Giảng viên: Nguyễn Đức Bình Sinh Viên:

1.Nguyễn Xuân Trường 2.Lương Thu Hướng

(2)

Phần 1: Giới thiệu

Con người sử dụng hợp đồng dạng điện tử từ 100 năm với việc sử dụng mã Morse điện tín Vào năm 1889, tịa án tối cao bang New Hampshire (Hoa kỳ) phê chuẩn tính hiệu lực chữ ký điện tử Tuy nhiên, với phát triển khoa học kỹ thuật gần chữ ký điện tử vào sống cách rộng rãi

Vào thập kỷ 1980, công ty số cá nhân bắt đầu sử dụng máy fax để truyền tài liệu quan trọng Mặc dù chữ ký tài liệu thể giấy trình truyền nhận chúng hồn tồn dựa tín hiệu điện tử

Hiện nay, chữ ký điện tử bao hàm cam kết gửi email, nhập số định dạng cá nhân (PIN) vào máy ATM, ký bút điện tử với thiết bị hình cảm ứng quầy tính tiền, chấp nhận điều khoản người dùng (EULA) cài đặt phần mềm máy tính, ký hợp đồng điện tử online…

(3)

Phần Sơ đồ chữ kí Rabin 2.1) Sơ đồ chữ kí Rabin

Một sơ đồ chữ ký số ( P, A, K, S, V) thoả mãn điều kiện sau : P: tập hữu hạn điện có thể.(P∊Qn)

A: tập hữu hạn chữ ký (A∊Zn)

K: tập hữu hạn khóa, khóa KỴK gồm có phần K=(K’,K’’)

K’=d=(n-p-q+5)/8 bí mật dùng để kí K’’=n cơng khai để kiểm thử chữ kí

n= p.q ,với p q số nguyên tố lớn đồng thời p≡q≡3(mod 4)

Với K=(K’,K’’) tồn thuật tốn kí SigK’ỴS thuật tốn kiểm thử VerK’’Ỵ V xác định sau:

SigK’ (x)=xd mod n

VerK’’(x,y)=  x≡y2 mod n

Sơ đồ chữ kí Rabin nêu trên, để dùng thực tế, muốn tập văn P không hạn chế Qn mà khơng gian rộng Zn Ta phải sử dụng them hàm R để chuyển xỴP giá trị m gần với thặng dư bậc theo mod n (a thặng dư bậc hai modulo p — nghĩa tồn số nguyên k cho k2 ≡ a (mod p))

2.1.1) Ta có bổ đề :

Giả sử p q số nguyên tố khác đồng dư với theo mod n=p.q,

ta có :

- Nếu gcd(x,n)=1 x(p-1)(q-1)/2≡1 mod n

- Nếu x∊Qn x(n-p-q+5)/8 mod n bậc x theo mod n - Nếu x số nguyên có (x/n)=1 d=(n-p-q+5)/8 :

x x∊Qn x2d mod n = n-x x Q∉

(4)

- Nếu p≠q mod (2/n)=-1 nên nhân số nguyên x với 2-1 mod n đảo ngược kí hiệu Jacobi x

2.2) Sơ đồ chữ kí Rabin sửa đổi:

Với p,q hai số ngun tố có tính chất : p≡3 mod 8, q≡7 mod p.q=n Xác định cặp khóa K=(K’,K’’) với K’=n, K’’=(p,q), d=(n-p-q+5)/8

A có khóa K=(K’,K’’) tạo chữ kí văn x (x∊Zn, x≤(n-6)/16) theo bước:

- Tính m=R(x)=16x+6 - Tính kí hiệu Jacobi=(m/n)

Nếu J=1 tính S=md mod n Nếu J=-1 S=(m/2)d mod - S chữ kí A x

2.3) Kiểm thử:

Việc kiểm thử chữ kí S A cách dùng khóa cơng khai n thực theo bước sau :

- Tính m’ = S2 mod n

- Chọn m theo trường hợp Nếu m’ = mod m=m’ Nếu m’= mod m=2m’ Nếu m’= mod m=n-m’ Nếu m’=2 mod m=2(n-m’) - Thử điều kiện m=6 mod 16

Nếu sai bác bỏ chữ kí

(5)

2.4) Cài đặt thuật toán

#include<stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h>

long int p,s,q,b,a,p_n,n,m,x; long int kiemtra(long int x) {

int kt=1;

if(x<=2) return 1; else

for(long int i=2;i<ceil(sqrt(x));i++) { if(x%i==0) { kt=0; goto X; } } X:return kt; }

long int tinhmu(long int x1,long int x2,long int x3) {

long int t=x1%x3;

for(long int i=1;i<=x2-1;i++) t=(t*(x1%x3))%x3;

return t; }

long int nghichdao(long int x1,long int x2) {

long int kt=0;

(6)

if(i*x1%x2==1) { kt=i; goto X; } } X:return kt; }

long int gcd(long int x1,long int x2) {

if(x1==x2) return x1; else

{

if(x1>x2)return gcd(x1-x2,x2); else return gcd(x1,x2-x1); }

}

long int songuyento(long int x1,long int x2) {

long int tg=0;

for(int i=x1;i<x2;i++) if((kiemtra(i)==1)&&(i%8==3)) { tg=i;goto X1; } X1:return tg; }

long int songuyento1(long int x1,long int x2) {

long int tg=0;

(7)

void hotro() {

long int x1,x2; int ch;

char c,c1;

printf("Su dung CT ho tro tim so nguyen to(Y/N)?"); c=getch();

while(c=='y') {

printf("\n****Ho tro****\n"); printf("1.Tim so nguyen to p\n"); printf("2.Tim so nguyen to q\n"); printf("3.Thoat\n");

printf("Moi ban chon:");scanf("%d",&ch); switch(ch)

{ case 1: {

printf("Nhap can duoi:");scanf("%ld",&x1); printf("Nhap can tren:");scanf("%ld",&x2); p=songuyento(x1,x2);

printf("Ket qua p=%ld ",p); }break;

case 2: {

printf("Nhap can duoi:");scanf("%ld",&x1); printf("Nhap can tren:");scanf("%ld",&x2); q=songuyento1(x1,x2);

printf("Ket qua q=%ld",q); }break; case 3:break; } if(ch==3)break; } ; if(c!='y') { {

printf("\nNhap so p:");scanf("%ld",&p); printf("\nNhap so q:");scanf("%ld",&q);

(8)

} n=p*q;

printf("nhap x cho x<=%d ",(n-6)/16); scanf("%ld",&x);

}

void ky(long int p,long int q)

{ int j;

//n=p*q;

p_n=(p-1)*(q-1); int d=(n-p-q+5)/8;

if(x<=(n-6)/16) {

m=16*x+6;

if(p!=q%8) j=1; if(p==q%8) j=-1; if(j==1)

//s =tinhmu(m,nghichdao(d,p_n),n); s=tinhmu(m,d,n);

if(j==-1)

// s=tinhmu(m/2,nghichdao(d,p_n),n); s=tinhmu(m/2,d,n);

printf("Chu ký :%d \n",s);

} else

{ printf("x ko thoa man !!");

printf(" Không thê thuc hiên ký:!!!\n"); }

(9)

long int kiemthu(long int m,long int n) { // long int x;

int m1=tinhmu(s,2,n); if(m1%8==6) m=m1; if(m1%8==3) m=2*m1; if(m1%8==7) m=n-m1; if(m%8==2) m=2*(n-m1); if(m%16==6) { x=(m-6)/16; return x; } else return 0; } void main() { long int m,n; // clrscr();

printf(" SO DO CHU KY RABIN\n "); int ch;

while(1) {

printf(" Nhap\n"); printf(" tien hanh ky\n"); printf(" Kiem thu \n"); printf(" 0.thoat\n");

printf(" Moi ban chon cac chuc nang\n"); scanf("%d",&ch) ;

switch(ch) {

(10)

break; case 2: //strtoint(s)

ky(p,q); break; case 3: s=kiemthu(m,n);

if(s==0)

printf("Xin vui long thong bao chu ky bi sai!! "); else printf("%ld",s);

//inttostr(s)); break; case 0: exit(0); }

}

// getch(); }

3. Sử dụng

(11)

Nhập số p:

(12)

Nhập x :

(13)

Phần Ứng dụng đánh giá 3.1) Ứng dụng

Hiện có nhiều dịch vụ bảo mật chữ ký số dịch vụ có vai trị trọng mong muốn sử dụng nhiều trình ứng dụng: - Tính bảo mật: Thơng tin lưu trữ dạng bí mật mà bên khơng ủy quyền xem

- Tính tồn vẹn: Các tin nhắn đảm bảo khơng bị chỉnh sửa trình truyền tải

- Chứng thực tin nhắn: Người gửi tin nhắn xác thực Một thuật ngữ khác thay cho thuật ngữ chứng thực nguồn gốc liệu

- Chống phủ nhận: Người gửi tin nhắn phủ nhận việc tạo tin nhắn

Các trình ứng dụng khác đòi hỏi dịch vụ bảo mật khác Ví dụ, e-mail cá nhân, có ba chức nêu mong muốn, hệ thống e-mail doanh nghiệp yêu cầu chức chống phủ nhận

Một ví dụ khác, muốn bảo vệ an toàn cho cập nhật phần mềm điện thoại di động mục tiêu tính tồn vẹn chứng thực tin nhắn nhà sản xuất chủ yếu muốn đảm bảo có cập nhật gốc tải thiết bị cầm tay

Đối với tính bảo mật, thuật tốn mã hóa đối xứng sử dụng chủ yếu cịn thuật tốn mã hóa bất đối xứng dùng

Để có chức đảm bảo tính tồn vẹn chứng thực tin nhắn, sử dụng chữ ký số mã xác thực tin nhắn (viết tắt MAC)

Ngoài bốn dịch vụ bảo mật nêu có nhiều dịch vụ khác như: - Chứng thực nhận dạng/ thực thể: Thiết lập xác minh đặc điểm nhận dạng thực thể người, máy vi tính hay thẻ tín dụng

- Kiểm soát truy cập: Hạn chế việc truy cập vào nguồn tài nguyên thực thể đặc quyền

- Tính khả dụng: Đảo bảo cho hệ thống điện tử sử dụng cách đáng tin cậy

- Kiểm toán: Cung cấp chứng hoạt động có liên quan đến vấn đề bảo mật việc giữ lại ghi kiện định - Bảo mật vật lý: Cung cấp chức bảo vệ chống lại việc làm giả vật chất và/hoặc ứng phó với hành động cố làm giả vật chất

- Nặc danh: Cung cấp chức bảo vệ chống lại việc khai thác lạm dụng đặc điểm nhận dạng

3.2) Đánh giá

Hệ Rabin xây dựng việc lấy N=p×q làm bí mật N coi khố cơng khai (PK) cịn (p,q) khố bí mật (SK)

Mã hoá việc thực hiện: Y=X2 (mod N)

(14)

Có thể thấy, biết N=p×q dễ dàng tìm nghiệm cho phương trình này, cịn khơng việc tìm nghiệm khó tương đương với tốn phân tích thừa số số N

Khi biết N=p×q (*) giải có bốn nghiệm, để xác định đâu TIN gốc phải có mẹo để chọn số nghiệm Hệ Rabin có số ưu, nhược điểm so với RSA:

- Ưu điểm:

 Tính an tồn chứng minh hồn tồn tương đương với

bài tốn phân tích thừa số ngun tố lớn, nói cách khác tính an tồn bảo mật Rabin chứng minh

 Ngoại trừ trường hợp RSA hoạt động với e nhỏ cịn thuật

tốn sinh mã Rabin nhanh nhiều so với RSA hệ địi hỏi phải tính luỹ thừa Thời gian giải mã tương đương

- Nhược điểm: Vì phương trình giải mã cho nghiệm nên làm khó dễ việc giải mã Thông thường, TIN trước mã hố cần nối thêm vào chuỗi số xác định để làm dấu vết nhận dạng (chẳng hạn nối thêm 20 số – số nghiệm giải ra, chuỗi tận 20 TIN cần nhận)

(15)

Phụ lục

1) Kí hiệu Jacobi a) Định nghĩa

Ký hiệu Jacobi sử dụng dạng phân tích tiêu chuẩn số đứng Nó định nghĩa sau:

Giả sử n > số tự nhiên lẻ dạng phân tích tiêu chuẩn n

Với số nguyên a bất kỳ, ký hiệu Jacobi tất ký hiệu bên vế phải Ký hiệu Legendre

b) Các tính chất ký hiệu Jacobi

Các tính chất sau thường dùng để tính nhanh ký hiệu Jacobi:

1 Nếu n số nguyên tố thìký hiệu Jacobi ký hiệu Legendre

2

3

4

5 Điều dẫn tới với số nguyên a số tự nhiên lẻ n

6 Nếu ab (mod n),

7

8

(16)

10 m vàd n số tự nhiên lẻ

Tính chất sau thường biết với tên giống ký hiệu Legendre: luật thuận nghịch bình phương

*) Lưu ý

Có hai tính chất với ký hiệu Legendre mở rộng cho ký hiệu Jacobi

Thứ nhất, a khơng thặng dư bậc hai n a khơng thặng dư bậc hai số thừa số n Tuy nhiên, ngược lại a chưa chắn thặng dư bậc hai n Bởi ký hiệu Jacobi tích ký hiệu Legendre, nên có hai ký hiệu Legendre −1 ký hiệu Jacobi

Tính chất thứ hai mở rộng gắn với đồng dư thức Euler mod p với số nguyên tố p số nguyên a Một cách tự nhiên đồng dư thức Euler mở rộng từ ký hiệu Legendre sang ký hiệu Jacobi là: mod n với hợp số lẻ dương n Tuy nhiên đồng dư thức sai với nửa a mod n n hợp số Tỷ lệ sở thuật tốn kiểm tra Solovay-Strassen kiểm tra tính nguyên tố theo xác suất Ví dụ

2) Kí hiệu Legendre a) Định nghĩa

Ký hiệu Legendre định nghĩa sau:

Nếu p số nguyên tố a số tự nhiên, kí hiệu Legendre là:

p chia hết a;,

a thặng dư bậc hai modulo p — nghĩa tồn số nguyên k

cho k2 ≡ a (mod p);

 −1 a khơng bình phương modulo p

(17)

Các tính chất sau thường sử dụng để tính nhanh ký hiệu Legendre:

1 (Nó hàm có tính chất nhân đối số

2 Nếu ab (mod p),

3

4

5

6 Với số nguyên tố lẻ p bất kỳ,

7 Với số nguyên tố lẻ p bất kỳ,

8 Với số nguyên tố lẻ p bất kỳ,

9 Nếu p q số nguyên tố lẻ

Tính chất sau thường gọi luật thuận nghịch bình phương Ký hiệu Legendre sử dụng tiêu chuẩn Euler Euler chứng minh

Ví dụ

(18)

Tài liệu tham khảo

[1]-Giáo trình mơn “An tồn bảo mật thông tin”, Nguyễn Văn Tảo-Hà Thị Thanh- Nguyễn Lan Oanh, trường ĐH Công Nghệ Thông Tin Truyền Thông

(19)

Mục lục

I) Giới thiệu……….2

II) Sơ đồ chữ kí Rabin………

1 Sơ đồ chữ kí Rabin………3

2 Sơ đồ chữ kí Rabin sửa đổi………4

3 Kiểm thử ………

4 Cài đặt thuật toán………

5 Sử dụng……….11

6 Ứng dụng ……… ……… 13

7 Đánh giá ……… 13

Phụ lục Kí hiệu Jacobi………15

(20) thặng dư bậc hai dạng phân tích tiêu chuẩn Ký hiệu Legendre luật thuận kiểm tra Solovay-Strassen số nguyên tố số tự nhiên hàm có tính chất nhân tiêu chuẩn Euler Euler

Ngày đăng: 24/05/2021, 04:58

w