1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố

81 538 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 81
Dung lượng 2,26 MB

Nội dung

Chương 7 MẬT MÃ KHÓA ĐỐI XỨNG 7.1 Lý thuyết cơ bản của Shannon Nhiều người cho rằng kỷ nguyên của mật mã học hiện đại được bắt đầu với Claude Shannon, người được coi là cha đẻ của mật mã toán học. Năm 1949 ông đã công bố bài Lý thuyết về truyền thông trong các hệ thống bảo mật (Communication Theory of Secrecy Systems) trên tập san Bell System Technical Journal - Tập san kỹ thuật của hệ thống Bell - một thời gian ngắn sau đó, trong cuốn Mathematical Theory of Communication - Lý thuyết toán học trong truyền thông - cùng với tác giả Warren Weaver. Những công trình này, cùng với những công trình nghiên cứu khác của ông về lý thuyết về tin học truyền thông (information and communication theory), đã thiết lập một nền tảng lý thuyết cơ bản cho mật mã học thám mã học. Với ảnh hưởng đó, mật mã học hầu như bị thâu tóm bởi các cơ quan truyền thông mật của chính phủ, chẳng hạn như NSA, biến mất khỏi tầm hiểu biết của công chúng. Rất ít các công trình được tiếp tục công bố, cho đến thời kỳ giữa thập niên 1970, khi mọi sự được thay đổi. Claude Shannon xem xét mô hình 7.1, ở đây nguồn bản tin sinh ra bản rõ X, nguồn khóa tạo ra khóa K, khóa K được truyền qua kênh mật từ nơi truyền đến nơi nhận. Quá trình mã hóa biến đổi bản rõ X nhờ khóa thành bản mã Y: )(XF K . Quá trình giải mã, biến đổi bản mã nhận được Y thành bản rõ X cũng nhờ khóa K: )( 1 YFX K − = . Tội phạm (hay thám mã) sẽ tìm cách nhận được bản rõ khóa trên cơ sỡ bản mã. Claude Shannon xem xét các câu hỏi lý thuyết thực hành mật. Để nhận được lý thuyết mật Shannon hình thành các câu hỏi sau: 1. Hệ thống ổn định ở mức độ nào, nếu như thám mã không giới hạn thời gian có tất cả các thiết bị cần thiết đối với việc phân tích bản mã? 2. Bản mã liệu có một nghiệm duy nhất hay không? 3. Với lượng thông tin bản mã bao nhiêu mà thám mã cần thu nhặt để nghiệm trở nên duy nhất? Để trả lời câu hỏi của Shannon chúng ta đưa vào định nghĩa “tuyệt mật” với sự hổ trợ các điều kiện sau: Bản mã thu được không đêm đến cho thám mã bất kỳ thông tin nào. Theo định lý Bayes )(/)()()( YPYPXPXP XY = Hình 7.1. Mô hình truyền tin Shannon Với P(X) là xác suất xuất hiện bản tin X; )(YP X xác suất điều kiện, xuất hiện bản mã Y với điều kiện bản tin X đã được chọn, có nghĩa là tổng xác suất của tất cả các khóa, mà các khóa này chuyển bản tin X tương ứng với bản mã Y; P(Y)-xác suất nhận được bản mã Y; )(XP Y là xác suất nhận được bản rõ X với điều kiện nhặt được bản mã Y. Để “tuyệt mật” thì giá trị của )(XP Y )(XP cần phải bằng nhau với tất cả giá trị của X Y. Để chống lại phương pháp phân tích thống kê bản mã (đây là một cách thám mã) Shannon đề ra hai phương pháp: khuyết tán pha trộn. Định nghĩa Entropy thông tin. Entropy thông tin mô tả mức độ hỗn loạn trong một tín hiệu lấy từ một sự kiện ngẫu nhiên. Nói cách khác, entropy cũng chỉ ra có bao nhiêu thông tin trong tín hiệu, với thông tin là các phần không hỗn loạn ngẫu nhiên của tín hiệu. Lý thuyết về thông tin sẽ trình bày đầy đủ hơn về Entropy, ở đây chúng tôi chỉ đưa ra cái cơ bản. Claude E. Shannon đã xây dựng định nghĩa về entropy để thoả mãn các giả định sau: 1. Entropy phải tỷ lệ thuận liên tục với các xác suất xuất hiện của các phần tử ngẫu nhiên trong tín hiệu. Thay đổi nhỏ trong xác suất phải dẫn đến thay đổi nhỏ trong entropy. 2. Nếu các phần tử ngẫu nhiên đều có xác suất xuất hiện bằng nhau, việc tăng số lượng phần tử ngẫu nhiên phải làm tăng entropy. Nguồn khóa Nguồn bản tin Mã hóa Giải mã Nhận bản tin Tội phạm K K’ X’ X Y X K 3. Có thể tạo các chuỗi tín hiệu theo nhiều bước, entropy tổng cộng phải bằng tổng có trọng số của entropy của từng bước. Shannon cũng chỉ ra rằng bất cứ định nghĩa nào của entropy, cho một tín hiệu có thể nhận các giá trị rời rạc, thoả mãn các giả định của ông thì đều có dạng: ∑ = − n i ipipK 1 )(log)( Với K là một hằng số, chỉ phụ thuộc vào đơn vị đo; n là tổng số các giá trị có thể nhận của tín hiệu; i là giá trị rời rạc thứ i; p(i) là xác suất xuất hiện của giá trị i; Nếu một sự kiện ngẫu nhiên rời rạc x, có thể nhận các giá trị là 1 n, thì entropy của nó là: ∑ = −= n i ipipxH 1 2 )(log)()( , với p(i) là xác suất xảy ra của giá trị i. Entropy thông tin trong trường hợp phần tử tín hiệu ngẫu nhiên rời rạc còn được gọi là entropy Shannon. 7.2 Định nghĩa mật mã đối xứng Định nghĩa. Mật mã đối xứng là hệ mật mà quá trình mã hóa quá trình giải mã dùng chung một khóa mật, việc bảo mật bản tin phụ thuộc vào quá trình lưu khóa mật. đồ tổng quát của hệ mã đối xứng được miêu tả ở hình 7.2. Hình 7.2. đồ mật mã đối xứng Bản tin nguồn (X) Quá trình mã hóa Bản mã Y truyền qua kênh Quá trình giải mã (X=) Bản tin giải mã X Khóa mật (K) khóakhóa Tạo ra khóa mật ở đây bản tin nguồn X là thông tin cần mã để bảo mật, trước khi chuyển đến nơi nhận nó phải được mã hóa bằng hàm mã hóa E, hàm mã hóa E là tổng hợp các phép biến đổi với sự tham gia của khóa mật K; qua biến đổi của hàm E chúng ta thu được bản mã Y; bản mã Y truyền qua kênh thông tin đến nơi người cần nhận, ở nơi nhận với sự giúp đở của quá trình giải mã khóa mật K, sẽ giải bản mã Y thành bản tin X ban đầu. Chú ý, nếu như khóa K không đúng, hoặc bản mã Y bị biến đổi trong quá trình truyền thì quá trình giải mã không thể thu được bản tin ban đầu X. Như đã nói, mật mã đối xứng được chia ra làm hai phần, mật mã khối mật mã dòng. Chúng ta xem định nghĩa về chúng. Định nghĩa mật mã khối. Mã khối là tổ hợp lệnh toán học (hoán vị, thay thế,…) biến đổi dãy N bit N N Fxxxx )2(), ,,( 21 ∈= thành một dãy N bit N N Fyyyy )2(), ,,( 21 ∈= với sự tham gia của khóa mật k từ không gian khóa K, có thể viết dưới dạng ),( kxFy = , ở đây F là hàm mã hóa hay giải mã. Định nghĩa mã dòng. Là một hệ mã đối xứng, trong đó từng tự của bản rõ được biến đổi thành tự của bản mã phụ thuộc không chỉ vào khóa sử dụng mà còn vào vị trí của nó trong bản rõ. Mã khối thì chia bản rõ ra các khối bằng nhau rồi thực hiện mã, nên sẽ có một số khối giống nhau mã cùng một khóa, ở mã dòng thì không như vậy. 7.3 Các lệnh dùng để xây dựng thuật toán mật mã đối xứng Hầu như tất cả các hệ mật đối xứng đảm bảo bảo mật thông tin thường được xây dựng trên cơ sở các lệnh cơ sở sau: 7.3.1 Lệnh hoán đổi Định nghĩa. Đây là phương pháp biến đổi mật mã đơn giản, là một phép hoán đổi các vị trí của các kí tự trong bản rõ theo một quy luật nào đó. Chúng ta có thể biểu diễn chúng bằng toán học như sau: Hoán đổi π của tập hữu hạn Ω , với Ω gồm n phần tử, là một đơn ánh từ tập Ω vào tập Ω , { } n, ,2,1=Ω , lệnh hoán đổi π có dạng sau:         = n n δ α δδ αα π 21 21 , ở đây hang đầu tiên là vị trí tự của bản rõ, hang thứ 2 là các vị trí mà tự ban đầu cần hoán đổi tương ứng, { } jijiii n ααδδαδ ≠≠∈ ,(, ,2,1, khi ji ≠ ), tức là vị trí thứ 1 α đổi cho vị trí thứ 1 δ , vị trí thứ 2 α đổi cho vị trí thứ 2 δ tương tự như thế. Giá trị n gọi là chiều dài hoán đổi. Ví dụ:         = 41 43 32 21 π . Tập hợp tất cả các lệnh hoán đổi π hiệu là n π , rõ ràng rằng !n n = π . Có nhiều cách biểu diễn lệnh hoán vị. Ví dụ như từ ví dụ trên ta có các cách biểu diễn sau: )4)(1,3,2()4)(3,2,1( == π . Chúng ta thấy lệnh hoán đổi như một hàm, tham số của nó là số nguyên, hàm này có thể hiệu )( i απ ,với { } ni ii , ,2,1,)( ∈∀= δαπ . Tiêu chuẩn xây dựng nên lệnh hoán đổi: Chúng ta phải xây dựng lệnh hoán đổi sao cho đạt được độ phát tán tốt, nhằm tăng hiệu ứng thác lũ. 7.3.2 Lệnh thay thế. Định nghĩa.Trong mật mã, lệnh thay thế có thể hiểu là một qúa trình thay một số phần tử này bằng một số phần tử khác, hay nói cách khác là thay thế một tự hay một nhóm tự của bản tin bằng một tự hay một nhóm tự khác. Theo toán học thì chúng ta có thể định nghĩa như sau: Lệnh thay thế S là một ánh xạ s: ' ΩΩ  , với ',ΩΩ là tập hữu hạn với Ω∈∀ ω , tồn tại duy nhất một phần tử )(':'' ωωω S=Ω∈ . Đối với { } n ωωω , ,, 21 =Ω lệnh hoán đổi có dạng:         = '' 2 ' 1 21 n n S ω ω ωω ωω , Với ', ,, '' 2 ' 1 Ω∈ n ωωω . Các giá trị '' 2 ' 1 , ,, n ωωω không bắt buộc là khác nhau. Ví dụ lệnh thay thế 2 bit này thành 2 bít khác:         = 21 43 43 21 S Tuy nhiên một số phép thay thế có thể biểu diễn ở dạng khác như đồ thị, dùng hàm số…vv. Tiêu chí để xây dựng nên lệnh thay thế: Khi sử dụng lệnh thay thế phải có được các tính chất: Bậc đại số cao, có độ phi tuyến tính lớn, tạo ra tính tính pha trộn bít phát tán bít tốt. 7.3.3 Mạng hoán vị thay thế Kết hợp lệnh hoán vị lệnh thay thế, có thể xây dựng nên mạng hoán vị thay thế. Đây là cấu trúc xen kẻ nhiều lớp mỗi lớp kết hợp phép thay thế phép hoán vị. Với mạng thay thế hoán vị, có thể tạo cho thuật toán có độ phân tán vào xáo trộn rất tố. Chúng ta tìm ví dụ mạng hoán vị thay thế được miêu tả ở hình 7.3, đầu vào là 32 bít qua mạng chuyển vị 4 lớp, mỗi lớp gồm 8 bảng thay thế 4 bít cho 4 bít, các bảng này có thể khác nhau, sau phép thế là phép hoán vị. S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 S_4/4 Hình 7.3.Mạng hoán vị thay thế S_BOX 32/22 Để tạo ra mạng hoán vị, chúng ta cần tính toán đến hiệu quả thác lũ để chọn ra cách xây dựng như ý. 7.3.4 Lệnh Gamma dành cho mã dòng Nguyên lý cơ bản của mã dòng là tạo ra chuỗi khóa, cũng thường hay gọi là tạo ra khóa dòng hay khóa dịch hay gamma được cho bằng chuỗi bít i kkk , ,, 21 … Chuỗi bít này sẽ cộng với chuỗi bít bản rõ , , ,, 21 i ppp để nhận được chuỗi bản mã: iii kpc ⊕= Ở bên nhận bản mã sẽ cộng bản mã với cùng chuỗi khóa đó để khôi phục lại bản mã ban đầu: iiiiii pkkpkc =⊕⊕=⊕ Sự vững chắc của hệ mã phụ thuộc hoàn toàn vào cấu trúc bên trong sinh ra chuỗi khóa. Nếu việc sinh ra không tạo ra chuỗi với chu kỳ lớn thì hệ sẽ không vững chắc. Có thể biểu diễn bằng đồ sau quá trình giải mã tương ứng ở hình 7.4 7.5. Hình 7.4. Quá trình mã hóa gamma Hình 7.5. Quá trình giải mã gamma Độ an toàn khi dùng lệnh gamma. Claude Shannon đã chứng minh rằng mã bằng lệnh gamma là tuyệt đối an toàn. Chứng minh của Shannon: Giả sử X Y là giá trị ngẫu nhiên rời rạc. X là giá trị ngẫu nhiên đối với bản rõ, Y là giá trị ngẫu nhiên đối với gamma, khi đó luật phân bố X sẽ là X 0 1 i P p 1-p Luật phân bố Y là Y 0 1 i P 1/2 1/2 ở đây i P là xác suất gặp X, hoặc Y. Ở đây chúng thấy trong số gamma thì xác suất gặp 0 1 là như nhau. Z là giá trị ngẫu nhiên rời rạc cho bản mã. Từ hình chúng ta thấy rằng Z=X+Y (mod 2). Chúng ta đi tính xác suất gặp 0 1 trong định luật phân bố Z: Chúng ta dùng: 1) )()()( BPAPBAP +=+ , nếu như A B không giao nhau 2) )(*)()*( BPAPBAP = , nếu như A B độc lập Chúng ta có: P(Z=0) = P(X=0,Y=0)+P(X=1,Y=1) = = P(X=0)*P(Y=0)+P(X=1)*P(Y=1) =p*1/2+(1-p)*1/2 = 1/2 . i p i k Bản rõ gamma Bản mã i c i c i k Bản mã gamma Bản rõ i p Nên P(Z=1) = 1-P(Z=0) = ½. Điều này chúng ta thấy luật phân bố Z là đối xứng, có nghĩa là chúng ta nhận được gamma hoặc là nhiễu (tức là Z không bao gồm một thông tin nào từ X) nên mã tuyệt đối an toàn. Cách chọn gamma: 1) Đối với từng trường hợp dùng gamma khác nhau; 2) Để tạo ra gamma dùng phương pháp tạo số ngẫu nhiên; 3) Gamma phải dài tương ứng với bản mã; 4) Lựa chọn gamma một cách thông minh để thám mã khó mò. Mã dòng rất hữu ích đối với mã dòng dữ liệu liên tục, ví dụ trong mạng truyền tải dữ liệu. 7.4 Một số đồ dùng để thiết kế hệ mật 7.4.1 Mạng Feistel các kiểu biến dạng của nó Một trong các phương pháp thông dụng tạo ra mã khối là dựa trên cấu trúc có tên là Feistel được Horst Feisel tạo ra. Cấu trúc một vòng của mạng Feistel biểu diễn hình 7.6. Hình 7.6. đồ 1 vòng Feistel Trong đồ này thì hàm F là hàm cơ bản để xây nên khối mạng Feistel, nó luôn được chọn là hàm phi tuyến tính trong tất cả các trường hợp nó không có hàm ngược. Hàm F có hai thám số, một là nữa khối bên phải tham số còn lại là khóa. R F(R,K) L’=R R’=F(R,K) K R Giả sử X là khối bản tin, biểu diễn dưới dạng hai khối con có độ dài như nhau { } RLX ,= . Lúc này một vòng của mạng có thể biều diễn như sau, giả sử sau i vòng ta thu được { } iii RLX ,= , thì vòng thứ i+1 sẽ là: { } iiiii LKRFRX ⊕= + ),(, 1 . Mã khối xây dựng trên cơ sở mạng Feistel có r vòng như thế, số vòng này xác định độ an toàn của hệ mã, vòng cuối cùng không thực hiện hoán đổi giữa khối con bên phải khối con bên trái, tức là { } 1111 ,),( −−−− ⊕= rrrrr RLKRFX , Việc làm này không ảnh hưởng đến độ an toàn của thuật toán mã, mà nó sẽ làm cho quá trình mã hóa giải mã là hai quá trình thuận nghịch nhau, tức là sau khi mã chúng ta thu được r X , để giải mã, chúng ta dung đúng thuật toán mã hóa, tham số của thuật toán bây giờ là khối dữ liệu là r X thực hiện r vòng với đảo thứ tự các khóa con ngược với quá trình mã hóa, chúng ta thu được bản tin ban đầu. Ưu nhược điểm khi thực hiện mã khối trên cơ sở mạng Feistel. Ưu điểm. 1. Quá trình mã hóa giải mã trùng nhau, chỉ khác nhau ở thứ tự khóa con, điều này sẽ tiết kiệm được nữa tài nguyên khi thực hiện thuật toán trên phần cứng. 2. Hàm F có thể chọn với độ khó bất kỳ, vì không phải tìm hàm nghịch. Nhược điểm. 1. Vì mỗi vòng mã chỉ thực hiện biến đổi nữa khối dữ liệu, nên cần số vong mã hóa lớn để đảm bảo độ an toàn của hệ mật, điều này làm giảm đáng kể tốc độ mã. 2. Ngoài ra xây dựng trên cơ sở mạng Feistel tồn tại lớp khóa tương đương, nên làm không gian khóa giảm đi một nữa. Ngoài ra chúng ta thấy nếu xây dựng một mã khối có kích cở lớn thì dùng mạng Feistel với hai nhánh ở trên không thuận lợi, lúc này chúng ta dùng mạng Feistel 4 nhánh với các kiểu của nó biểu diễn ở hình 7.7, 7.8 7.9. Hình 7.7. Cấu trúc mở rộng mạng Feistel loại 2 Hình 7.8. Cấu trúc mở rộng mạng Feistel loại 3 2 X 3 X 4 X F K 2 X 3 X 4 X F K 2 X 3 X 4 X F K [...]... bước 8, nếu cần có thể lặp lại cả bước 4 10 Thực hiện kiểm tra thống kê các thì nghiệm đặc biệt Trên bước này thực hiện chương trình thuật toán của hệ mật hoặc thực hiện chúng trên phần cứng tiến hành kiểm tra thống kê các thí nghiệm đặc biệt, lập quy hoạch kết quả phân tích để kiểm tra toàn diện tương ứng với lý thuyết Ngoài ra việc kiểm tra hệ mật cũng chú ý đến các khả năng tấn công mới... (R[1]) ^ R[3]) j=j-1 R[1] = R[1] >>> 2 R[1] = R[1] - K[j] - (R[0] ^ R[3]) - (NOT (R[0]) ^ R[2]) j=j-1 R[0] = R[0] >>> 1 R[0] = R[0] - K[j] - (R[3] ^ R[2]) - (NOT(R[3]) ^ R[1]) j=j-1; Mashing round 4 từ R[0], R[1], R[2], R[3] trong quá trình giải mã thực hiện như sau: R[3] = R[3] - K[R[2] & 63]; R[2] = R[2] - K[R[1] & 63]; R[1] = R[1] - K[R[0] & 63]; R[0] = R[0] - K[R[3] & 63]; Quá trình giải mã cũng... , với e = 2 ,71 8281828459, [ ] Qw = Odd ( f − 2).2 w , với f = 0,5.(1 + 5 ) , Cụ thể tính ra như sau, các giá trị của Pw , Qw ở dạng hexa: w 16 32 Pw B7E1 B7E15163 Qw 9E 37 9E 377 9B9 Thuật toán khởi tạo mảng S có thể biểu diễn như sau: 64 B7E151628AED2A6B 9E 377 9B97F4A7C15 S[0] = Pw Với i từ 1 đến t-1 thì thực hiện: S[i] = (S[i-1] + Qw) (mod 2 w ) Bước 2 Khóa chính được lưu trong mảng K[0 b-1] gồm b phần... quả cao 7. 7 Thuật toán chuẩn mã khối Liên Xô GOST 2814 7- 8 9 Đây là thuật toán có cấu trúc khá giống DES nhưng dễ thực hiện hơn, tốc độ mã lớn hơn DES, hiện đang được sử dụng rộng rãi ở Nga Nó mã hóa khối dữ liệu 64 bít, với khóa là 256 bít Đặc biệt thuật toán này dùng khóa mật trực tiếp tham gia vào quá trình mã hóa, mà không sử dụng quá trình mở rộng khóa đồ thuật toán được miêu tả ở hình 7. 15 Bản... theo modulo 2 với nhánh R thực hiến hoán đổi theo mạng Feistel thực hiện vòng biến đổi mới 7. 8 Thuật toán mã khối Blowfish Thuật toán này tuy không thông dụng như DES nhưng đây là thuật toán có độ an toàn cao dễ thực hiện hơn DES, do Bruce Schneier đề xuất năm 1993 Thuật toán này cũng có 16 vòng, và xây dựng trên cơ sỡ đồ Feistel Blowfish mã hóa khối dữ liệu 64 bít, dùng khóa có chiều dài... trình giải mã Quá trình giải mã thực hiện giống như quá trình mã hóa, nhưng các phép toán trong quá trình giải mã thì ngược với quá trình mã hóa Tức là 2 vòng Mixing round Mashing round được viết lại như sau: Mixing round Vòng mixing round có thể biểu diễn dưới dạng công thức sau: R[3] = R[3] - K[j] - (R[2] ^ R[1]) - (NOT (R[2]) ^ R[0]) j=j-1 R[2] = R[2] >>>3 R[2] = R[2] - K[j] - (R[2] ^ R[0]) -. .. 8 khóa con K i cách sử dụng các khóa con Qi , Qi tương ứng với qúa trình mã hóa giải mã được miêu ta trong bảng sau Vòng thứ i Mã hóa Qi 1 K1 K1 Giải mã Q′i Vòng thứ i Mã hóa Qi Giải mã Q′i 12 K4 K5 Vòng thứ i Mã hóa Qi Giải mã Q′i 2 K2 K2 13 K5 K4 23 K7 K2 3 K3 K3 14 K6 K3 24 K8 K1 4 K4 K4 15 K7 K2 25 K1 K8 5 K5 K5 16 K8 K1 26 K2 K7 6 K6 K6 17 K1 K8 27 K3 K6 7 K7 K7 18 K2 K7 28 K4 K5 8 K8 K8... = (((LEi-1 ⊕ REi-1) . tương ứng ở hình 7. 4 và 7. 5. Hình 7. 4. Quá trình mã hóa gamma Hình 7. 5. Quá trình giải mã gamma Độ an toàn khi dùng lệnh gamma. Claude Shannon đã chứng minh rằng mã bằng lệnh gamma là tuyệt đối. biểu diễn ở hình 7. 7, 7. 8 và 7. 9. Hình 7. 7. Cấu trúc mở rộng mạng Feistel loại 2 Hình 7. 8. Cấu trúc mở rộng mạng Feistel loại 3 2 X 3 X 4 X F K 2 X 3 X 4 X F K 2 X 3 X 4 X F K Hình 7. 9. Cấu trúc. 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 IP Bản rõ x 1 k 2 k 16 k 1− IP Bản mã y F F F 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Ở đây ta hiểu là, bit thứ 58

Ngày đăng: 26/04/2014, 20:54

HÌNH ẢNH LIÊN QUAN

Hình 7.1. Mô hình truyền tin Shannon - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.1. Mô hình truyền tin Shannon (Trang 2)
Sơ đồ tổng quát của hệ mã đối xứng được miêu tả ở hình 7.2. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Sơ đồ t ổng quát của hệ mã đối xứng được miêu tả ở hình 7.2 (Trang 3)
Hình 7.3.Mạng hoán vị thay thế S_BOX 32/22 - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.3. Mạng hoán vị thay thế S_BOX 32/22 (Trang 6)
Hình 7.4. Quá trình mã hóa gamma - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.4. Quá trình mã hóa gamma (Trang 7)
Hình 7.6. Sơ đồ 1 vòng Feistel - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.6. Sơ đồ 1 vòng Feistel (Trang 8)
Hình 7.7. Cấu trúc mở rộng mạng Feistel loại 2 - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.7. Cấu trúc mở rộng mạng Feistel loại 2 (Trang 10)
Hình 7.9. Cấu trúc mở rộng mạng Feistel loại 2 - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.9. Cấu trúc mở rộng mạng Feistel loại 2 (Trang 11)
Hình 7.12 Sơ đồ miêu tả hàm F của DES - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.12 Sơ đồ miêu tả hàm F của DES (Trang 16)
Hình 7.13 Sơ đồ sinh khóa DES - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.13 Sơ đồ sinh khóa DES (Trang 19)
Hình 7.15 Sơ đồ thuật toán chuẩn Liên Xô GOST 28147-89 - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.15 Sơ đồ thuật toán chuẩn Liên Xô GOST 28147-89 (Trang 21)
Hình 7.16 Sơ đồ thuật toán Blowfish - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.16 Sơ đồ thuật toán Blowfish (Trang 23)
Hình 7.17. Sơ đồ miêu tả hàm F của Blowfish Thuật toán Blowfish có thể trình bày dưới dạng sau: - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.17. Sơ đồ miêu tả hàm F của Blowfish Thuật toán Blowfish có thể trình bày dưới dạng sau: (Trang 24)
Sơ đồ sinh khóa con được miêu tả ở hình 7.19. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Sơ đồ sinh khóa con được miêu tả ở hình 7.19 (Trang 29)
Hình 7.21. Sơ đồ miêu tả IDEA Vòng thứ 9 của IDEA có cấu trúc được miêu tả trên hình 7.22. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.21. Sơ đồ miêu tả IDEA Vòng thứ 9 của IDEA có cấu trúc được miêu tả trên hình 7.22 (Trang 33)
Hình 7.22 Sơ đồ miêu tả vòng cuối của IDEA Quá trình mã hóa được viết dưới dạng thuật toán sau: - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.22 Sơ đồ miêu tả vòng cuối của IDEA Quá trình mã hóa được viết dưới dạng thuật toán sau: (Trang 33)
Hình 7.23. Sơ đồ thuật toán MARS Giai đoạn trộn tới có 8 vòng, biểu diễn bởi hình 7.24. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.23. Sơ đồ thuật toán MARS Giai đoạn trộn tới có 8 vòng, biểu diễn bởi hình 7.24 (Trang 36)
Hình 7.25. Sơ đồ trộn lùi - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.25. Sơ đồ trộn lùi (Trang 37)
Hình 7.26. Sơ đồ giai đoạn mã tới và mã lùi Hàm mở rộng E được cho như hình 7.27. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.26. Sơ đồ giai đoạn mã tới và mã lùi Hàm mở rộng E được cho như hình 7.27 (Trang 38)
Hình 7.27. Sơ đồ miêu tả hàm mở rộng F - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.27. Sơ đồ miêu tả hàm mở rộng F (Trang 38)
Hình 7.28. Sơ đồ thuật toán RC6 - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.28. Sơ đồ thuật toán RC6 (Trang 47)
Sơ đồ thuật toán mã hóa của Serpent được cho như hình 7.29. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Sơ đồ thu ật toán mã hóa của Serpent được cho như hình 7.29 (Trang 50)
Hình 7.30. Sơ đồ miêu tả qúa trình giải mã của Sepent - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.30. Sơ đồ miêu tả qúa trình giải mã của Sepent (Trang 51)
Hình 7.31. Sơ đồ thuật toán Twofish - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.31. Sơ đồ thuật toán Twofish (Trang 53)
Hình 7.33. Quá trình sinh khóa con - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.33. Quá trình sinh khóa con (Trang 56)
Hình  7.34.  Trong  bước SubstituteBytes, mỗi  byte  trong  state   được   thay  thế  bởi một byte (phần tử 8 bít) của hộp S đóng vai trò là bảng tìm kiếm - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
nh 7.34. Trong bước SubstituteBytes, mỗi byte trong state được thay thế bởi một byte (phần tử 8 bít) của hộp S đóng vai trò là bảng tìm kiếm (Trang 60)
Hình   7.36.   Trong   MixColumns, mỗi  cột  của  state  được  nhân  với một   đa   thức   cố   định   c(x)   theo mod(x 4  + 1) - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
nh 7.36. Trong MixColumns, mỗi cột của state được nhân với một đa thức cố định c(x) theo mod(x 4 + 1) (Trang 60)
Hình   7.37.   Trong   bước AddRoundKey,   mỗi   byte   của   state được kết hợp tương ứng với 1 byte của khóa vòng bằng sử dụng toán tử XOR. - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
nh 7.37. Trong bước AddRoundKey, mỗi byte của state được kết hợp tương ứng với 1 byte của khóa vòng bằng sử dụng toán tử XOR (Trang 61)
Hình 7.39. Chế độ mã CBC - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.39. Chế độ mã CBC (Trang 66)
Hình 7.40. Chế độ mã CFB - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
Hình 7.40. Chế độ mã CFB (Trang 68)
Hình .7.42. Sơ đồ tạo khóa dòng k - Tài liệu Kỹ thuật lập trình - Chương 7 Kiểm tra và xây dựng số nguyên tố
nh 7.42. Sơ đồ tạo khóa dòng k (Trang 80)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w